1. feladat:
Adott egy N×2 -es táblázat ( S(N,2) ), N darab diploid egyed, egy lokusz, két allél (F és S betű), valamint adott ezek gyakorisága (F: P és S: Q=1-P )! Töltsük fel a táblázatot az allélgyakoriságok alapján!
Megoldás:
A feladatban egy N soros, egy soron belül két oszlopos táblázatot kell feltöltenünk. A táblázat egy elemének töltése a következő:
Válasszunk egy véletlenszámot! Ha ez a véletlenszám kisebb, mint az F allél gyakorisága, akkor tegyünk egy F betűt a táblázat elemébe. Ha nem, akkor S betűt kell tennünk oda.
A megoldás algoritmusa a következő:
Feltöltés:
Ciklus i=1-től N-ig
Ciklus j=1-től 2-ig
Ha véletlenszám<P akkor S(i,j):="F" különben S(i,j):="S"
Ciklus vége
Ciklus vége
Eljárás vége.
2. feladat:
Adott egy N×4 -es táblázat ( S(N,4) ), N darab tetraploid egyed, egy lokusz, két allél (F és S), valamint ezek gyakorisága (F: P és S: Q=1-P )! Töltsük fel a táblázatot az allélgyakoriságok alapján!
Megoldás:
Egy N soros, és soronként 4 oszlopos táblázatot kell feltölteni a gyakoriságok alapján. A táblázat egy elemének a töltése az 1. feladat megoldásától annyiban tér el, hogy a táblázat 4 oszlopos, ezért a belső ciklus 4-ig tart.
3. feladat:
Adott egy N×4 -es táblázat ( S(N,4) ), N darab diploid egyed, két lokusz, két-két allél (F,S, illetve M,N), valamint ezek gyakorisága (F: P és S: Q=1-P , M: R és N: 1-R )! Töltsük fel a táblázatot az allél-gyakoriságok alapján!
Megoldás:
A feladat ismét egy N soros, és soronként 4 oszlopos táblázat feltöltése. Az első és a második oszlopot az egyik lokusz allélgyakoriságai alapján töltjük fel, a harmadik és negyedik oszlopot pedig a másik lokusz allélgyakoriságai alapján. Ezzel a feladat megoldását az 1. feladathoz hasonlóan készíthetjük el.
4. feladat:
Adott egy N×2 -es táblázat ( S(N,2) ), N darab diploid egyed, egy lokusz, K darab allél ( A(K) ), s ezek gyakoriságai ( AGy(K) )! Töltsük fel a táblázatot az allélgyakoriságok alapján!
Megoldás:
Egy N soros, soronként 2 oszlopos táblázatot töltünk fel. Ezen belül egy elem töltése a következő lesz:
Válasszunk egy véletlenszámot! Van K darab allél (az A(K) vektorban) és allélgyakoriság (a K elemű AGy() vektor). Az allélgyakoriságok összege 1. Felosztjuk a [0,1) intervallumot K darab részintervallumra (ezt tartalmazza az AGy vektor), és amelyik részintervallumba esik a véletlenszám, annyiadik allélt tesszük be a táblázat elemébe.
Feltöltés:
Ciklus i=1-től N-ig
Ciklus j=1-től 2-ig
X:=véletlenszám; l:=1; P:=AGy(l)
Ciklus amíg X≥P
l:=l+1; P:=P+AGy(l)
Ciklus vége
S(i,j):=A(l)
Ciklus vége
Ciklus vége
Eljárás vége.
1. feladat:
Adott egy N×2 -es táblázat ( S(N,2) ), diploid egyedek, egy lokusz és ebben két allél (F és S betű legyen), valamint a három lehetséges genotípus relatív gyakorisága FF: P1 , az SF: P2 és az SS: P3=1-P1-P2 )! Töltsük fel a táblázatot a genotípus-gyakoriságok alapján!
Megoldás:
A feladatban egy N soros táblázatot kell feltöltenünk. A táblázat egy sorának feltöltése a következő:
Válasszunk egy véletlenszámot! Ha ez a véletlenszám kisebb, mint az FF genotípus gyakorisága, akkor tegyünk F betűket a táblázat adott sorába. Ha nem volt kisebb, akkor, ha kisebb P1+P2 -nél, akkor tegyünk S és F betűt az adott sorba (heterozigóta), egyébként tegyünk S betűket oda!
Feltöltés:
Ciklus i=1-től N-ig
X:=véletlenszám
Ha X<P1 akkor S(i,1):="F"; S(i,2):="F"
különben Ha X<P1+P2 akkor S(i,1):="S"; S(i,2):="F"
különben S(i,1):="S"; S(i,2):="S"
Ciklus vége
Eljárás vége.
2. feladat:
Adott egy N×4 -es táblázat ( S(N,4) ), diploid egyedek, 2 lokusz, 2-2 allél (F és S, illetve A és B betű legyen), valamint a 9 lehetséges genotípus relatív gyakorisága ( P(i) az i . genotípus relatív gyakorisága)! Töltsük fel a táblázatot a genotípus-gyakoriságok alapján!
Megoldás:
A feladatban egy N soros táblázatot kell feltöltenünk. A táblázat egy sorának feltöltése a következő:
Osszuk fel a [0,1) intervallumot a genotípusok relatív gyakoriságainak megfelelő hosszúságú részintervallumokra! Válasszunk egy véletlenszámot! Ha ez a véletlenszám az i . részintervallumba esik, akkor helyezzük el az i . genotípus betűit az adott sorba! A 9 genotípust tároljuk a G(9,4) mátrixban!
Feltöltés:
Ciklus i=1-től N-ig
X:=véletlenszám; k:=1; PP:=P(k)
Ciklus amíg PP<X
k:=k+1; PP:=PP+P(k)
Ciklus vége
S(i,):=G(k,)
Ciklus vége
Eljárás vége.
1. feladat:
Adott egy N×M táblázat ( T(N,M) ), ahova ragadozó (R) és zsákmányállatokat (Z) kell elhelyezni. A ragadozókat RV , a zsákmányokat ZV valószínűséggel minden egyes helyre! A többi hely legyen üres!
Megoldás:
Feltöltés:
Ciklus i=1-től N-ig
Ciklus j=1-től M-ig
X:=véletlenszám
Ha X<RV akkor T(i,j):="R"
különben Ha X<RV+ZV akkor T(i,j):="Z"
különben T(i,j):=" "
Ciklus vége
Ciklus vége
Eljárás vége.
1. feladat:
Adott egy N×2 -es táblázat ( S(N,2) ), N db diploid egyed, egy lokusz, 2 allél. Határozzuk meg táblázatunkban az allélok (F és S) gyakoriságát!
Megoldás:
Használjuk az FGY és az SGY változókat, amelyekben számoljuk az egyes allélokat! A megoldás során végignézzük a táblázat sorait, ezen belül oszlopait, s megnézzük, hogy a konkrét helyen milyen allél található, majd annak a számlálóját növeljük eggyel.
Számlálás:
FGY:=0; SGY:=0
Ciklus i=1-től N-ig
Ciklus j=1-től 2-ig
Ha S(i,j)="F" akkor FGY:=FGY+1
különben SGY:=SGY+1
Ciklus vége
Ciklus vége
Eljárás vége.
2. feladat:
Adott egy N×2 -es táblázat ( S(N,2) ), N db diploid egyed, egy lokusz, 2 allél. Határozzuk meg táblázatunkban a genotípusok (FF, SF és SS) gyakoriságát!
Megoldás:
Használjuk az SZ(3) vektort, amelyben számoljuk az egyes genotípusok gyakoriságát! A megoldás során végignézzük a táblázat sorait, s megszámoljuk, hogy az adott sorban mennyi S allél van, majd a kapott értéknél eggyel nagyobb indexű számlálót növeljük eggyel.
Számlálás:
SZ():=0
Ciklus i=1-től N-ig
j:=1
Ciklus k=1-től 2-ig
Ha S(i,k)="S" akkor j:=j+1
Ciklus vége
SZ(j):=SZ(j)+1
Ciklus vége
Eljárás vége.
3. feladat:
Adott egy N×4 -es táblázat ( S(N,4) ), N db tetraploid egyed, egy lokusz, 2 allél. Határozzuk meg táblázatunkban a genotípusok (FFFF, SFFF,SSFF,SSSF,SSSS) gyakoriságát!
Megoldás:
Abban különbözik az előző feladatétól, hogy itt az S vektort 5 eleműnek definiáljuk, és a belső ciklusban mind a 4 oszlopot végignézve adjuk meg az S allélok számát, majd ebből a fenti módon számolhatunk.
4. feladat:
Adott egy N×2 -es táblázat ( S(N,2) ), N db diploid egyed, egy lokusz, maximum K db allél. Számoljuk meg, hogy a táblázatunkban melyik allél milyen gyakorisággal fordul elő!
Megoldás:
Használni fogunk kettő K elemű táblázatot, A(K) tartalmazza a K db lehetséges allélt, SZ(K) pedig az egyes allélok számát. A számlálást az első feladathoz hasonlóan végezzük el, az aktuális allél sorszámának meghatározása lesz bonyolultabb.
Számlálás:
SZ():=0
Ciklus i=1-től N-ig
Ciklus j=1-től 2-ig
l:=1
Ciklus amíg S(i,j)≠A(l)
l:=l+1
Ciklus vége
SZ(l):=SZ(l)+1
Ciklus vége
Ciklus vége
Eljárás vége.
5. feladat:
Adott egy N×2 -es táblázat ( S(N,2) ), N db diploid egyed, egy lokusz, maximum K db allél. Számoljuk meg, hogy a táblázatunkban az adott pillanatban mennyi allél található meg!
Megoldás:
Felhasználjuk az előző feladat megoldását. Ott már megszámoltuk, hogy melyik allélból mennyi van a táblázatban, így amennyi számláló értéke nem 0, annyi allél van a táblázatunkban ( sa az allélok száma).
Számlálás:
SZ():=0
Ciklus i=1-től N-ig
Ciklus j=1-től 2-ig
l:=1
Ciklus amíg S(i,j)≠A(l)
l:=l+1
Ciklus vége
SZ(l):=SZ(l)+1
Ciklus vége
Ciklus vége
sa:=0
Ciklus i=1-től K-ig
Ha SZ(i)>0 akkor sa:=sa+1
Ciklus vége
Eljárás vége.
1. feladat:
Adott egy N elemű táblázat ( T(N) ), a táblázatból hagyjuk ki a 0 elemeket, és N mutasson az utolsó nem nulla elemre!
Megoldás:
Táblázat tömörítés(N,T(N)):
j:=0
Ciklus i=1-től N-ig
Ha T(i)≠0 akkor j:=j+1; T(j):=T(i)
Ciklus vége
Eljárás vége.
1. feladat:
Adott egy N×M -es táblázat ( T(N,M) ) és a táblázat egy ( i , j ) helye. Válasszuk ki egyik szomszédját véletlenszerűen! A szomszédok maximum S hely távolságra lehetnek mind a nyolc irányban.
Megoldás:
Szomszédválasztás(i,j,S):
k:=i-S-1+véletlen(2*S+1)
l:=j-S-1+véletlen(2*S+1)
Eljárás vége.
2. feladat:
Adott egy N×M -es táblázat ( T(N,M) ) és a táblázat egy ( i , j ) helye. Válasszuk ki egyik szomszédját véletlenszerűen úgy, hogy a szomszéd a táblázaton belül legyen! A szomszédok nyolc irányban lehetnek.
Megoldás:
Szomszédválasztás(i,j):
Ciklus
k:=i-1+véletlen(3)
l:=j-1+véletlen(3)
amíg k<1 vagy k>N vagy l<1 vagy l>M
Ciklus vége
Eljárás vége.
3. feladat:
Adott egy N×M -es táblázat ( T(N,M) ) és a táblázat egy ( i , j ) helye. Számoljuk meg, hogy az ( i , j ) hely szomszédságában hány S betű található!
Megoldás:
Szomszédszámlálás(i,j,S,DB):
DB:=0
Ciklus k=i-1-től i+1-ig
Ciklus l=j-1-től j+1-ig
Ha k≥1 és k≤N és l≥1 és l≤M akkor Ha T(k,l)=S akkor DB:=DB+1
Ciklus vége
Ciklus vége
Eljárás vége.
4. feladat:
Adott egy N×M -es táblázat ( T(N,M) ) és a táblázat egy ( i , j ) helye. Keressünk az ( i , j ) hely szomszédságában S betűt!
Megoldás:
Szomszédkeresés(i,j,S,VAN,si,sj):
VAN:=hamis
Ciklus k=i-1-től i+1-ig
Ciklus l=j-1-től j+1-ig
Ha k≥1 és k≤N és l≥1 és l≤M akkor
Ha T(k,l)=S akkor VAN:=igaz; si:=k; sj:=l
Ciklus vége
Ciklus vége
Eljárás vége.
5. feladat:
Adott egy N×M -es táblázat ( T(N,M) ) és a táblázat egy ( i , j ) helye. Válasszunk az ( i , j ) hely szomszédságában egy véletlenszerű S betűt!
Megoldás:
Szomszédválasztás(i,j,S,DB,si,sj):
DB:=0
Ciklus k=i-1-től i+1-ig
Ciklus l=j-1-től j+1-ig
Ha k≥1 és k≤N és l≥1 és l≤M akkor
Ha T(k,l)=S akkor DB:=DB+1; S(DB):=k; O(DB):=l
Ciklus vége
Ciklus vége
Ha DB>0 akkor R:=véletlen(DB); si:=S(R); sj:=O(R)
Eljárás vége.
Készült az "Országos koordinációval a pedagógusképzés megújításáért” című TÁMOP-4.1.2.B.2-13/1-2013-0007 pályázat keretében. (ISBN 978-963-284-631-6) |
A tananyag az ELTESCORM keretrendszerrel készült