ZADACI ZA GRADSKO NATJECANJE IZ INFORMATIKE U OPATIJI 1997./98.
OSNOVNA ŠKOLA PROGRAMSKI JEZIK “PCLOGO”
ZADATAK “KORDI.LGO”
15 BODOVA
Napisati proceduru
“kordi” koja crta vodoravnu os koordinatnog sustava obilježenu slovom x i okomitu os obilježenu slovom y, ali samo pozitivne vrijednosti (prvi kvadrant). Nakon toga traži se od korisnika da upiše redom šest brojeva. Za odsječak na osi x obilježen s 0 (sjecište obiju osi), y će imati prvu vrijednost iz niza. Za broj 1 na osi x, vrijednost za os y će biti drugi broj u upisanom nizu od šest brojeva. I tako dalje do vrijednosti 5 na osi x, koja će imati za os y posljednji (šesti) upisani broj. Sve točke nastale na taj način moraju biti spojene crtom, poput grafa. Sjecište osi je točno u sredini zaslona (ekrana), a točke na x i y osi udaljene jedna od druge za 30 piksela (kornjačina koraka). Nije potrebno označavati posebno te točke-vrijednosti na osima x i y.
| Primjeri rada sa slikama: | |
|---|---|
![]() |
![]() |
| ? kordi | ? kordi |
| ?UPIŠITE BROJEVE | ?UPIŠITE BROJEVE |
| ? 1 2 1 2 1 2 | ? 5 4 1 2 3 5 |
rješenje:
TESTIRANJE ZADATKA
“KORDI.LGO”MAXIMALNO BODOVA: 15
| SLUČAJ: | BODOVI |
| AKO SE NACRTA SAMO KOORDINATNI SUSTAV BEZ OZNAKE X i Y | + 2 |
| AKO SE NACRTA KOORDINATNI SUSTAV SAMO S JEDNOM OZNAKOM (ili X ili Y) |
+1 ili |
| ILI AKO SE NACRTAJU OBJE OZNAKE i X i Y | +2 |
| AKO SE POJAVI PORUKA PRIJE UNOSA PODATAKA, npr. PORUKA “UPISITE BROJEVE” ili SLIČNA | +1 |
| AKO SE PODACI UNOSE JEDAN PO JEDAN, A NE ODJEDNOM |
+2 ili |
| AKO SE PODACI UNOSE ODJEDNOM U NIZU | +5 |
| AKO SE CRTAJU TOČNO TOČKE, ALI NE SVE |
+2 ili |
|
AKO SE CRTAJU TOČNO SVE TOČKE |
+5 |
| KOD TESTIRANJA TOČNOSTI CRTANJA UPISATI: | ||
|---|---|---|
![]() |
![]() |
![]() |
| ?kordi | ?kordi | ?kordi |
| UPIŠITE BROJEVE | UPIŠITE BROJEVE | UPIŠITE BROJEVE |
| ? 1 1 1 1 1 5 | ? 0 1 2 3 4 5 | ? 5 1 5 1 5 0 |
zadatak i rješenje: Fredi Glavan, prof.
ZADATAK “ZAMJENI.LGO”
30 BODOVA
Napisati proceduru “zamjeni” koja traži riječ i jedno slovo iza nje. Ona sve samoglasnike u riječi zamjeni sa tim slovom ispisujući novu riječ, te ispiše koliko zamjena je bilo.
Ako se ne upiše ništa nakon pozivanja procedure “zamjeni”, ispisuje se na zaslonu (ekranu) upozorenje: upisite nesto! Ako se upiše krivi podatak, a ne jedna riječ i do nje jedno slovo, ispiše se:
pogresan upis!
Ako se upiše npr. Riječ: otorinolaringlologija i slovo: i
Treba se dobiti na zaslonu:
ITIRINILIRINGILIGIJI
BROJ ZAMJENA JE 10
PRIMJER RADA ZA
GORNJI SLUČAJ: ? zamjeni? otorinolaringlologija iITIRINILIRINGILIGIJI
BROJ ZAMJENA JE 10
rješenje:
TESTIRANJE ZADATKA
“ZAMJENI.LGO”MAXIMALNO BODOVA: 30
|
SLUČAJ UNOSA: |
ISPIS: |
BODOVI |
|
? zamjeni ana e |
ENA BROJ ZAMJENA JE (netočan i mjenja samo prvo slovo) |
+1 ili |
|
? zamjeni ana e |
ENA BROJ ZAMJENA JE 1 (točan, ali mjenja samo prvo slovo) |
+2 |
|
? zamjeni ivana k |
KVKNK BROJ ZAMJENA JE (netočan, ali mjenja sva slova) |
+5 ili |
|
? zamjeni ivana k |
KVKNK BROJ ZAMJENA JE 3 (točan i mjenja sva slova) |
+10 |
|
? zamjeni otorinolaringologija e |
ETERENELERENGELEGEJE BROJ ZAMJENA JE (netočan, ali mjenja sva slova) |
+ 3 ili |
|
? zamjeni otorinolaringologija e |
ETERENELERENGELEGEJE BROJ ZAMJENA JE 10 |
+ 6 |
|
? zamjeni (pritisak na enter) |
UPISITE NESTO! |
+2 |
|
? zamjeni iva i mara k |
POGRESAN UPIS! |
+2 |
|
? zamjeni iva ka |
POGRESAN UPIS! |
+2 |
|
? zamjeni [iva iva] k |
POGRESAN UPIS! |
+2 |
|
? zamjeni [iva iva] [k k] |
POGRESAN UPIS! |
+2 |
|
? zamjeni [iva k] |
POGRESAN UPIS! |
+2 |
zadatak i rješenje: Fredi Glavan, prof.
ZADATAK “TROKUTI.LGO”
30 BODOVA
Izradi program čija glavna procedura crta na sredini ekrana jedan jednakostraničan trokut. Dužina stranice trokuta se unosi pozivom procedure TROKUTI :A . Trokut mora biti popunjen bojom a njegova središnjica ( pola visine trokuta ) mora biti u sredini ekrana (slika 1 ).
Sada se crta drugi trokut koji ima zajedničku stranicu AB s prvim
trokutom ( slika 2.). Drugi trokut započinje rotaciju oko prvog
trokuta na slijedeći način :
- u smjeru kazaljke na satu,
- u točki A je vezan za prvi trokut,
- ne ostavlja trag za sobom, nego imamo dojam animcije,
- kada se potpuno nasloni na stranicu AC rotirajući se trokut
veže za točku C i nastavlja rotaciju,
- kada se potpuno nasloni na stranicu CB rotirajući se trokut
veže za točku B i nastavlja rotaciju.
Na kraju rotirajući trokut završava svoj put i postavlja se gdje je bio na početku. Obrati pažnju da glavni trokut bude na sredini ekrana.Isto tako pokušaj kontrolirati unošenje nepoznanice :A . Ako je nepoznanica : A prevelika i animacija se ne može prikazati u potpunosti program se prekida.
NAPOMENA:
Oznake vrhova i prikaz smjera kretanja trokuta na slikama služe da pojasne zadatak i nije ih potrebno prikazivati. Boja ekrana mora biti crna a boja kornjače bijela.

testiranje zadatka:
? trokuti 80
? trokuti 160
? trokuti 200 (prekida se program jer crtež
izlazi izvan zaslona)
| rezultati testiranja |
bodova |
| sve se obavlja |
30 |
|
u 3. testu se ne prekida program |
25 |
|
glavni trokut nije u sredini zaslona |
20 |
|
rotirajući trokuti se ne brišu |
10 |
|
rotirajući se trokut ne pojavljuje na stranicama glavnog |
5 |
|
nacrtan je samo glavni trokut |
1 |
provjera točnosti sredine trokuta
Kod poziva trokuti 116, pola visine iznosi 50 što znači ako idemo fd 50 dolazimo na vrh trokuta odnosno s bk 50 na dno trokuta
rješenje:
zadatak i rješenje: Boris Turjak, prof.
ZADATAK “BOCANJE.LGO”
25 BODOVA
Napiši program proceduru "bocanje" koja crta vodoravnu crtu na ekranu i prikazuje igralište za boćanje i bulin koji se kod pokretanja procedure "bocanje" uvijek nalazi na drugom mjestu po x osi pozitivna vrijednost na desnoj strani ekrana (sl.1).
Napiši proceduru "igrac1 : bacanje" koja će balotu igrača 1 što više približiti bulinu i kod pokretanja procedure treba biti prikazano odakle igrač baca bulin. Igrač se i uvijek nalazi na drugom mjestu po x osi negat
ivna vrijednost (lijeva strana ekrana).Napiši proceduru "igrac2 : bacanje" koja će balotu igrača 2 što više približiti bulinu. Kod pokretanja procedure treba biti prikazano odakle igrač baca bulin. Igrač se uvijek nalazi na drugom mjestu po x osi negativna vrijednost (lijeva str. Ekrana) (sl.2).
Nakon što si pokrenuo procedure "bocanje " , "igrac1 : bacanje" i proceduru "igrac2 : bacanje " trebaš dobiti sliku koja je balota bliže bulinu i ispis koji je igrač pobjedio. Pobjednik je onaj igrač čiji je balun bliži bulinu (sl.3). Ako je udarac prejak na ekranu dobiti ćeš ispis "balota izvan igrališta ".
Program snimi pod imenom "boćanje. Lgo ".

slika 1
kod pokretanja procedure bocanje bulin se nalazi na pozitivnoj vrijednosti koordinate x, uvjek na drugom mjestu

slika 2
kod pokretanja procedure igrac2 balota igrača 1 je vidljiva kao i položaj igrača 2

slika 3
igrac1 40
igrac2 42
igrac1 je pobjedio
rješenje:
zadatak i rješenje: Boris Bolšec, prof.