A Név: l 2014.04.09 Neptun kód: Gyakorlat vezető: HG BP MN l 1. Adott egy (12 nem nulla értékû elemmel rendelkezõ) 6x7 méretû ritka mátrix hiányos 4+2 soros reprezentációja. SOR: 1 1 2 2 2 3 3 4 4 5 6 6 OSZLOP: 2 7 1 4 7 3 6 1 5 1 4 7 ÉRTÉK: 3 36 7 29 27 9 14 8 17 16 20 18 KÖVETKEZÕ: 0 5 8 11 12 0 0 10 0 0 0 0 S: 1 3 6 8 10 11 O: 3 1 6 4 9 7 2 2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont) function MIEZ(A) 1. if méret(a) > 0 then 2. i j 1 3. else 4. return 0 5. end if 6. for k 2 to méret(a) do 7. if A[k] > A[j] then 8. j k 9. else if A[k] < A[i] then 10. i k 11. end if 12. end for 13. return j - i Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t.. (0.5 pont) 3. Írjon függvényt, amely meghatározza a paraméterként kapott fejmutató által címzett kétirányban láncolt lista utolsó negatív elemét, és annak címét adja vissza (ill. negatív elem hiányában a NIL mutatót)!. (4 pont) function NEGATÍV(fej) 1. x fej.vége 2. while x NIL és x érték 0 do 3. x x elõzõ 4. end do 5. return x
B Név: l 1. Az M matrixot a V vektorban ábrázoltunk: V={ 70, 1 88, 2 20, 3 16, 4 74, 5 71, 6 6, 7 57, 8 12, 9 13, 10 17, 11 91, 12 91, 13 65, 14 94, 15 75, 16 21, 17 97, 18 80, 19 97, 20 51, 21 47, 22 38, 23 34, 24 88, 25 56, 26 9, 27 91 28 } 1. Mennyi x=m[4,1]+m[4,7] értéke, ha M egy helytakarékosan ábrázolt felsõ háromszögmátrix? x = 0+V[25] = 88. (1 pont) 2. Mennyi y=m[1,2]-m[6,2] értéke, ha M egy oszlopfolytonosan ábrázolt 7x4-es (7 sora és 4 oszlopa van) mátrix? y = V[8]-V[13] = -34. (1 pont) 2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont) function MIEZ(A) 1. s 0 2. if méret(a) > 0 then 3. t MIEZ ( A[1.. méret(a)-1] ) 4. s t + (A[méret(A)] - t) / méret(a) 5. end if 6. return s Az A vektor elemeinek az átlagát. (1.5 pont) Ha üres a vektor, akkor 0-t. (0.5 pont) 3. Írjon függvényt, amely meghatározza a paraméterként kapott fejmutató által címzett egyirányban láncolt lista elsõ és utolsó elemének összegét! (Elemek hiányában legyen 0 a függvényérték!).. (4 pont) function ÖSSZEG(listafej) 4. x listafej 5. repeat 6. utolsó x 7. x x következõ 8. until x = NIL 9. return listafej adat + utolsó adat 10. end if
C Név: l 1. Adott egy (11 nem nulla értékû elemmel rendelkezõ) 9x6 méretû ritka mátrix hiányos 4+2 soros reprezentációja. 1 2 3 4 5 6 7 8 9 10 11 SOR: 1 1 3 3 5 5 6 7 9 9 9 OSZLOP: 5 6 3 5 4 5 3 6 1 3 4 ÉRTÉK: 23 23 32 2 2 3 34 6 37 24 20 KÖVETKEZÕ: 4 8 7 6 11 0 10 0 0 0 0 S: 1 0 3 0 5 7 8 0 9 O: 9 0 3 5 1 2 1 2 3 4 5 6 7 8 9 10 11 function MIEZ(listafej) 3. else if listafej következõ = NIL then 4. return listafej adat 5. else 6. return listafej adat + MIEZ(listafej következõ következõ) 7. end if A lista minden páratlanadik elemének összegét.. (1.5 pont) (A lista minden második elemének összegét.. (1.0 pont)) Ha a lista üres, akkor 0-t.. (0.5 pont) 3. Írjon függvényt, amely meghatározza a paraméterként kapott vektor legkisebb és legnagyobb elemének összegét! (Elem nélküli vektor esetén a függvényérték legyen 0!). (4 pont) function ÖSSZEG(A) 1. if méret(a) = 0 then 4. min max A[1] 5. for i 2 to méret(a) do 6. if A[i] > max then 7. max A[i] 8. else if A[i] < min then 9. min A[i] 10. end if 11. end for 12. return min + max
D Név: l 1. Adott egy (13 nem nulla értékû elemmel rendelkezõ) 8x6 méretû ritka mátrix hiányos 4+2 soros reprezentációja. 13 SOR: 1 1 1 2 2 4 5 5 6 6 6 7 8 OSZLOP: 1 2 4 3 6 3 2 3 1 3 5 5 4 ÉRTÉK: 31 11 16 33 24 31 4 36 31 14 32 25 25 KÖVETKEZÕ: 9 7 13 6 0 8 0 10 0 0 12 0 0 S: 1 4 0 6 7 9 12 13 O: 1 2 4 3 11 5 13 function MIEZ(listafej) 2. return NIL 4. x listafej adat 5. y listafej következõ 6. z MIEZ(y) 7. if y = NIL vagy z adat < x then 8. return listafej 9. else 10. return z 11. end if A lista legnagyobb értékû elemének címét.. (1.4 pont) Ha több ilyen érték is van, akkor az utolsót.. (0.3 pont) Ha a lista üres, akkor NIL-t.. (0.3 pont) 3. Írjon függvényt, amely megnöveli 1-gyel a paraméterként kapott vektor minden pozitív értékû elemét, és függvényértékként visszaadja a végrehajtott módosítások számát!. (4 pont) function NÖVEL(A) 1. v 0 2. for i 1 to méret(a) do 3. if A[i] > 0 then 4. A[i] A[i] + 1 5. v v +1 6. end if 7. end for 8. return v
E Név: l 1. Adott egy (12 nem nulla értékû elemmel rendelkezõ) 9x7 méretû ritka mátrix hiányos 4+2 soros reprezentációja. SOR: 1 1 1 2 2 3 4 5 6 6 8 9 OSZLOP: 1 6 7 4 6 7 3 4 2 6 2 7 ÉRTÉK: 23 17 38 9 38 17 2 35 38 6 22 24 KÖVETKEZÕ: 0 5 6 8 10 12 0 0 11 0 0 0 S: 1 4 6 7 8 9 0 11 12 O: 1 9 7 4 0 2 3 function MIEZ(listafej, e) 3. else if listafej adat > e then 4. return 1 + MIEZ(listafej következõ, e) 5. else 6. return MIEZ(listafej következõ, e) 7. end if A lista e-nél nagyobb értékû elemeinek számát.. (1.5 pont) Ha a lista üres, ill. nincs ilyen eleme, akkor 0-t.. (0.5 pont) 3. Írjon függvényt, amely meghatározza a paraméterként kapott vektor legnagyobb és legkisebb elemének különbségét! (Üres vektor esetén a függvényérték legyen 0!). (4 pont) function KÜLÖNBSÉG(A) 1. if méret(a) = 0 then 4. min max A[1] 5. for i 2 to méret(a) do 6. if A[i] > max then 7. max A[i] 8. else if A[i] < min then 9. min A[i] 10. end if 11. end for 12. return max - min
F Név: l 1. Adott egy (12 nem nulla értékû elemmel rendelkezõ) 6x7 méretû ritka mátrix hiányos 4+2 soros reprezentációja. SOR: 1 1 2 2 2 3 3 4 4 5 6 6 OSZLOP: 2 7 1 4 7 3 6 1 5 1 4 7 ÉRTÉK: 3 36 7 29 27 9 14 8 17 16 20 18 KÖVETKEZÕ: 0 5 8 11 12 0 0 10 0 0 0 0 S: 1 3 6 8 10 11 O: 3 1 6 4 9 7 2 2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont) function MIEZ(A) 1. s i 0 2. while i < méret(a) do 3. i i + 1 4. for j 1 to méret(a) do 5. s s + A[i] 6. end for 7. end for 8. return s Az A vektor elemei és a mérete szorzatának az összegét. (1.5 pont) Ha üres a vektor, akkor 0-t. (0.5 pont) 3. Írjon függvényt, amely megnöveli 1-gyel a paraméterként kapott vektor legkisebb értékû elemét! Ha az adott érték többször is elõfordul, akkor minden elõfordulást növeljen meg! Függvényértékként adja vissza a végrehajtott módosítások számát!. (4 pont) function NÖVEL(A) 10. v 0 1. if méret(a) = 0 then 4. min A[1] 5. for i 2 to méret(a) do 6. if A[i] < min then 7. min A[i] 8. end if 9. end for 11. for i 1 to méret(a) do 12. if A[i] = min then 13. A[i] A[i] +1 14. v v +1 15. end if 16. end for 17. return v
G Név: l 1. Adott egy (15 nem nulla értékû elemmel rendelkezõ) 8x9 méretû ritka mátrix hiányos 4+2 soros reprezentációja. 13 14 15 SOR: 1 3 4 4 5 5 5 5 7 7 8 8 8 8 8 OSZLOP: 1 8 2 9 1 7 8 9 3 5 1 2 4 6 7 ÉRTÉK: 13 7 10 17 14 11 36 4 10 36 36 29 19 32 34 KÖVETKEZÕ: 5 7 12 8 11 15 0 0 0 0 0 0 0 0 0 S: 1 0 2 3 5 0 9 11 O: 1 3 9 13 10 14 6 2 4 13 14 15 function MIEZ(listafej) 2. return NIL 4. x listafej adat 5. y listafej következõ 6. z MIEZ(y) 7. if y = NIL vagy z adat > x then 8. return listafej 9. else 10. return z 11. end if A lista legkisebb értékû elemének címét.. (1.4 pont) Ha több ilyen érték is van, akkor az utolsót.. (0.3 pont) Ha a lista üres, akkor NIL-t.. (0.3 pont) 3. Írjon eljárást, amely csökkenõ sorrendbe rakja a paraméterül kapott vektor elemeit!. (4 pont) - - Például: procedure BESZÚRÁSOS_RENDEZ(A) 1. for i 2 to méret(a) do 2. kulcs A[i] 3. j i 1 4. while j 1 és A[j] < kulcs do 5. A[j + 1] A[j] 6. j j 1 7. end while 8. A[j + 1] kulcs 9. end for end procedure
H Név: l 1. Adott egy (11 nem nulla értékû elemmel rendelkezõ) 9x6 méretû ritka mátrix hiányos 4+2 soros reprezentációja. 1 2 3 4 5 6 7 8 9 10 11 SOR: 1 1 3 3 5 5 6 7 9 9 9 OSZLOP: 5 6 3 5 4 5 3 6 1 3 4 ÉRTÉK: 23 23 32 2 2 3 34 6 37 24 20 KÖVETKEZÕ: 4 8 7 6 11 0 10 0 0 0 0 S: 1 0 3 0 5 7 8 0 9 O: 9 0 3 5 1 2 1 2 3 4 5 6 7 8 9 10 11 function MIEZ(listafej) 3. else if listafej adat > 0 then 4. return listafej adat + MIEZ(listafej következõ) 5. else 6. return MIEZ(listafej következõ) 7. end if A lista pozitív értékû elemeinek összegét.. (1.5 pont) Ha a lista üres, ill. nincs pozitív eleme, akkor 0-t.. (0.5 pont) 3. Írjon függvényt, amely a lineáris keresésre alapozva megkeresi a paraméterként megadott értéket a szintén paraméterként megadott vektorban!. (4 pont) function LINEÁRIS_KERES(A, érték) 1. for i=1 to méret(a) do 2. if A[i] = érték then 3. return i 4. else if A[i] > érték then 5. KIVÉTEL "nincs ilyen értékû elem" 6. end if 7. end for 8. KIVÉTEL "nincs ilyen értékû elem"