Skalujemy rysunki

W wielu zadaniach dane są wymiary całego rysunku, a wielkość poszczególnych elementów zależy od podanego parametru i może się zmieniać. Po napisaniu funkcji rysującej powtarzające się fragmenty, musimy tak zadbać o ich wymiary, by po złożeniu w całość otrzymać oczekiwany rezultat. Zastanówmy się jak powinniśmy to robić, na podstawie poniższych przykładów.

Ćwiczenie 1

Zosia rysowała pasek złożony z czerwonych kwadratów. Janek poprosił o wykonanie szlaczka z 8 przylegających do siebie kwadratów. Długość paska ma wynosić 160. Po chwili zmienił zdanie - liczba kwadratów miała wynosić 12.

Popraw funkcję pomagającą Zosi w obliczeniu długości boku kwadratu. Funkcja powinna działać prawidłowo dla różnej liczby kwadratów.

Ćwiczenie 2

Janek poprosił Zosię o wykonanie szlaczka z kilku kwadratów i odstępie między sąsiednimi kwadratami równym połowie długości boku. Długość szlaczka ma wynosić 160.

Układ ośmiu kwadratów

Napisz funkcję pomagającą Zosi w obliczeniu długości boku kwadratu. Funkcja powinna działać prawidłowo dla różnej liczby kwadratów.

Ćwiczenie 3

Zosia postanowiła zaprojektować bransoletkę z sześciennych koralików w dwóch wielkościach. Bok małych koralików stanowi jedną trzecią długości boku dużych koralików. Długość bransoletki powinna być równa 200.

Bransoletka z kwadratów

Napisz funkcję pomagającą Zosi narysować wzór bransoletki. Parametr ile oznacza liczbę dużych koralików w bransoletce.

Ćwiczenie 4

Napisz jednoparametrową funkcję pas(), po wywołaniu której powstanie rysunek, taki jak poniżej. Kwadraty zamalowane są na przykład kolorem żółtym. Parametr określa liczbę kwadratów w pierwszym wierszu pasa i może przyjmować wartości od 2 do 16. Długość odcinka łączącego dwa kwadraty jest dwa razy większa od długości boku kwadratu. Szerokość rysunku jest stała i wynosi 320.

Wynik dla parametru 2:

Efekt wywołania pas(2)

Wynik dla parametru 5:

Efekt wywołania pas(5)

Uzupełnij funkcję pas(). Pamiętaj, by przed rozpoczęciem rysowania przesunąć żółwia w lewo, by cały rysunek mieścił się na ekranie. Możesz wykorzystać funkcję pomocniczą obliczającą długość boku kwadratu.

| Back to top