Informatika gyűjtemény

NézetNyomtat

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

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 (rekurzív módon) kiszámolja egy pozitív egész $n$-re a $2^n$ hatvány értékét!

Elnevezés

kettőaz  :n

Példa

kiír kettőaz 6
> 64

Megoldás

eljárás kettőaz :n
	hak :n=1 
		[eredmény 2]
		[eredmény 2*(kettőaz :n-1)]
vége

2. feladat

Írj eljárást, ami elhagyja egy lista 1990-nél kisebb és 2011-nél nagyobb elemeit.

Elnevezés

elhagy :L

Példa

kiír elhagy [1 3 10 200 1973 1990 2000 2008 2011 3000]
> 1990 2000 2008 2011

Megoldás

eljárás elhagy :l
	hak elemszám :l=0 [eredmény []]
	[
		hak (vagy (első :l)>2011 (első :l)<1990) 
 			[eredmény elhagy elsőnélküli :l]
 			[eredmény elsőnek (első :l) (elhagy (elsőnélküli :l))]
	]
vége

3. feladat

Írj eljárást, ami egy listának azt a kezdőszeletét adja vissza, amiben a számok szigorúan növekvő sorrendben követik egymást.

Elnevezés

kezdet :L

Példa

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

Megoldás

eljárás kezdet :l
	hak elemszám :l<2 [eredmény :l]
	[
		hak első :l<első (elsőnélküli :l)
			[eredmény elsőnek első :l kezdet (elsőnélküli :l)]
			[eredmény (első :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

eljárás madárnyelv :szó
 	HAK elemszám :szó=0
  	[EREDMÉNY " ]
  	[
		HAK eleme? első :szó [a á e é i í o ó ö ő u ú ü ű]
   		[EREDMÉNY elsőnek első :szó (elsőnek "v (elsőnek első :szó madárnyelv elsőnélküli :szó))]
   		[EREDMÉNY elsőnek első :szó madárnyelv elsőnélküli :szó]
  	]
vége