Logia-5 – rok szkolny 1994/1995 – etap - III
Zad. 1. Napisz jednoparametrową funkcję SAMOMAX :zdanie. Wartością parametru :zdanie jest dowolna lista słów. Wartością funkcji powinna być lista składająca się z tych słów w danym zdaniu, które mają najwięcej samogłosek. Zakładamy, że słowa składają się z małych liter alfabetu łacińskiego (bez polskich liter), a samogłoskami są a, e, i, o, u, y. Oto przykładowe wyniki:
- SAMOMAX [abrakadabra hokus pokus] - ma wartość [abrakadabra]
- SAMOMAX [ala ma kota] - ma wartość [ala kota]
Zad. 2. Napisz jednoparametrową funkcję CYFRYNAJ :liczba. Wartością parametru :liczba jest dowolna liczba całkowita. Wartością funkcji powinna być dwuelementowa lista składająca się z najmniejszej i największej cyfry parametru :liczba. Oto przykładowe wyniki:
- CYFRYNAJ 6387644 - ma wartość [3 8]
- CYFRYNAJ 6212777 - ma wartość [1 7]
- CYFRYNAJ 666 - ma wartość [6 6]
- CYFRYNAJ 3 - ma wartość [3 3]
Zad. 3. Rozważamy drzewa o różnym stopniu złożoności. Najprostsze drzewo składa się z samego pnia. Bardziej złożone drzewo może składać się z pnia, z którego wyrastają dokładnie dwa poddrzewa. Pnie poddrzew tworzą kąt prosty i mają taką samą długość stanowiącą dwie trzecie długości pnia drzewa z którego wyrastają.
Poniżej przedstawione są rysunki uzyskane po wywołaniu DRZEWO [], DRZEWO [[] []], DRZEWO [[] [[] []]] oraz DRZEWO [[[] []] [[] [[] []]]]].
Ustalamy następujący sposób kodowania takich drzew w postaci list:
- Kodem drzewa składającego się tylko z pnia, jest lista pusta: []
- Kodem każdego bardziej złożonego drzewa jest lista, która ma dokładnie dwa elementy: pierwszy element tej listy jest kodem lewego poddrzewa, a drugi element jest kodem prawego poddrzewa.
Napisz jednoparametrową procedurę DRZEWO :kod rysowania drzew takich jak na rysunkach od 1 do 4. Wartością parametru :kod jest lista, która jest kodem drzewa zbudowanego zgodnie z podanymi zasadami. Po wywołaniu procedury DRZEWO z odpowiednim parametrem na ekranie powinien pojawić się możliwie duży rysunek drzewa o danym kodzie.