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

Zadanie 1.

Zdefiniuj funkcję z jednym parametrem DOSTU :listaliczb, której wartością dla danej listy liczb całkowitych jest:

  • ta sama lista liczb, jeśli jej suma wynosi sto,
  • dana lista liczb całkowitych z dopisaną na końcu jedną liczbą, taką, że suma nowej listy wynosi 100.

Oto przykładowe wyniki:

DOSTU [35 -15 77] ma wartość [35 -15 77 3]
DOSTU [35 -15 80] ma wartość [35 -15 80]
DOSTU [35 -15 77 33] ma wartość [35 -15 77 33 -30]
DOSTU [] ma wartość [100]

Zadanie 2.

Kwadrat o boku 16 można pokryć 85 jednakowymi płytkami w kształcie litery L (utworzonej z trzech jednostkowych kwadratów) i jedną płytką w kształcie kwadratu o boku 1. Poniższe rysunki przedstawiają dwa takie ułożenia różniące się położeniem kwadratowej płytki.

Kwadratowa płytka na rysunku pierwszym ma współrzędne [13,8] - leży w 13 wierszu od góry i w 8 kolumnie od lewej. Kwadratowa płytka na rysunku drugim ma współrzędne [8,6] - leży w 8 wierszu od góry i w 6 kolumnie od lewej. Kwadratowa płytka w lewym górnym rogu ma oczywiście współrzędne [1,1], a płytka w prawym dolnym rogu [16,16].
Napisz procedurę z dwoma parametrami POSADZKA :w :k, która dla danych wartości współrzędnych :w :k z zakresu [1..16], tworzy na środku ekranu możliwie duży rysunek kwadratu pokryty 85 płytkami w kształcie L i jedną płytką kwadratową o danych współrzędnych.

Zadanie 3.

Kwadratową siatką o rozmiarze n nazywamy wycinek pokratkowanej kartki papieru mający n*n kratek. Pola kwadratowej siatki (tj. kratki) numerujemy kolejno wierszami od lewego górnego pola do prawego dolnego liczbami od 0 do n*n-1. Na przykład kwadratowa siatka o rozmiarze 8 ma 64 pola ponumerowane od 0 do 63, jak na rysunku poniżej:

Jeżeli rozmiar siatki jest parzysty, to można ja podzielić na cztery ćwiartki o identycznych rozmiarach. Cztery ćwiartki siatki numerujemy wg tej samej zasady jak pola:

  • ćwiartka w lewym górnym rogu siatki ma numer 0,
  • ćwiartka w prawym górnym rogu ma numer 1,
  • ćwiartka w lewym dolnym rogu ma numer 2,
  • ćwiartka w prawym dolnym rogu ma numer 3.

Zdefiniuj funkcję z dwoma parametrami NUMER_CWIARTKI :rozmiar :numer, której wartością dla danego rozmiaru kwadratowej siatki, będącego parzystą liczbą całkowitą dodatnią, oraz numeru pola jest numer ćwiartki, w której leży to pole. Oto przykładowe wyniki:

NUMER_CWIARTKI 4 5 ma wartość 0
NUMER_CWIARTKI 4 13 ma wartość 2

Twoja funkcja będzie testowana tylko dla poprawnych danych. Może nie mieć wartości lub mieć wartość przypadkową, jeśli dane nie są poprawne, np. jeśli :rozmiar nie jest liczbą parzystą lub :numer jest za duży.