Zadania drugiego etapu Mazowieckiego Konkursu Informatycznego dla gimnazjalistów LOGIA 03

Zadanie 1.

Zdefiniuj procedurę RYSUJ :s, której daną może być dowolne niepuste słowo utworzone z małych liter alfabetu łacińskiego (bez polskich znaków diakrytycznych) oraz cyfr. Procedura tworzy rysunek złożony z kwadratów oraz dwa razy wyższych prostokątów. Kolejne rysowane figury odpowiadają kolejnym znakom danej. Znaki przedstawiamy jako kwadraty lub prostokąty zgodnie z ich wysokością:

  1. cyfrom oraz literom b, d, f, h, k, l, t odpowiadają prostokąty wysunięte do góry,
  2. literom g, j, p, q, y - prostokąty wysunięte do dołu,
  3. pozostałym literom - kwadraty.

Prostokąty odpowiadające cyfrom wypełniamy kolorem zielonym, figury odpowiadające samogłoskom wypełniamy kolorem czerwonym, zaś spółgłoskom - żółtym.
Rysunek powinien mieścić się na ekranie i być możliwie duży, maksymalna długość słowa wynosi 100 znaków.

Poniżej przedstawione są rysunki uzyskane po wywołaniu RYSUJ "2krokodyle, RYSUJ "kosmonautyka oraz RYSUJ "bajka.

Zadanie 2.

Zdefiniuj funkcję LC :s, której daną może być dowolne słowo składające się z par litera-cyfra (np. "a5z3x0y2), a wynikiem - słowo składające się wyłącznie z liter, w którym każdej kolejnej parze litera-cyfra danego słowa odpowiada ciąg tylu identycznych liter, jaka jest wartość cyfry występującej bezpośrednio po literze.

Wynikiem LC "a3n5z1 jest "aaannnnnz.
Wynikiem LC "x7y0a1z2z1c4 jest "xxxxxxxazzzcccc.

Zadanie 3.

Zdefiniuj funkcję KOD :s, której daną może być dowolne niepuste słowo składające się jedynie z małych liter alfabetu łacińskiego. Wynikiem funkcji jest słowo, utworzone z danego słowa według następujących zasad:

  1. pierwszy i ostatni znak nie ulegają zmianie,
  2. z każdej sekwencji kolejnych spółgłosek są pozostawione tylko skrajne, pozostałe pomijamy,
  3. każda samogłoska (o ile nie jest pierwszym lub ostatnim znakiem słowa) jest powielona.
Wynikiem KOD "abrakadabra jest "abraakaadaabra.
Wynikiem KOD "skrzynka< jest "szyynka.
Wynikiem KOD "warsztat jest "waartaat.