Zadania drugiego etapu IV Warszawskiego Konkursu Informatycznego
rok szkolny 1997/98

Zadanie 1.

Zdefiniuj procedurę z dwoma parametrami TROJKI :zakres :suma, której wywołanie powoduje wypisanie w kolejnych wierszach wszystkich trójek liczb całkowitych dodatnich a b c, nie większych niż dana wartość :zakres, takich że: a<b<c oraz a+b+c=:suma. Oto przykładowe działanie procedury:

TROJKI 6 10 TROJKI 7 12
powinno wypisać na ekranie: powinno wypisać na ekranie:
1 3 6
1 4 5
2 3 5
1 4 7
1 5 6
2 3 7
2 4 6
3 4 5

Zadanie 2.

Zdefiniuj funkcję z jednym parametrem MOS :wyraz, której wartością dla danego wyrazu jest liczba liter zawartych między najbardziej odległymi samogłoskami w tym wyrazie, lub -1 w przypadku gdy wyraz nie zawiera przynajmniej dwóch samogłosek. Zakładamy, że wyrazy zawierają jedynie małe litery alfabetu łacińskiego. Oto przykładowe wyniki:

MOS "hokus ma wartość 1
MOS "nic ma wartość -1
MOS "abrakadabra ma wartość 9

Zadanie 3.

Z trzech identycznych kwadratów można ułożyć figurę o kształcie litery L, taką jak na rysunku a. Takie samo L można utworzyć:
z 4 dwa razy mniejszych L - ja na rysunku b,
z 16 cztery razy mniejszych L - jak na rysunku c, itd.

Każde kolejne L jest coraz bardziej złożone. Przyjmijmy, że:

  • proste L na rysunku a ma stopień złożoności 0
  • L na rysunku b ma stopień złożoności 1
  • L na rysunku c ma stopień złożoności 2
  • L o stopniu złożoności n składa się z 4-n odpowiednio mniejszych prostych L.

Napisz procedurę z jednym parametrem L :n, która dla dowolnego :n tworzy na środku ekranu możliwie duży rysunek L o stopniu złożoności :n.