Logia08 – rok szkolny 2007/2008 – etap - II

Zad. 1. Każdą liczbę naturalną można przedstawić jako sumę liczb 1, 2, 4 oraz 8.

Opracowano następujący sposób graficznego kodowania liczb 1, 2, 4 oraz 8:

Zdefiniuj procedurę KODSUM :liczba, rysującą ciąg obrazków odpowiadający danej :liczba, przedstawionej jako najkrótsza (zawierająca najmniej składników) suma liczb 1, 2, 4 oraz 8. Obrazki reprezentujące kolejne kodowane składowe są uporządkowane od lewej do prawej - od tego który reprezentuje największą z liczb do tego który reprezentuje najmniejszą z nich. Co drugi obrazek jest obrócony o 180 stopni. Dana :liczba może przyjmować wartości z zakresu od 1 do 250.

Rysunki przedstawiają efekt wywołania KODSUM 51 oraz KODSUM 20.

Rysunek powinien w całości mieścić się na ekranie, a długość odcinka stanowiącego dolną podstawę powstającej figury ma być równa 500.

Zad. 2. Zdefiniuj funkcję ILEZ :słowo, której daną jest dowolne słowo.

Wynikiem funkcji jest liczba znaków znajdujących się w tym słowie pomiędzy skrajnymi samogłoskami, tj. pomiędzy pierwszą i ostatnią samogłoską, ale bez tych samogłosek.

Uznajemy, że samogłoskami są jedynie znaki: a, e, i, o, u oraz y.

W przypadku braku samogłosek w danej :słowo, wartością funkcji jest -2, a w przypadku gdy w słowie jest tylko jedna samogłoska, wartością funkcji jest -1.

Zad. 3. Zdefiniuj funkcję SUMAS :s1 :s2, są dwa niepuste słowa, mogące składać się tylko z 10 pierwszych małych liter alfabetu łacińskiego (tj. a, b, c, d, e, f, g, h, i, j). Poszczególne znaki danych słów są zakodowanymi cyframi dziesiętnymi, w ten sposób, że kolejnym literom alfabetu odpowiadają cyfry od 0 do 9. Wynikiem funkcji jest słowo będące kodem sumy zakodowanych liczb. Zakładamy poprawność danych :s1 i :s2.