Upload
andrea-dea-boskovic
View
38
Download
1
Embed Size (px)
DESCRIPTION
logo
Citation preview
SVEUILITE U SPLITU
PRIRODOSLOVNO-MATEMATIKI FAKULTET
DOPUNSKO PEDAGOKO-PSIHOLOKO-DIDAKTIKOMETODIKOG OBRAZOVANJA
Metodiki informatiki seminar s nastavnom praksom II
Zadaci s natjecanja
Student: Dragan Pesla
Studijska grupa: DPPO Informatika
Br. Indeksa: 49/2011
SPLIT, rujan 2012.
1
Sadraj:
1. ZRCALO (upanijsko natjecanje 2001.) ............................... 2
2. KRUGOVI (kolsko natjecanje 2006.) ............................... 5
3. TROKUT (Dravno natjecanje 2002.) ............................... 8
4. BOJA (upanijsko natjecanje 2001.) ............................... 11
5. IVICA (upanijsko natjecanje 2006.) ............................... 14
6. LOTO (Dravno natjecanje 2011.) ............................... 16
2
1. ZRCALO
Napiite proceduru ZRCALO :x :n :d koja de nacrtati
dva mnogokuta s :n stranica duljine :d kao na slici. Desni
mnogokut je udaljen od sredine ekrana za :x. Lijevi mnogokut
je zrcaljena slika desnog mnogokuta. Zrcalo je zamiljena
linija koja prolazi okomito kroz sredinu ekrana (vidi sliku).
Mnogokuti su postavljeni tako da je prva stranica koja se
iscrtava paralelna s linijom zrcaljena. Linija zrcaljena se ne
iscrtava.
Varijable :x i :d mogu biti vede ili jednake nuli. Varijabla :n moe biti veda ili jednaka jedan.
Ulazni podaci:
:x - udaljenost od osi osne simetrije
:n - broj kutova
:d - duljina stranice
Rjeenje zadatka:
to zrcalo :x :n :d tell [0 1] ask 0 [mnogokut 1] ask 1 [mnogokut -1] end to mnogokut :o pu rt :o * 90 fd :x lt :o * 90 pd repeat :n [fd :d rt 360/:n * :o] end
3
Objanjenje:
- snalaenje u prostoru, izraun kutova, prepoznavanje osnovnog oblika
- procedura ZRCALO slui za crtanje osnovnog i zrcalnog mnogokuta
- osnovni problemi:
o nacrtati mnogokut po zadanim ulaznim parametrima :x :n :d
o izraun kuta okreta za nastavak crtanja osnovnog dijela mnogokuta
o pravilno postavljanje kornjae za crtanje desnog lika
o pomak mnogokuta u odnosu na os simetrije
o zrcalni mnogokut ima negativnu rotaciju prilikom crtanja zrcalnog mnogokuta u odnosu na
os simetrije
Testiranje zadatka:
POZIV PROCEDURE REZULTAT
1. CS ZRCALO 0 4 0 Nita se ne iscrtava
2. CS ZRCALO 0 4 100 Slika 1.1
3. CS ZRCALO 1 4 100 Slika 1.2
4. CS ZRCALO 100 6 100 Slika 1.3
5. CS ZRCALO 50 5 100 Slika 1.4
4
slika 1.1 slika 1.2
slika 1.3 slika 1.4
5
2. KRUGOVI
Napiite naredbu KRUGOVI :r :s :n koja crta krunicu radijusa :r. Unutar te krunice se mora nalaziti :n manjih krunica radijusa :s. Unutarnje krunice moraju dirati vanjsku i moraju biti pravilno rasporeene, tj. njihova sredita su vrhovi pravilnog :n terokuta. Pozicija lika na ekranu nije bitna. Radijusi :r i :s su prirodni brojevi pri emu je :s manji od :r. Parametar :n je pozitivan broj.
Na slici dolje je primjer za KRUGOVI 200 100 3.
Primjer
Ulazni podaci:
:r radijus vede krunice
:s radijus manjih krunica
:n broj krunica unutar vede krunice
6
Rjeenje zadatka:
to krugovi :r :s :n
cs pd
circle :r
repeat :n [ pu fd :r-:s pd circle :s pu bk :r-:s rt 360/:n]
end
Objanjenje:
- snalaenje u prostoru, izraun kutova, prepoznavanje osnovnog oblika
- procedura KRUGOVI slui za crtanje osnovnog oblika krunice
- izraun sredita manjih krunica
- osnovni problemi:
o pomodu dizanja i sputanja pera kornjaa se pozicionira do sredita manjih krunica
o u trenutku pozicioniranja manjih krunica iscrtavaju se manje krunice
o vrada se u poetni poloaj te ide do sljededeg centra manje krunice :n puta
o prilikom iscrtavanja svake sljedede krunice kornjaa se rotira za kut od 360/:n
Testiranje zadatka:
POZIV PROCEDURE REZULTAT
1. cs KRUGOVI 100 50 3 Slika 2.1
2. cs KRUGOVI 200 100 4 Slika 2.2
3. cs KRUGOVI 150 60 6 Slika 2.3
4. cs KRUGOVI 150 45 25 Slika 2.4
5. cs KRUGOVI 180 100 8 Slika 2.5
6. cs KRUGOVI 200 70 100 Slika 2.6
7
slika2.1 slika 2.2
slika 2.3 slika 2.4
slika 2.5 slika 2.6
8
3. TROKUT
Napiite proceduru trokut :d :n koja crta trokut visine :n kojemu su duljine stranica :d. Trokut visine 1 je obini jednakostranini trokut sa stranicama duljine :d, dok trokut visine n Jednakostranini trokut koji u svakom vrhu ima upisan trokut visine n 1 s dvostruko kradim stranicama (vidi sliku 1).
Parametar :n je prirodan broj manji od 8. Parametar :d je broj.
Slika 1.
Ulazni podaci:
:n broj nivoa (visine)
:d duljina stranice trokuta
9
Rjeenje zadatka:
to trokut :d :n
if :n = 0 [ stop ]
repeat 3 [ fd :d
rt 120
trokut :d/2
:n - 1 ]
END
Objanjenje:
- rekurzija (rekurzivna procedura) - osnovni oblik je trokut duljine stranice :d, a duljina svakog unutarnjeg trokuta se smanjuje za pola
o postupak se ponavlja sve dok se ne ispuni granini uvjet zaustavljanja (:n=0) - naredba REPEAT izvriti de se 3 puta jer se radi o trokutu
- unutar naredbe REPEAT nalazi se rekurzivni poziv procedure TROKUT gdje se osnovna stranica
manjeg trokuta smanjuje za pola
- obratiti pozornost na naredbu okretanja kornjae rotacija za vrijednost unutarnjeg kuta 360/3=120
Testiranje zadatka:
POZIV PROCEDURE REZULTAT
1. cs TROKUT 100 2 Slika 3.1
2. cs TROKUT 100 4 Slika 3.2
3. cs TROKUT 100 5 Slika 3.3
4. cs TROKUT 100 8 Slika 3.4
10
slika 3.1 slika 3.2
slika 3.3 slika 3.4
11
4. BOJA
Ivica je odluio oliiti svoju sobu. Boja koju je izabrao pakirana je u limenkama. U jednoj
limenci ima dovoljno boje za 3 m2. Koliko limenki boje treba kupiti ako je soba duine D, irine S i
visine V? U sobi postoji otvor koji ne treba bojati, a ine ga vrata i prozor. Zauzima povrinu
duine DO i irine SO.
Primjer:
RB Ulaz Izlaz
1. 3
4
5
1
2
27
Ulazni podaci:
- duina sobe D (0
12
Rjeenje zadatka:
INPUT "Unesite duzinu sobe:", duljina
INPUT "Unesite sirinu sobe:", sirina
INPUT "Unesite visinu sobe:", visina
INPUT "Unesite duzinu otvora:", VisinaProzora
INPUT "Unesite sirinu otvora:", SirinaProzora
rezultat = sirina * duljina + 2 * sirina * visina + 2 * duljina * visina
rezultat = rezultat - SirinaProzora * VisinaProzora
IF rezultat MOD 3 = 0 THEN
rezultat = rezultat \ 3
ELSE rezultat = rezultat \ 3 + 1
END IF
PRINT rezultat
Objanjenje:
- uvjetni operator grananja (IF), koritenje petlje (FOR NEXT), operatora ostatka cjelobrojnog
dijeljenja MOD, usporeivanje
- kljuni dio zadatka su aritmetiki operatori i operator ostatka cjelob. dijeljenja MOD
- osnovni problemi:
o izraunavanje povrine za raunanje potronje boje u broju limenki (L)
o ukoliko je ostatak cjelob. dijeljenja ukupne povrine s jednak nuli (MOD=0), rezultat se dijeli
s 3, koliinom litara boje u pojedinoj limenci
o odreuje se toan broj limenki
o u protivnom je potrebna jedna limenka vika (+1)
13
Testiranje zadatka:
Test Br. ULAZ IZLAZ
1 3
9
7
3
5
60
2 10
10
10
1
10
164
3 11
17
15
3
7
336
4 1000
700
500
200
100
793334
14
5. IVICA
Ivica je od kole udaljen N metara. Danas je krenuo prema koli i nakon M metara pjeaenja osjetio neutaivu e i mora to prije dodi do vode. Vodu moe piti kod kude ili u koli te ga zanima hode li do vode prije stidi ako se vrati kudi ili ako nastavi prema koli. Tvoj zadatak je napisati program koji de pomoi Ivici i ispisati treba li se vratiti kudi ili nastaviti prema koli kako bi to prije doao do vode.
Napomena: Ako se Ivica nalazi tono na pola puta, nastavit de prema koli.
RB ULAZ IZLAZ Objanjenje
1. 100 20
KUCA S obzirom da je Iviina kuda od kole udaljena 100 metara, moemo primijetiti da nakon to je preao 20 metara, do kole treba prijedi jo 80 metara, dakle, blie mu je kuda, pa de se vratiti kudi.
2. 1000 500
SKOLA S obzirom da je jednako udaljen od kude i kole, nastavit de prema koli.
Ulazni podaci:
- prirodan broj N (1 N 10000), udaljenost (u metrima) Iviine kude i kole,
- prirodan broj M (1 M N), udaljenost (u metrima) koju je Ivica preao prema koli.
Izlazni podaci:
- jedan od stringova: o "KUCA" ako de Ivica do tekudine dodi prije ako se vrati kudi, o "SKOLA" ako de Ivica do tekudine dodi prije ako nastavi prema koli. Rjeenje zadatka:
INPUT Unesite udaljenost do kole:, n INPUT Unesite koliko je Ivica preao metara:, m x = n m d = n / 2 IF m < d THEN
PRINT "KUCA" ELSE PRINT "SKOLA"
END IF
15
Objanjenje:
- uvjetni operator grananja (IF), usporeivanje
- kljuni dio zadatka kako postaviti jednadbu, usporediti rezultat s ulaznim podacima
- ispis stringova
- osnovni problemi:
o postavljanje uvjeta grananja (m
16
6. LOTO
Baka Slavica je poeljela ponovno iskusiti atmosferu Milanskog tjedna mode. Novac za organizaciju ovog putovanja de prikupiti igrajudi igre na sredu. Jedna od tih igara je i Loto 7/39. Loto 7/39 je igra u kojoj je cilj pogoditi kojih de sedam brojeva biti izvueno iz grupe brojeva od 1 do 39. Svaki od tih sedam odabranih brojeva treba oznaiti znakom 'X' na posebnom listidu koji se moe kupiti na svakom kiosku (vidi sliku). Baka Slavica je odabrala sedam brojeva, ali ih nikako nije uspjela oznaiti na listidu. Zato je zamolila tebe da joj napravi uzorak koji de na mjestima gdje se nalazi odabrani broj imati znak X, a na ostalim mjestima znak * (zvjezdica). Koristedi taj uzorak, ona de X-eve samo precrtati na njihove pozicije u Loto listidu.
Ulazni podaci:
- sedam razliitih prirodnih brojeva Li ( 1 Li 39, za i=1, 2, ..., 7 ), brojevi koje je odabrala baka Slavica u poretku od manjeg prema vedem.
Izlazni podaci:
- 13 redaka s po 3 znaka X ili *, u poretku koji je opisan u zadatku.
17
Rjeenje zadatka:
DIM lista$(39) PRINT "Upisi 7 brojeva u rasponu od 1 - 39: " FOR i = 1 TO 39 lista$(i) = "*" NEXT FOR i = 1 TO 7 INPUT Br lista$(Br) = "X" NEXT PRINT "" FOR i = 1 TO 39 PRINT lista$(i); IF i MOD 3 = 0 THEN PRINT "" END IF NEXT
Objanjenje:
- koritenje uvjetnog operatora grananja (IF), koritenje petlje (FOR NEXT), operatora ostatka
cjelobrojnog dijeljenja MOD, koritenje nizova (lista$)
- grafiki prikaz podataka, koristi se formatirani tekstualni ispis
- u prvom koraku se niz inicira s 39 znakova * (zvjezdica)
- zatim se u nizu na mjestima lanova upisanih 7 brojeva zvjezdice * zamjenjuju znakovima X
- niz se ispisuje u skupovima od 3 (tri) znaka pomodu koritenja FOR NEXT petlje
- nakon ispisa prvog reda znakova slijedi skok u novi red (PRINT )
- skupine se odreuju uvjetnim grananjem i operatorom MOD (IF i MOD3=0)
- osnovni problemi:
o kreiranje niza od 39 znakova
o zamjena zvjezdice odgovarajudim znakom na mjestu odabranog LOTO broja
o ispis znakova u stupcima po 3 znaka
18
Testiranje zadatka:
Ulaz Test 1 Test 2 1 1 5 2 10 3 20 4 25 5 33 6 38 7
Izlaz X** XXX *X* XXX *** X** X** *** *** *** *** *** *X* *** *** *** X** *** *** *** **X *** *** *** *X* ***