Informatika gyűjtemény

NézetNyomtat

Logo témazáró, C08, 2011.01.17.

Négy listakezelési feladatot kell megoldanod, mindegyiket eljárásokkal, az eljárásoknak ugyanabban a projekt-fájlban kell lennie, amit a saját neveddel kell lementened (például: VargaDolgozat.IMP). Az eljárások neve és paraméterezése minden feladatnál meg van adva.
A megoldásokat tartalmazó állományt csatolmányként kell beküldeni óra végén az ismert címre.

1. feladat

Írj eljárást, ami egy számokat tartalmazó lista elemeinek négyzetösszegét számolja ki.

Elnevezés

négyzetösszeg :L

Példa

kiír négyzetösszeg [2 3 4 1]
> 30

Megoldás

eljárás négyzetösszeg :L
HAK (elemszám :L) = 0
	[eredmény 0]
	[eredmény (első :L)*(első :L)+négyzetösszeg elsőnélküli :L]
vége

2. feladat

Írj eljárást, ami elhagyja egy lista páratlan elemeit.

Elnevezés

elhagy :L

Példa

kiír elhagy [1 3 4 8 11 2 2 5]
> 4 8 2 2

Megoldás

eljárás páros :x
HAK (maradék :x 2)=0
	[eredmény "igaz]
	[eredmény "hamis]
vége

eljárás elhagy :L
HAK (elemszám :L)=0
	[eredmény []]
	[HAK páros első :L
		[eredmény elsőnek első :L elhagy elsőnélküli :L]
		[eredmény elhagy elsőnélküli :L]
	]
vége

3. feladat

Írj eljárást, ami egy listában megszünteti a szomszédos ismétlődéseket.

Elnevezés

nemism :L

Példa

kiír nemism [3 4 4 5 4 5 3 3 1]
> 3 4 5 4 5 3 1

Megoldás

eljárás nemism :L
HAK (elemszám :L)=1
	[eredmény :L]
	[HAK (elem 1 :l) = (elem 2 :l)
		[eredmény nemism elsőnélküli :L]
		[eredmény elsőnek első :L nemism elsőnélküli :L]
	]
vége

4. feladat

Írj eljárást, ami "madárnyelvre" fordít egy tetszőleges szöveget.

Elnevezés

madárnyelv :szó

Példa

kiír madárnyelv "Berzsenyi
> Beverzsevenyivi

Megoldás