Zadania drugiego etapu Konkursu Informatycznego dla gimnazjalistów LOGIA 09

Zadanie 1 (czekoladka).

Harcerski szyfr Czekoladka polega na rysowaniu kolejnych zaszyfrowanych liter danego wyrazu. Aby zaszyfrować literę, rysujemy fragment ramki, w którym ta litera jest zapisana, zgodnie z rysunkami obok. Ponieważ w jednej ramce najczęściej znajdują się dwie litery, kropka pokazuje, czy mamy na myśli literę z lewej, czy z prawej strony. Dla liter T, U, W, Y i Z rysowanie kropki jest zbędne (choć nie jest błędem).

Zdefiniuj procedurę CZEKOLADKA :wyraz, której daną może być słowo utworzone z wielkich liter (wybranych spośród tych, które znajdują się na rysunkach powyżej), o długości od 2 do 30 znaków. Procedura tworzy na środku ekranu rysunek przedstawiający zaszyfrowany wyraz zgodnie z regułami szyfru Czekoladka.

Procedura przedstawia wyraz w postaci graficznej, zgodnie z następującymi zasadami:

  • szerokość rysunku przedstawiającego zaszyfrowany wyraz wynosi 700,
  • rysunki odpowiadające kolejnym szyfrowanym literom są tej samej wysokości,
  • szerokość odstępu pomiędzy zaszyfrowanymi literami wynosi 1/4 wysokości rysunku,
  • szerokość zaszyfrowanych liter od A do S jest dwa razy większa od ich wysokości,
  • średnica kropki rysowanej w ramkach wynosi 1/3 wysokości litery.

Rysunki poniżej przedstawiają efekt wywołania procedury Czekoladka dla wyrazów LOGO, SZYBA, TRATWA.

Zadanie 2 (liczby pomiędzy pierwszymi).

Asia bada liczby pierwsze. Dowiedziała się, że jest ich bardzo dużo, ale na przykład zero i jedynka nie są liczbami pierwszymi. Pewnego dnia w encyklopedii znalazła następującą definicję: "Liczbami pomiędzy pierwszymi nazywamy liczby będące średnią arytmetyczną kolejnych dwóch liczb pierwszych większych od 2 (ang. interprime numbers). Pięć najmniejszych liczb pomiędzy pierwszymi to: 4, 6, 9, 12, 15.".

Pomóż Asi wyszukać liczby pomiędzy pierwszymi. Napisz funkcję LLPP :pocz :kon, która zliczy wszystkie liczby pomiędzy pierwszymi większe od :pocz i jednocześnie mniejsze od :kon. Parametr :pocz jest liczbą większą od zera, a parametr :kon jest liczbą mniejszą lub równą 10000.

Wynikiem LLPP 5 7 jest 1 (bo 6 jest liczbą pomiędzy pierwszymi).
Wynikiem LLPP 7 16 jest 3 (bo 9, 12 i 15 są liczbami pomiędzy pierwszymi).

Zadanie 3 (duże liczby).

Staś interesuje się dużymi liczbami. Zastanawiał się, czy jest możliwe, aby po pomnożeniu cyfr dużej liczby otrzymać liczbę pierwszą.

Pomóż Stasiowi rozwiązać ten problem. Napisz funkcję ICP :x, której daną :x jest niepuste słowo złożone wyłącznie z cyfr (maksymalnie 100 cyfr), a wynikiem wartość logiczna prawda, gdy iloczyn cyfr danej :x jest liczbą pierwszą, a fałsz, gdy iloczyn cyfr danej :x nie jest liczbą pierwszą.

Wynikiem ICP "121 jest prawda.
Wynikiem ICP "999 jest fałsz.