VI. Vezérlési módok és rekurzió
A következõ feladatokkal a vezérlési szerkezeteket gyakorolhatjuk!

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.1. Forgassunk el egy egyenest 5 fokonként a képen látható módon for ciklus segítségével!


 

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.8. Rajzoljunk trapézokat!


 

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.11. Rajzoljunk fát!


 

6.12. A 6.11-es feladathoz hasonlóan, most rajzoljunk tövises bokrot!


 

6.13. Rajzoljunk 6. rendû Sierpinsky-háromszöget!