NézetNyomtat

Programozási minták

Bevezető feladatok a listák alkalmazására

Összegzés tétele

Adjuk össze egész számok sorozatának elemeit!
Példa: összegzés [4 3 5] Eredménye: 12
eljárás összegzés :a
 ha üres? :[er 0]
 eredmény (első :a) + összegzés en :a
vége

Eldöntés tétele

A további programozási tételekben szükség van a sorozat egy elemének adott tulajdonságát megvizsgálni. Ehhez egy logikai függvényt készítsünk!
Döntsük el, hogy egy szó tartalmaz-e magánhangzót!
Egy betű magánhangzó-e?
Példa:
elemtul "ü Eredmény: "igaz
elemtul "b Eredmény: "hamis
eljárás elemtul :x
 eredmény eleme? :x "aAáÁeEéÉiIíÍoOóÓöÖőŐuUúÚüÜűŰ
vége
Példa:
eldönt "kerékpár Eredménye: "igaz
eldönt "sms Eredménye: "hamis
eljárás eldönt :a
 ha üres? :[er "hamis]
 ha elemtul első :[eredmény "igaz]
 eredmény eldönt en :a
vége

Megszámolás tétele

Hány megadott tulajdonságú elemet tartalmaz a lista?
Hány magánhangzót tartalmaz a szó?
Példa: megszámol "spenót Eredménye: 2

Kiválasztás tétele

Hányadik elem adott tulajdonságú?
Hányadik elem magánhangzó?
Példa: kivál "szilva Eredménye: 3

Lineáris keresés tétele

Van-e a megadott listában adott tulajdonságú elem? Ha igen, adjuk meg a sorszámát!
Hányadik betű magánhangzó?
Példa:
linkeres "lnrskrss Eredménye: Nincs ilyen elem
linkeres "szezám Eredménye: 3

Maximumkiválasztás tétele

Határozzuk meg egy számsorozat legnagyobb elemét!
Példa: maximum [3 1 6 2 1] Eredménye: 6

Kiválogatás tétele

Az adott tulajdonságú listaelemek sorszámát válogatja ki.
Adjuk meg, hogy egy szó betűi közül melyek magánhangzók!
Példa: kiválogat "salátástál Eredménye: [2 4 6 9]
Az elemtul listaelemek kiválogatása:
Példa: kiv2 "salátástál Eredménye: [a á á á]

Beillesztéses rendezés

Rendezzük növekvően egy számsorozat elemeit!
Példa: rendBeill [3 2 1 2 4 1] Eredménye: [1 1 2 2 3 4]

Rendezés minimumkiválasztással

Rendezzük ábécérendben növekvően egy szó betűit!
Példa: rendMin "elefánt Eredménye: "áeeflnt

Unió

Állítsuk elő két szósorozat unióját!
Példa: unió [szilva alma körte dió barack] [barack szőlő alma] Eredménye: [szőlő szilva alma körte dió barack]

Metszet

Állítsuk elő két szósorozat metszetét!
Példa: metszet [szilva alma körte dió barack] [barack szőlő alma] Eredménye: [alma barack]

Halmazok különbsége

Állítsuk elő két szósorozat különbségét!
Példa: kül [szilva alma körte dió barack] [barack szőlő alma] Eredménye: [szilva körte dió]

Összefuttatás

Állítsuk elő két ábécé szerint rendezett szósorozat unióját kihasználva a sorozatok rendezettségét!
Példa: fut [alma barack dió körte szilva] [alma barack szőlő] Eredménye: [alma barack dió körte szilva szőlő]

Szétválogatás

Adott egy számsorozat. Válogassuk szét elemeit előjelük szerint (a 0-t a pozitívak csoportjához soroljuk)!
Példa: szétválogat [-1 2 0 -3 5 6 -2] Eredménye: [2 0 5 6] [-1 -3 -2]