Zadania drugiego etapu Konkursu Informatycznego dla gimnazjalistów LOGIA 07

Zadanie 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:

1

2

3

4

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. Poniższe 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.

Zadanie 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.

Wynikiem ILEZ "hokuspokus jest 6.
Wynikiem ILEZ "klucz jest -1.
Wynikiem ILEZ "xxx jest -2.

Zadanie 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:s2.

Wynikiem SUMAS "j "j jest "bi.
Wynikiem SUMAS "baab "jjj jest "caaa.