Double click to edit
Skalowanie

Jednym z wymogów wielu zadań graficznych jest konieczność utworzenia rysunku
o stałym wymiarze dla różnych wartości parametru.
To tego celu wykorzystujemy skalowanie:
Przykład:

Pasek składa się z kwadratów, zamalowanych kolorem niebieskim
Napisz procedurę PASEK :ile, po wywołaniu której powstanie rysunek paska, jak poniżej. Parametr :ile może przyjmować wartości od 2 do 15.
Szerokość paska jest stała i wynosi 600 pikseli
Rysunek musi być na środku ekranu.
PASEK 2
PASEK 6


Jak widać na powyższych rysunkach,
wielkość boków rysowanych kwadratów zależy od wartości parametru :ile.
Przy wywołaniu procedury z parametrem :ile równym 6,
przekątna kwadratu wynosi 600/6, a dla :ile równego 2 wynosi 60/2.
Dla ogólnego przypadku długość boku kwadratu będzie wynosiła :bok=600/:ile
A więc zaczynamy, przypominam że za  tym znakiem ";" będę umieszczał komentarze.
oto pasek :ile

;tutaj definiujemy, czy parametr :ile spełnia wymogi polecenia
jeśli :ile < 2 [pisz [Parametr :ile może przyjomować jedynie wartości od 2 do 15!]stop]
jeśli :ile > 15 [pisz [Parametr :ile może przyjomować jedynie wartości od 2 do 15!]stop]

;zmienna :dlugosc będzie długośćią całego rysunku
przyp "dlugosc 600

;teraz zmienna :bok, jest to bok kwadratu
przyp "bok :dlugosc/:ile

;teraz ustalamy zmienne aby nasz rysunek był na środku erkanu - połowa długość rysunku
przyp "poldlugosci :ile/2*:bok
;połowa długośći boku
przyp "polboku :bok/2

;ustalamy kolor malowania rysunku
ukm "jasnoniebieski

;przysuwamy żółwia, aby rysunek był na środku ekranu
pod lw 90 np :poldlugosci pw 90 ws :polboku opu

;tworzymy pasek
powtórz :ile [wielokąt [powtórz 4 [np :bok pw 90]]pw 90 np :bok lw 90]

już