tekitár
FeladatokVersenyek
← Vissza a feladatokhoz
tekitár

Az Országos Grafikus Programozási Verseny feladatainak és megoldásainak tára. Az oldalt az ELTE Informatikai Kar működteti.

Elérhetőségek

  • Lakó Viktória – lavnaat@inf.elte.hu
  • Nagy Bendegúz – brandy@inf.elte.hu

Jogi és beállítások

  • Adatvédelmi szabályzat
  • Cookie szabályzat

© 2026 tekitár. minden jog fenntartva.

← Vissza a feladatokhoz
2004 · Első forduló (számítógép nélküli) · 9–12. évfolyam2. feladat20 pont

Mit csinál?

Elágazás: haMatematika: sinMatematika: tg/tanLista- és szövegkezelés: lista [elem1 elem2 …]Lista- és szövegkezelés: listák listája [[…] […]]Lista- és szövegkezelés: elsőnélküliLista- és szövegkezelés: első

Két állattenyésztő nyilvántartást vezet állatairól. Ez a nyilvántartás olyan kétszeres mélységű so­rozat, amely ábécé szerint rendezve tartalmazza az állatfajták nevét és darabszámát.

Példa: egyik: [[kacsa 5] [liba 13] [nyúl 66] [tyúk 4]]
másik: [[kacsa 1] [kecske 33] [nyúl 99]]

A: Mit adnak eredményül a következő rekurzív függvények a fenti konkrét példára?

B. Fogalmazd meg az egyes függvények feladatát általánosan is!

tanuld alfa :A :B
 ha üres? :A [ha üres? :B [eredmény 0]
              [eredmény (utolsó első :B)+alfa :A elsőnélküli :B]]
 ha üres? :B [eredmény (utolsó első :A)+alfa elsőnélküli :A :B]
 eredmény (utolsó első :A)+alfa elsőnélküli :A :B
vége
Tanuld béta :A :B
  ha üres? :A [eredmény elemszám :B]
  ha üres? :B [eredmény elemszám :A]
  ha első első :A= első első :B [eredmény 1+béta elsőnélküli :A 
                                      elsőnélküli :B]
  Ha első első :A< első első :B [eredmény 1+béta elsőnélküli :A :B]
  eredmény 1+béta :A elsőnélküli :B
vége
Tanuld gamma :A :B
  ha üres? :A [eredmény 0]
  ha üres? :B [eredmény 0]
  ha első első :A= első első :B [eredmény 1+gamma elsőnélküli :A 
                                       elsőnélküli :B]
  Ha első első :A< első első :B [eredmény gamma elsőnélküli :A :B]
  eredmény gamma :A elsőnélküli :B
vége
Tanuld delta :A :B
  ha üres? :A és üres? :B [eredmény 0]
  ha üres? :A [eredmény utolsó első :B+delta :A elsőnélküli :B]
  ha üres? :B [eredmény utolsó első :A+delta elsőnélküli :A :B]
  ha első első :A= első első :B [eredmény delta elsőnélküli :A 
                                     elsőnélküli :B]
  Ha első első :A< első első :B [eredmény utolsó első :A+
                                        delta elsőnélküli :A :B]
  eredmény utolsó első :B+delta :A elsőnélküli :B
vége