Logia11 – rok szkolny 2010/2011 – etap - II

Zad. 1. (domki) Firma architektoniczna Domlandia zaprojektowała osiedle domków stojących w jednym rzędzie zgodnie z następującymi zasadami:

Napisz procedurę DOMKI :n rysującą osiedle domków według projektu Domlandii. Parametr :n określa liczbę domków i może przyjmować wartości od 2 do 20. Szerokość rysunku wynosi 450. Do kolorowania należy użyć czterech dowolnych kolorów za wyjątkiem czarnego, którym są rysowane krawędzie.Rysunki poniżej przedstawiają efekt DOMKI 3 i DOMKI 4

Zad. 2. (Lotnisko) W porcie lotniczym, na każdej tabliczce informującej o odlocie samolotu, jest pokazywana informacja o docelowym lotnisku i godzinie odlotu. Nazwa portu lotniczego jest kodowana w postaci trzyliterowego skrótu złożonego z wielkich liter alfabetu łacińskiego, np. WAW oznacza Warszawę, AMS - Amsterdam, BCN - Barcelonę. Godzina odlotu jest reprezentowana zawsze przez cztery cyfry, np. 0905 oznacza godzinę 9:05. Litery i cyfry można zmieniać cyklicznie (tzn. za literą Z występuje litera A, a po 9 jest 0) o jedną pozycję "do przodu" lub "do tyłu".

Zdefiniuj funkcję ILEZMIAN :lot1 :lot2, której danymi są siedmioznakowe słowa (pierwsze trzy znaki oznaczają kod portu, następne cztery godzinę odlotu), a wynikiem minimalna liczba zmian znaków, jaką należy wykonać, aby zmienić wyświetlaną informację z jednego lotu na drugi.

Zad. 3. (Robot) Robot Gerard potrafi wykonać tylko cztery polecenia, nakazujące mu przejść w jedną z czterech stron świata.

Napisz funkcję ROBOT :trasa, której wartością jest liczba punktów trasy, w których robot znalazł się więcej niż jeden raz. Parametr :trasa jest słowem opisującym sekwencję poleceń, w którym mogą występować jedynie litery N, S, W oraz E. Litery te oznaczają odpowiednio polecenie ruchu w kierunku północnym, południowym, zachodnim oraz wschodnim. Zakładamy, że trasa jest tak ułożona, że każdy z jej odcinków robot przechodzi tylko raz. Gerard może wykonać maksymalnie 500 ruchów.