1 / 20

ZADACI S NATJECANJA

ZADACI S NATJECANJA.

lamis
Download Presentation

ZADACI S NATJECANJA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ZADACI S NATJECANJA

  2. Napišite proceduru PRAVI :a :b koja će nacrtati pravokutni trokut s katetama duljina :a i :b, ali tako da dulja kateta leži vodoravno, a kraća okomito. Jedan vrh trokuta je u centru ekrana. Katete su kraće stranice pravokutnog trokuta koje stoje okomito jedna na drugu. • Primjer:PRAVI 50 100 i PRAVI 100 50 daju isti rezultat koji je prikazan na slici.

  3. IF…THENIF … THEN … ELSE • Naredbe koje služe za grananje programa. • Koristi se kada izvršenje nekih naredbi ovisi o nekom uvjetu. • IF uvjet THEN [niz naredbi] • Ako je uvjet istinit (zadovoljen) niz naredbi će se izvršiti.

  4. Primjer1 (IF… THEN) • Napišite proceduru TROKUT :d, koja će crtati jednakostraničan trokut sa stranicama duljine :d, ako je :d veći od nule. • Prije crtanja trokuta moramo provjeriti da li je :d veći od 0 (:d>0). • Ako jest tada će se izvršiti niz naredbi za crtanje trokuta.

  5. TO TROKUT :D IF :D>0 THEN [REPEAT 3[FD :D RT 120]] END

  6. Primjer2 Napišite proceduru PARAN :n koja ispisuje BROJ JE PARAN, ako je :d paran broj. Objašnjenje: Broj je paran ako pri dijeljenju sa dva daje ostatak nula. Funkcija REMAINDER vraća ostatak pri cjelobrojnom dijeljenju.

  7. REMAINDER :a :b • Vraća ostatak pri dijeljenju broja :a s brojem :b. • Npr: remainder 3 2 • Rezultat: 1 (kada dijelimo 3 s 2, rješenje je jedan, a ostatak je 1)

  8. Rješenje: TO PARAN :N IF (REMAINDER :N 2)=0 PR [BROJ JE PARAN] END

  9. Primjer (IF…THEN…ELSE) • Napišite proceduru POZITIVAN :X koja ispisuje POZITIVAN ako je :x veći od nule, u protivnom ispisuje NEGATIVAN. IF uvjet THEN [niz naredbi] ELSE [drugi niz naredbi] Ako je uvjet zadovoljen izvrši se niz naredbi iza THEN, u protivnom se izvrši niz naredbi iza ELSE.

  10. Rješenje: • TO POZITIVAN :X IF :X>0 PR [POZITIVAN] ELSE PR [NEGATIVAN] END

  11. RJEŠENJE 1.ZADATKA: • Ne znamo duljinu hipotenuze, ali nakon crtanja kateta pod pravim kutom, moramo se vratiti na početak crtanja tj. U sredinu ekrana – naredbom HOME. to pravi :a :b cs rt 90 if :a>:b then [fd :a lt 90 fd :b] else [fd :b lt 90 fd :a] home end

  12. FOR • Petlja u kojoj se neka varijabla u svakom ponavljanju mijenja za isti broj (najčešće se uvećava za jedan). FOR var pocetak kraj [niz naredbi]

  13. Na početku izvršavanja niza naredbi varijabla poprima vrijednost pocetaki provjerava se da li je varveće ili jednako od kraj. Niz naredbi se izvršava i var se povećava za jedan. Postupak se ponavlja sve dok je var manje ili jednako kraj.

  14. Primjer (FOR) • Napišite proceduru ISPIS koja ispisuje sve prirodne brojeve manje od 10. Rješenje: TO ISPIS FOR “i 1 9 [pr :i ] END

  15. ZADATAK: • Napišite proceduru POLI :u :v :d koja crta pravilne mnogokute jedan unutar drugog. Svi mnogokuti imaju jednaku duljinu stranice :d. unutarnji mnogokut ima najmanje - :u stranica. Svaki sljedeći mnogokut ima jednu stranicu više od prethodnog, a vanjski mnogokut ima najviše odnosno :v stranica.

  16. Rješenje: TO POLI :U :V :D FOR “i :u :v [REPEAT :i[FD :D RT 360/:I]] END

  17. IMA JOŠ…

  18. 2. Napišite proceduru LIK :n :m :d koja će nacrtati mnogokut s :n stranica duljine :d te na svakoj stranici (s vanjske strane mnogokuta) mnogokut s :m stranica također duljine :d. • Primjer (vidi sliku): LIK 4 3 100 • RJEŠENJE: to lik :n :m :d cs repeat :n [fd :d vanjski :m :d rt 360/:n] End to vanjski :m :d repeat :m [lt 360/:m fd :d] end

  19. 3.Radnik Stipe bavi se jako teškim poslom. Gradi stupove. Ima puno blokova, jedan blok slaže na drugi i tako sve dok ne sagradi stup do kraja. Znam da vam se ovo čini jednostavno i lako, ali nije tako. Da bi si dočarali težinu posla, vi pokušajte samo nacrtati jedan stup. • Napišite proceduru STUP:n :a :b koja crta vertikalni stup koji se sastoji od :n blokova. • Svaki blok je pravokutnik širine :a i visine :b. (kao na slici desno za :n = 4, :a = 50 i :b = 30). • Varijable :n, :a i :b su veće ili jednake od 1. • Pozicija stupa na ekranu nije bitna. • Primjer (vidi sliku dolje): cs STUP 7 80 20RJEŠENJE: to pravokutnik :a :b repeat 2 [fd :b rt 90 fd :a rt 90] End to stup :n :a :b repeat :n [pravokutnik :a :b fd :b] end

  20. 4. Organizatori olimpijada, bojeći se da će Janici dosaditi okrugle medalje, odlučili su promijeniti im oblik. Svi znaju da je Janica najsjajnija zvijezda, pa su uzeli oblik zvijezde. Budući da su organizatori već prezauzeti organizacijom, netko treba nacrtati oblik medalja. Napišite proceduru MEDALJA :n :d :kut koja crta zvijezdu s :n krakova. Kut između svaka dva kraka je isti. Duljina brida svakog kraka je :d. • Kut na vrhu svakog brida je :kut. (na slici desno :n je 4, :d je 100, a :kut je 45) • Varijabla :n je veća ili jednaka od 3. • Varijabla :d je veća od nule. • Varijabla :kut je veća od 0, a manja od 180. • Pozicija zvijezde nije bitna. • RJEŠENJE: to medalja :n :d :k repeat :n [fd :d rt 180 - :k fd :d lt 180 - (360 / :n + :k)] end

More Related