1. feladat: Rajzolgatás (18 pont)
A. | REPEAT n
[REPEAT 5 [FORWARD 5 LEFT 90] RIGHT 90 PENUP FORWARD 5 PENDOWN] |
B. | REPEAT n/2
[REPEAT 5 [FORWARD 5 LEFT 120] LEFT 120 PENUP FORWARD 5 PENDOWN REPEAT 5 [FORWARD 5 RIGHT 120] RIGHT 120 PENUP FORWARD 5 PENDOWN] |
C. | REPEAT n
[REPEAT 8 [FORWARD 2 BACK 4 FORWARD 2 LEFT 45] PENUP FORWARD 8 PENDOWN] |
2. feladat: Logikai műveletek (12 pont)
A. | V:=Igaz
Ciklus i:=2-től N-ig V:=V And (A(i)>A(i-1)) Ciklus vége Ha V akkor Ki: "IGEN" |
B. | V:=Hamis
Ciklus i:=2-től N-ig V:=V Or (A(i)>A(i-1)) Ciklus vége Ha V akkor Ki: "IGEN" |
3. feladat: Kördiagram (14 pont)
A feladat megoldására készített eljárásban (Kördiagram) van néhány hiba.
Kördiagram:
S:=0 Ciklus I:=1-től N-ig S:=S+A(I) Ciklus vége Ciklus I:=1-től N-ig SZ:=A(I)/S*180 Körcikk(0, SZ, N) Ciklus vége Eljárás vége. |
A. Mit csinál
hibásan az eljárás?
B. Javítsd
ki a hibákat!
Példa:
igazgató("Avar András").
igazgatóhelyettes("Álmos Ádám").
osztályvezető("Császár Csaba","Pénzügyi osztály").
alkalmazott("Elekes Eszter","Tervosztály").
|
A levélküldés szabályait a következő -félkész- PROLOG-szerű program
definiálja:
küldhet (Feladó, Címzett) {Feladó
küldhet levelet
Címzett-nek}
ha közvetlenFőnöke(Feladó, Címzett) vagy beosztottja (Feladó, Címzett). |
közvetlenFőnöke (A, F) ha .. {A-nak közvetlen főnöke F}. |
beosztottja (F, A) ha .. {F-nek közvetlen vagy közvetett beosztottja A}. |
5. feladat: Vasútmodell (18 pont)
Mozgat (Y, V) | Y távolságot tesz meg, végsebessége V lesz. |
A szerelvény csak egyenletesen tud gyorsulni vagy lassulni. Egy eljárást
készíttetünk, amely a szerelvényt
S távolságra
juttatja el (a ^ jel hatványozást jelöl):
Vezérlés(X,V):
Y:=A*DT^2/2 + V*DT Ha X+Y<=S/2 és V+A*DT<=W akkor Vúj:=V+A*DT Mozgat(Y,Vúj): Vezérlés(X+Y, Vúj): Mozgat(Y, V) különben Mozgat(S-2*X,V) Eljárás vége. |
Kezdetben X=0, V=0, DT=1, A=2, S=20 és W=10. Másold le az alábbi táblázatot, és írd bele a Mozgat eljárás i-edik meghívása előtt (i=1, 2, 3, ...) érvényes értékeket!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tett út |
0 |
|
|
|
|
|
|
|
|
|
|
6. feladat: Csak párhuzamosan! (19 pont)
Példa:
1. lépés: (a+b) és (c/d) egyidejű kiszámítása két processzorral - legyen a két részeredmény u és v,
2. lépés: u*v és (e+f) egyidejű kiszámítása két processzorral - legyen a két részeredmény x és y,
3. lépés: x/y kiszámítása egy processzorral.
Egy kifejezés párhuzamos kiszámítását akkor tekintjük optimálisnak,
ha a lehető legkevesebb lépésben végezhető el úgy, hogy a práhuzamosan
felhasznált processzorok száma minimális.
Állapítsd meg, hogy optimális esetben a következő kifejezések hány lépésben
számolhatók ki, s kiszámításukhoz hány processzorra van szükség! (A zárójelezés
nem bontható fel a kiszámítás gyorsítása érdekében!)
B. a*b+c*(d*e+f/g+h*i)
C. a*(b+c)-d*(e/f-g*h)+i*j