Algoritmusok követése

1995/9-10/1/5

A LOGO programnyelv következő függvényeit mondatokra is és szavakra is lehet alkalmazni:

  • FIRST X - megadja az X szó első betűjét (vagy az X mondat első szavát)
  • BUTFIRST X - megadja az X szót az első betűje nélkül (vagy az X mondatot az első szava nélkül)
  • LAST X - megadja az X szó utolsó betűjét (vagy az X mondat utolsó sza­vát)
  • BUTLAST X - megadja az X szót az utolsó betűje nélkül (vagy az X mondatot az utolsó szava nélkül)

Az önálló betűk elé ~ jelet, a szavak elé ˝ jelet kell tenni, a mondatokat pedig [] jelek közé tesszük, s a mondaton belül a szavak elé nem kell kitenni az idézőjelet.

Példák:

~B FIRST ˝SZÓ → ~S
˝SZÓ BUTFIRST ˝SZÓ → ˝ZÓ
[RÖVID MONDAT] FIRST [RÖVID MONDAT] → ˝RÖVID
[EZ EGY HOSSZABB MONDAT] BUTFIRST [MONDAT] → []

Mit adnak meg a következő LOGO kifejezések? Add meg a konkrét értéket, valamint fogalmazd meg általánosan is a kapott eredményt!

  • A. FIRST BUTFIRST [FEKETE MACSKA]
  • B. BUTFIRST FIRST [VÉGIGÉRő FA]
  • C. LAST FIRST [LOGO PROGRAMNYELVű UTASÍTÁSOK]
  • D. BUTLAST BUTFIRST [MI LESZ EZ]

1996/9-10/1/1

Mit rajzolnak a következő LOGO-nyelvű programok? Méreteket is adj meg!

A tek­nőc kezdetben a képernyő közepén áll és az X-tengely irányába néz. Kezdetben a toll a papíron van, PENUP felemeli a papírról, PENDOWN leengedi a papírra. A teknőc LEFT s hatására balra, RIGHT s hatására jobbra fordul s fokkal, FORWARD x hatására előre, BACK x hatására hátra lép x egységgel, REPEAT n [utasítások] hatására pedig a záró­jelbe tett utasításokat n-szer megismétli. Az n értéke a B) részfeladatban 2-vel osztható.

  • 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]

1996/9-10/1/5

Egy vasútmodell-szerelvényt az alábbi paranccsal mozgathatunk a sínen:

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ítettü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!

i 1 2 3 4 5 6 7 8 9 10 11
X
V
Y
V_új
megtett út 0

A „megtett út” sorba az i-edik lépésig megtett útszakaszok összege írandó.

1997/9-10/1/2

Az alábbi LOGO programokban egyszerre 2 teknőc rajzol. Azonos kezdőállapotból indulnak, kelet felé, a tollak a papíron vannak. Rajzold le az általuk elkészített ábrákat! Add meg az egyes szöge­k nagyságát fokban, és nevezd meg a jellegzetes geometriai alakzatokat is!

A. Teknőc1:

	right 90 forward 10 left 90 forward 100 right 90
	forward 20 left 120 forward 60

Teknőc2:

	left 90 forward 10 right 90 forward 100 left 90
	forward 20 right 120 forward 60

B. Teknőc1:

	right 135 forward négyzetgyök 200 left 135
	forward 100 right 120 forward 20 left 150
	forward 20+20*négyzetgyök 3

Teknőc2:

	left 135 forward négyzetgyök 200 right 135
	forward 100 left 120 forward 20 right 150
	forward 20+20*négyzetgyök 3

2014/9-10/1/1

Egy síkban növekvő növény egyes darabjait az A, B, C betűkkel jelöljük. A növekedés egy időegységében megadjuk minden darabra, hogy a következő időegységben mi lesz belőle. Kezdetben mindig egy darab A típusú elemből áll a növény, amely felfelé néz. (Ha egy elem nem felfele néz azt az alábbi példákban így jelöljük: A> jobbra, <A balra, AV lefele)

Példa: az A, B és C átalakítási szabályai:

A A
A B B C A> C C

A fenti szabályokkal az egyetlen A típusú elemből álló növény így fejlődik 3 időegységben:

A
B
A
A C A>
B A
A A B
A B C A> C B> A>

A. Rajzold le az első 4 időegységben a növény fejlődését, ha az alábbi szabályokat kell alkalmazni!

C
B A
A B B B C B A>

B. Rajzold le az első 4 időegységben a növény fejlődését, ha az alábbi szabályokat kell alkalmazni!

A
A B B C C <A B A>

2015/9-10/1/2

Az alábbi áramkör A és B bemenetére érkezik egy-egy 1-bites érték (A és B), amelyből a NEM, ÉS, VAGY áramköri elemek állítják elő az X és a C 1-bites értékeket.

Töltsd ki az alábbi táblázatban, hogy A és B adott értékeire (0=hamis, 1=igaz) mi lesz X és C értéke!

A B X C
0 0
0 1
1 0
1 1

2015/9-10/1/4

Az 1..n elemek egy részhalmazát egy ún. bináris levélfában ábrázolunk, amire a következő tulajdonságok teljesülnek:

  1. A fának n levélpontja van.
  2. A fának n-1 belső (nem levél) pontja van.
  3. Minden belső pontnak két fia van.
  4. A fa minden belső pontja a jobb részfájában lévő halmazelemek számát tartalmazza.

Például a {2;4;5;7;9;10} halmaz ábrázolása, ha n=10:

Egy ilyen fára egyetlen műveletet alkalmazunk, az I-edik legnagyobb eltávolítását a fából. (A példában az első legnagyobb a 10, a hatodik legnagyobb a 2.)

Ha a fenti fából a 4. legnagyobb elemet kivesszük, akkor a fa így alakul (a 4. legnagyobb az 5-ös volt, a törlés után a 4. legnagyobb a 4-es lesz):

Az alábbi fából indulunk ki:

Rajzold le a fát minden törlés után, ha elemeket az alábbi sorrendben törlünk: 4. legnagyobb, 4. legnagyobb, 1. legnagyobb, 4. legnagyobb!

oktatas/informatika/programozas/algoritmusok/algoritmusok_koevetese.txt · Utolsó módosítás: 2019/06/04 14:10 szerkesztette: barnkopf
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0