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

Zadanie 1.

Napisz procedurę bez parametrów o nazwie RYBKA, która tworzy na środku ekranu możliwie duży następujący rysunek rybki złożony z łuków i odcinków prostoliniowych.
Wskazówka
Programowanie takich rysunków dobrze jest zacząć - dla uchwycenia właściwych proporcji - od szkicu na pokratkowanej kartce papieru.

Zadanie 2.

Napisz procedurę bez parametrów o nazwie ZNACZEK, która tworzy na ekranie możliwie duży następujący rysunek:

Zadanie 3.

Rysunek przedstawia cztery siatki o złożoności odpowiednio 1, 2, 3 oraz 4. Są one przykładami figur jednobieżnych; można je narysować bez odrywania ołówka od papieru, kreśląc każdy jednostkowy odcinek dokładnie jeden raz.
Napisz procedurę SIATKA :n rysowania w sposób jednobieżny takich siatek o dowolnym stopniu złożoności :n.
Po wywołaniu procedury SIATKA z dowolną wartością parametru :n od 1 do 10, żółw powinien wykreślić na ekranie możliwie duży rysunek siatki o złożoności :n. Powinien zacząć i skończyć kreślenie w tym samym węźle siatki i przebiec dokładnie jeden raz przez każdy jednostkowy odcinek siatki. Żółw powinien być widoczny, po narysowaniu każdego odcinka powinien odczekać chwilę, aby było widać, jak jest tworzona figura.

Zadanie 4.

Umówmy się, że kwadrat dzielimy na n części w następujący sposób:

  • w pierwszym ruchu rozcinamy kwadrat pionowym odcinkiem na dwa przystające prostokąty,
  • w drugim ruchu prawy z tych prostokątów rozcinamy poziomym odcinkiem na dwa przystające kwadraty,
  • w trzecim ruchu dolny z tych dwóch kwadratów rozcinamy pionowym odcinkiem na dwa przystające prostokąty,
  • w czwartym ruchu prawy z tych prostokątów rozcinamy poziomym odcinkiem na dwa przystające kwadraty itd. aż otrzymamy n części.

Poniższy rysunek przedstawia podział kwadratu na odpowiednio 6 oraz 9 części.

Napisz procedurę z jednym parametrem PODZIAŁ :n, która dla dowolnej wartości naturalnej :n, nie mniejszej niż 1 i nie większej niż 20, tworzy na środku ekranu możliwie duży rysunek kwadratu podzielonego na :n części (zgodnie z podanymi zasadami).
Uwaga. Twoja procedura może kreślić odcinki tworzące rysunek kwadratu podzielonego na :n części w dowolnej kolejności, ale ostateczny rezultat - rysunek na ekranie musi być zgodny z określonymi wyżej warunkami. Dla :n = 1 procedura powinna narysować odpowiednio duży (nie podzielony) kwadrat.