1. feladat: Nézd közelről! (12 pont)
b) Mi a feladata
a Valami eljárásnak és a Számol függvénynek?
Becserkész (X, S, N, E):
S:=1 : N:=1 Ciklus amíg |X-S/N|>=E Ha X<S/N akkor N:=N+1 különben S:=S+1 Ciklus vége Eljárás vége. |
Valami (A):
Ha A=3 vagy A=6 vagy A=9 akkor Ki:"Igen" Különben Ha A<10 akkor Ki:"Nem" különben B:=Számol(A) : Valami(B) Eljárás vége. |
Számol(A):
Ha A<10 akkor Számol:=A különben Számol:=(A mod 10)+Számol(A div 10) Függvény vége. |
2. feladat: Táblatalálgatás(14 pont)
A1: A1+1
A2: A2+2 A3: A2+A3 |
b) Az A1, A2, A3 cellák kezdőértéke a 0, X, Y. (X, Y tetszőleges pozitív számok.) A cellák következő értékeit kiszámító képletek:
A1: If(páros(A3),A1,A1+A2)
A2: If(páros(A3),A2*2,A2) A3: If(páros(A3),A3/2,A3-1) |
c) Az A1, A2, A3 cellák kezdőértéke az 1, X, Y. (X, Y tetszőleges pozitív számok.) A cellák következő érétkeit kiszámító képletek:
A1: If(páros(A3),A1,A1*A2)
A2: If(páros(A3),A2*A2,A2) A3: If(páros(A3),A3/2,A3-1) |
d) Készíts képleteket, melyek Fibonacci-számokat állítanak elő, s add meg a cellák kezdőérétékeit is! A megoldásban maximum 3 cellát használhatsz fel! A Fibonacci számok sorozatának kezdete 0, 1, 1, 2, 3, 5, ..., a soron következő szám mindig az előző kettő összege.
3. feladat: Flip-flop (14 pont)
T=h | T=i | |
yn=h |
|
|
yn=i |
|
|
S=h |
S=h |
S=i |
S=i |
|
yn=h |
|
|
|
|
yn=i |
|
|
|
|
K=h |
K=h |
K=i |
K=i |
|
yn=h |
|
|
|
|
yn=i |
|
|
|
|
4. feladat: Vektorvarázslat (15 pont)
b) Adj közelítő
értéket arra, hogy N függvényéban hányszor hajtódik végre a > jellel jelölt
művelet!
Na_Micsoda(kezdet, vég : Egész; alsó, felső : Logikai):
Ha kezdet<>vég akkor k:=(kezdet+vég-1) DIV 2; Ha páratlan(k) akkor d:=k-kezdet+2; különben d:=k-kezdet+1; Ciklus i=kezdet-től k-ig Ha A[i]>A[i+d] akkor csere(i,i+d) Ciklus vége Ha páratlan (k) és A[k]>A[k+1] akkor csere(k, k+1) Ha alsó akkor Na_Micsoda(kezdet, k, IGAZ, HAMIS) Ha felső akkor Na_Micsoda(k+1, vég, HAMIS, IGAZ) Elágazás vége Eljárás vége. |
5. feladat: Logikusan (12 pont)
Jelmagyarázatként:
Mit csinál a valami(X)?
naMi(X,Y) ha Y>1 és (X Mod Y)=0 vagy Y>1 és Y1=Y-1 és naMi(X,Y1).
Mit csinál a csodaTudja és a naMi?
6. feladat: Rajzőrület (15 pont)
a) Mit csinál a belső ciklus az Éles(A) eljárásban?
b) Mi a feladata a külső ciklusnak az Éles(A) eljárásban?
c) Mit rajzol ki az Éles(A) eljárás az A paraméter függvényében?
d) Mit csinál a belső ciklus a Kiugró(A, B, C) eljárásban?
e) Mi a feladata a külső ciklusnak a Kiugró(A, B, C) eljárásban?
f) Mit rajzol ki a Kiugró(A, B, C) eljárás az A, B, C paraméterek függvényében?
A programban használt utasítások magyarázata a következő:
REPEAT db | a következő, beljebb kezdett utasításokat db-szer megismétli |
forward hossz | előrelép az aktuális irányban hossz egységgel, |
left szög | balra fordul szög fokkal a teknőc síkjában |
pitch szög | a teknőc "felfelé" fordul (függőleges síkban) szög fokkal. |
Éles(A):
REPEAT 4
Bforward A
REPEAT 4
pitch 90
forward A
left 90Kiugró(A,B,C):
REPEAT A
forward B
REPEAT 2
pitch 90
forward C
pitch 90
forward B
left 360/A
7. feladat: Vagány vágányok (18 pont)
Villamos(I):
Ciklus amíg az állomáshoz nem ér Előrehaladás, ha lehet Ciklus vége Vágányfoglalás(V) Beállás(V) ... Induláskérés(V) Indulás Eljárás vége. |
Az állomásfőnök eljárásai (egyszerre 1 vágányfoglalással és egy induláskéréssel tud foglalkozni, a végállomáson 2 vágány van) milyen stratégia szerint adja ki a vágányokat? (F kezdeti értéke 1 vagy 2, a működést a kezdeti értéktől függetlenül kell jellemezni.)
A.
Vágányfoglalás(V): Ha FOGLALT(1) és FOGLALT(2) akkor Várj Ha FOGLALT(1) akkor V:=2 különben V:=1 FOGLALT(V):=igaz Eljárás vége. |
Induláskérés(V):
FOGLALT(V):=hamis Folytasd a vágányfoglalást, ha várakoztál benne Eljárás vége. |
B.
Vágányfoglalás(V): Ha FOGLALT(1) és FOGLALT(2) akkor Várj Ha FOGLALT(3-F) akkor V:=F különben V:=3-F FOGLALT(V):=igaz Eljárás vége. |
Induláskérés(V):
FOGLALT(V):=hamis; F:=V Folytasd a vágányfoglalást, ha várakoztál benne Eljárás vége. |
C.
Vágányfoglalás(V): Ha FOGLALT(1) és FOGLALT(2) akkor Várj Ha FOGLALT(F) akkor V:=3-F különben V:=F FOGLALT(V):=igaz; F:=3-V Eljárás vége. |
Induláskérés(V):
FOGLALT(V):=hamis Folytasd a vágányfoglalást, ha várakoztál benne Eljárás vége. |