Zadaci s Natjecanja logo

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* ***