← Vissza a feladatokhoz
Két állattenyésztő nyilvántartást vezet állatairól. Ez a nyilvántartás olyan kétszeres mélységű sorozat, 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