A következõ feladatokkal a vezérlési szerkezeteket gyakorolhatjuk!VI. Vezérlési módok és rekurzió
A feladatok megoldásához a következõ
postscript utasítások ismerete szûkséges:
x y eq bool | a verem két felsõ elemét összehasonlítja, ha egyenlõek, akkor true értéket ír a verembe, különben false-t |
x y ne bool | a verem két felsõ elemét összehasonlítja, ha nem egyenlõek, akkor true értéket ír a verembe, különben false-t |
x y gt bool | a verem két felsõ elemét összehasonlítja, ha x nagyobb, mint y, akkor true értéket ír a verembe, különben false-t |
x y lt bool | a verem két felsõ elemét összehasonlítja, ha x kisebb, mint y, akkor true értéket ír a verembe, különben false-t |
x y ge bool | a verem két felsõ elemét összehasonlítja, ha x nagyobb egyenlõ, mint y, akkor true értéket ír a verembe, különben false-t |
x y le bool | a verem két felsõ elemét összehasonlítja, ha x kisebb egyenlõ, mint y, akkor true értéket ír a verembe, különben false-t |
bool proc if - | kiveszi a vérrehajtási tömböt és a logikai objektumot a verembõl és végrehajtja a proc-ot, ha bool true |
bool proc1 proc2 ifelse - | kiveszi mindhárom operandust a verembõl, proc1-et hajtja végre ha bool igaz, különben proc2-t |
szám{mûveletek} repeat - | a mûveleteket számszor hajtja végre |
kezd növekmény vég proc for - | egy ideiglenes belsõ változót hoz létre (számláló), aminek az értéke kezdetben kezd lesz, ha számláló <= vég, akkor számlálót elhelyezi a verembe, végrehajtja procot és növekménnyel inkrementálja a számlálót |
proc loop - | addig ismétli proc végrehajtását, amig exit operátort nem talál (különben végtelen ciklus) |
- exit - | kiugrik a legbelsõ ciklusból |
Feladatok:
6.2. Rajzoljunk háromszöget, négyzetet, szabályos
öt- illetve hatszöget ciklusutasítások segítségével!
6.3. Rajzoljunk narancssárga csillagot!
6.4. Készítsük el a képen látható
fokozatosan körré "hízó" ellipsziseket ciklusutasítás
felhasználásával!
6.5. A képen látható módon húzzuk szét
a fokozatosan halványuló kártyapaklit!
6.6. Rajzoljunk virágot a kép felsõ részén
látható virágszirom segítségével!
6.7. Készítsük el a képen látható
cilindert!
6.9. Készítsük el a képen látható
sormintát, amely különbözõ nagyságú
körökbõl áll!
6.10. Rajzoljuk le a képen látható alakzatot!
Segítségként tekintsük a következõ ábrát!
Az "ágak" közötti szög 120 fokos, és
a fa ágainak aránya 1:2.
6.12. A 6.11-es feladathoz hasonlóan, most rajzoljunk tövises
bokrot!
6.13. Rajzoljunk 6. rendû Sierpinsky-háromszöget!