PONAVLJANJE 5. RAZREDA

Neke stvari se najbrže rade polako.

O JEZIKU: Python je moćan i lako razumljiv programski jezik. Programi pisani njime obično su kraći, a za njihovo pisanje utroši se manje vremena. Svojim karakteristikama privlači programere širom svijeta, a pokazao se i kao jezik koji može zamijeniti Basic i Pascal u učenju osnova programiranja.

Naziv jezika izraz je poštovanja autora, Guidea van Rossuma, prema britanskoj komičarskoj skupini Monty Python. Logo jezika svojim izgledom podsjeća na zmiju slična imena.


INSTALACIJA PROGRAMA PYTHON (na računalo)

Python je besplatan programski jezik i može se instalirati na skoro sve poznatije operativne sustave (Windows, Mac OS i Linux). Instalacijska datoteka može se jednostavno preuzeti na sljedećoj poveznici. Za pomoć pri instaliranju pogledaj video.

Instaliranjem Pythona dobijemo radno-razvojno okruženje pod imenom IDLE. IDLE (Python GUI) je nastalo od Integrated Development Environment što prevodimo kao integrirano razvojno okruženje. GUI dolazi od Graphical User Interface što znači grafičko korisničko sučelje. IDLE podržava dva načina rada: interaktivno (interpretativni) i skriptni (uređivački).


PYTHON ONLINE

Ako nemaš pri ruci svoje računalo, ne brini jer Python online ne trebaš instalirati i možeš ga koristiti na mobitelu, tabletu ili bilo kojem drugom računalu koje nema instaliran Python. Sve što izradiš možeš podijeliti ili preuzeti. 🙂


SUČELJE PROGRAMA PYTHON

Klikni na sliku i istraži!
Klikni na sliku i istraži!

U interaktivnom načinu upisane se naredbe interpretiraju u realnom vremenu, pa tako odmah možemo vidjeti njihov ishod (rezultat). Na taj način možemo jednostavno isprobati neku ideju ili provjeriti kako se ispravno koristiti nekom naredbom. Opisana interakcija odvija se u okruženju koje zovemo Python Shell.

Interaktivno sučelje koristi se tako da se na mjesto unosa (>>>) upisuju neke vrijednosti te uneseni sadržaj potvrdi tipkom Enter. Ako interaktivno sučelje prepozna uneseni sadržaj kao neku naredbu ili vrijednost, izvršit će zadatak ili ispisati zadanu vrijednost. U suprotnom, pojavit će se poruka o pogrešci. Poruke o pogrešci pri unosu sadržaja ili pozivu naredbi se ispisuju crvenom bojom. Kada u Pythonu upišemo riječ koju on ne prepoznaje, dobijemo poruku o pogrešci. To se događa svaki put kada Python ne zna što napraviti s onim što smo mu zadali. Računalna pogreška naziva se još i bug. Danas je bug općeprihvaćen naziv za pogrešku pri pisanju naredbi, iako taj izraz u doslovnom prijevodu znači mali insekt. Taj se naziv počeo upotrebljavati tijekom istraživanja pogrešaka u radu računala još davne 1946. godine kada se pokazalo da su sve pogreške u radu računala uzrokovali mali insekti koji su se zalijepili za releje računala.

* Relej je vrsta prekidača čije je stanje (uključeno ili isključeno) upravljano električnim nabojem, tj. posredstvom elektromagneta ili nekoga drugog mehanizma. Sklopni aparat koji mjeri neku pogonsku veličinu (struju, napon, tlak, brzinu vrtnje, temperaturu, snagu itd.) te pri određenoj vrijednosti te veličine automatski zatvara ili otvara svoje kontakte.


MATEMATIČKI OPERATORI

U Pythonu se upotrebljavaju poznati matematički operatori +, -, *, /, ali i operator cjelobrojnog dijeljenja // te operator ostatka dijeljenja %. U Pythonu je, kao i u matematici, definiran redoslijed izvršavanja matematičkih operatora.

OPERATOR OPIS DJELOVANJA
+zbrajanje
oduzimanje
*množenje
/dijeljenje
//cjelobrojno dijeljenje
%ostatak dijeljenja
PRIORITETOPERATORREDOSLIJED IZVRŠAVANJA
1.()od unutarnjih zagrada prema vanjskim zagradama
2.// * / %slijeva nadesno u izrazu
3.+ –slijeva nadesno u izrazu

PRIMJER: 11 : 4 = 2 i ostatak 3
Rezultat cjelobrojnog dijeljenja (//) bio bi 2 -> 11 // 4 = 2
Rezultat ostatka dijeljenja (%) bio bi 3 -> 11 % 4 = 3


ZNAKOVNI NIZOVI I MATEMATIČKI OPERATORI

Zanimljivo je da se sa znakovnim nizovima mogu upotrebljavati matematički operatori, ali samo operatori zbrajanja (+) i množenja (*).


VARIJABLE

Varijabla je mjesto u memoriji računala označeno simboličkim imenom (npr. a ili b) u koju zapisujemo vrijednost ulaznog podatka.

KAKO ISPRAVNO NAPISATI NAZIV VARIJABLE?

  • U nazivu se mogu koristiti sve znamenke (0-9) i slova
  • Naziv varijable ne može početi znamenkom
  • U nazivu se ne mogu koristiti simboli kao što su @ – / #
  • Razmak se ne može koristiti, ali se za povezivanje riječi koje čine naziv varijable može koristiti znak _ npr.: p_znak, p_broj
  • Ne smiju se koristiti riječi koje Python upotrebljava za naredbe, npr. print, int, min, max, True itd….
  • Ne preporučuje se (iako je dopušteno) u nazivu varijable upotrebljavati dijakritičke znakove hrv. abecede (š, č, ć, ž, đ)
  • Python razlikuje velika i mala slova. Varijable a i A dvije su različite varijable.

ISPIS U VIŠE REDOVA

Ako želimo ispis u više redaka pomoću naredbe print, tada za prelazak u novi red koristimo parametar \n
Oznaku dobijemo kombinacijom tipki, tj. i stodobnim pritiskom desne tipke Alt Gr i tipke Q.
Npr.


VARIJABLE I NAREDBA PRIDRUŽIVANJA

Varijabla je mjesto u memoriji računala označeno simboličkim imenom (npr. a ili b) u koju zapisujemo vrijednost ulaznog podatka. Znači, varijabla je spremnik za neku vrijednost, ona nije ime podatka nego ime spremnika. Što to zapravo znači?

Svaki računalni program se koristi nekim vrijednostima. One se moraju negdje pohraniti kako bi ih računalo prepoznalo.

Npr. zamislite kalkulator! Pokušati ćemo izračunati 5+6. Sada nemojmo više zamišljati kalkulator izvana, nego ga zamislimo iznutra. Kad upišemo prvi broj (5) on se mora negdje pohraniti da bi kalkulator zapamtio koji smo broj upisali te da možemo nastaviti pisati brojeve. Dakle, mjesto gdje se upisao prvi broj 5 se zove varijabla (dio spremnika). Zatim mu zadajemo matematički operator ali i drugi broj (6) koji se opet sprema u drugu varijablu/dio spremnika. Te varijable se mogu nazivati kako god! Kad smo na kalkulatoru kliknuli znak = kalkulator je dobio naredbu da želimo izračun prethodnog matematički izraz, a to je 5+6=
I što se sad događa izvana, na zaslonu? Iz prve varijable dobije naredbu te na zaslonu ispiše broj 5, zatim doda matematički operator zbrajanja te iz one druge varijable na zaslonu ispiše broj 6. U onom trenutku kad je primio naredbu = (u Pythonu -> print) ispisao nam je rezultat (11).
Programer je kalkulatoru “unutra” zapisao kako će reagirati i što će raditi kad mu korisnik zada neke radnje. A mi smo kao korisnici upisali neke matematičke izraze (po izboru) i on je prema zadanim uputama izvršio taj zadatak! Tako jednostavno, a tako komplicirano, ha?
Nije! Jednostavno je. Imamo programera i korisnika. Prvi piše točne i jasne upute nekom programu (kalkulatoru, računalnoj igrici, wordu, mrežnoj stranici i sl.), a drugi se igra i čudi kako se sve tako dobro i točno izvršava?!
Još nešto! Varijablama se uvijek daju logički nazivi. Zašto? Pa da je lakše upravljati računalnim programom/kodom jednog dana kad se vratimo i želimo ga (ili netko drugi) nadograditi. Zamisli da otvoriš svoj program koji si pisao prije godinu dana, zaboravio si što si pisao unutra i piše ovako:
Unesi prvi broj: -> a varijablu u koju će se spremiti taj broj si nazvao informatika
Unesi drugi broj: -> a varijablu u koju će se spremiti drugi broj si nazvao treci_broj
Je li tako da nema smisla? Tako je. Zato je logično (ako pišemo program u koji korisnik treba unijeti dva broja, da će nam se i varijable zvati prvi_broj i drugi_broj, ili broj1 i broj2 itd.


Koristimo li se varijablama u svakodnevnom životu?

Na svakom sportskom događaju u kojem se dvije ekipe natječu kako bi prikupile što više bodova koristi se semafor za prikaz trenutačnog rezultata. Vrijednosti DOMAĆI i GOSTI možemo smatrati varijablama koje imaju trenutačnu vrijednost 37 i 25. Važno je napomenuti da se vrijednosti u varijablama mogu mijenjati. Npr. ako DOMAĆI pogode sljedeći koš (tricu), u njihovu će se varijablu spremiti sljedeći rezultat -> trenutačno stanje (37) + 3 nova boda, taj matematički izraz će se izračunati te će se na semaforu ispisati rezultat 40:25.


ZNAK JEDNAKOSTI I ZNAK PRIDRUŽIVANJA

Znak = je znak pridruživanja. To nije matematički simbol jednakosti koji označava da je nešto s lijeve strane znaka = jednako vrijednosti s desne strane znaka =. U programiranju pridružiti znači varijabli s lijeve strane znaka = pridružiti vrijednost koja se nalazi s desne strane (brojčana ili znakovna).

znak pridruživanja =
znak jednakosti ==

PRIDRUŽIVANJE ZNAKOVNOG NIZA

Znakovni nizovi (tekst -> riječi, rečenice…) pridružuju se tako da se upisuju unutar polunavodnika (‘ ‘) ili navodnika (” “). Također, sa znakovnim nizovima mogu upotrebljavati matematički operatori, ali samo operatori zbrajanja (+) i množenja (*).
Operator zbrajanja (+) spaja znakovne nizove.
Operator množenja (*) uvećava znakovni niz onoliko puta s kojim smo ga brojem pomnožili



UREĐIVAČKO SUČELJE I MOJ PRVI PROGRAM

Do sada smo naučili kako pokrenuti interaktivno sučelje te kako izvršiti jednu naredbu. No ako želimo napraviti računalno rješenje nekog većeg problema, najčešće moramo upotrijebiti više naredbi. Možemo li to učiniti u interaktivnom sučelju?
Da, možemo. Naredbe će se pokreniti jedna po jedna, ali će se taj niz izgubiti kad Python zatvorimo. Ako nam zatreba isto takvo računalno rješenje, nećemo ga moći ponovo pokrenuti.
Zbog toga ćemo sada naučiti kako pokrenuti novi prozor, tzv. uređivački (programski) dio sučelja IDLE.

Datoteka programa u Pythonu ima nastavak .py i ne treba ga upisivati pri spremanju, Python će ga automatski dodati.

UREĐIVAČKO SUČELJE (SKRIPTNI NAČIN)

Skriptni način rada omogućuje korisniku pisanje, mijenjanje i trajno pohranjivanje programa. Pored toga, tako napisan program možemo pokretati i izvršavati više puta.

Novi prozor se otvara klikom na izbornik File u interaktivnom sučelju, a zatim odabirom naredbe New File. Uređivačko sučelje prepoznajemo jer mu je radni prostor prazan -> nema znaka upita (>>>).


KAKO ISPRAVNO NAPISATI SVOJ RAČUNALNI PROGRAM?

Tijek izrade računalnog programa izgleda ovako:

  1. napiši računalni program
  2. pohrani računalni program
  3. pokreni računalni program
  4. provjeri točnost računalnog rješenja
  5. ako je potrebno, izmijeni računalno rješenje.

KAKO SPREMITI SVOJ RAČUNALNI PROGRAM?

Iz padajućeg izbornika File odaberite naredbu SaveAs…
U sljedećem koraku upišite (logički) naziv računalnog programa te odaberite naredbu Spremi.
Zašto logički naziv? Da ga je kasnije po potrebi lakše naći na računalu u mapi.
Npr. 3.3. – 1. zadatak

U slučaju da smo otvorili računalni program te napravili neke izmjene u njemu, nije potrebno ponovno klikati SaveAs… već je dovoljno Save.


KAKO OTVORITI VEĆ SPREMLJENU DATOTEKU?

Dva su načina otvaranja već spremljene datoteke.

  1. desni klik na datoteku -> Edit with IDLE -> Edit with IDLE

2. Otvoriti interaktivno sučelje -> Open -> pronaći spremljenu datoteku -> Otvori


POKRETANJE (IZVRŠAVANJE) NAPISANOG RAČUNALNOG PROGRAMA

Program se izvršava tako da se u padajućem izborniku Run odabere naredba Run Module ili jednostavno tipkom F5 na tipkovnici. Ukoliko program nije spremljen Python će prvo ispisati upozorenje da računalni program treba pohraniti. Nakon pokretanja programa prikazuje se rezultat (ispis) u prozoru interaktivnog sučelja.



Separator znači da će Python između podataka staviti znak koji smo upisali između navodnika! Ako je takvo pravilo, pogledajmo gornju sliku i proučimo kako radi separator ‘ ‘
Pravilo je i da zarez u Pythonu znači razmak. Ako želimo na kraju dodati točku (iza C), ispis bi nam izgledao ovako:
Zbroj brojeva 5 i 6 iznosi 11 .
Ispis ne izgleda lijepo jer između broja 11 i točke ima razmak. To možemo popraviti tako da dodamo separator ‘ ‘ (bez razmaka unutar polunavodnika). Na taj način smo odredili da između ispisanih sadržaja neće biti razmaka i dobili smo ispravan ispis (pripazi na razmak unutar znakovnog niza).
Pokušaj i ti!

ŠTO NAPRAVITI AKO PROGRAM NIJE DOBRO NAPISAN?

  1. otvori već napisani računalni program
  2. ispravi pogreške
  3. spremi program (dovoljno je samo kliknuti na tipku F5)
  4. provjeri svoje rješenje (ispis) u interaktivnom sučelju

TIPKA TAB

Uočili ste da pri pisanju programa Pythonov uređivač neke riječi boji određenom bojom. Naredbe i funkcije će se na taj način lakše uočavati i pronalaziti. Za uvlačenje naredbi pri pisanju programa dobro je koristiti se tipkom TAB. Ako za uvlačenje naredbi koristimo tipku razmaknicu potrebno je kliknuti 4 puta (4 mjesta) koliko označava i jedan klik na tipku TAB.

Uočimo uvlačenje naredbi kod pisanja računalnog programa u Scratchu.


KOMENTARI U RAČUNALNOM PROGRAMU

Želimo li napisati komentar u računalnom programu, kako bismo pobliže objasnili naš kôd nekome tko će koristiti taj program važno je prije komentara napisati znak # (hešteg). Pri pokretanju programa, Python će zanemariti taj dio programa i izvršavati će radnje prema napisanom redoslijedu. Ukoliko bismo napisali komentar bez da prethodno napišemo #, Python bi i taj red pokušao izvršiti. Naravno, s obzirom da komentar nije nikakva naredba, Python to ne bi razumio i ispisao bi pogrešku.

RAD S ULAZNIM VRIJEDNOSTIMA
NAREDBE input(), int()

Do sada smo naučili kako upotrijebiti varijable u naredbi pridruživanja te naredbi za ispis. Napisali smo jednostavan računalni program koji je izračunao zbroj brojeva A i B, ali sa već određenim jedinicama. Možemo li napisati program a da korisnik upiše sam brojeve koje želi, a ne one koje mu mi (programeri) određujemo? Naravno da da. 😉

Za pisanje takvog računalnog programa koriste se ulazne vrijednosti. To su vrijednosti koje nisu unutar naredbe pridruživanja i samog programa (npr. a=10) nego se njihove vrijednosti unose preko tipkovnice (kad se program pokrene u interaktivnom sučelju će tražiti unos tih podataka).

Naredba input() računalu naređuje unošenje neke cjelobrojne vrijednosti (naredba int()) s pomoću tipkovnice i pridruživanje te vrijednosti varijabli A.
Naredba input() – traži od korisnika unos ulaznih vrijednosti koji će se dalje koristiti u izvršenju programa. Podatak koji se unosi uvijek se pridružuje nekoj varijabli:
a = input ( ‘Neka vrijednost: ‘ )
Prvo se upisuje naziv varijable, zatim znak pridruživanja, naredba input, a u zagradi poruka koja će se prikazati prije unosa ulazne vrijednosti (poruka nije obvezna, ali je poželjna zbog lakšeg snalaženja u programu).

Naredba int() – pretvara podatak u cjelobrojnu vrijednost. Prema osnovnim postavkama, naredba input() uneseni podatak pridružuje varijabli kao znakovni niz. Ako se unose brojevi, naredba int() prije pridruživanja unesenu vrijednost pretvori u broj.

integer (engl.) -> cijeli broj -> skraćeno int
input (engl.) -> ulaz -> ulazne vrijednosti


image alt
Naredbe se izvršavaju s desna na lijevo:
1 – naredba input ispiše poruku u zagradi i traži da korisnik upiše podatak. U tom trenutku izvršenje skupa naredbi je zaustavljeno dok se podatak ne unese.
2 – naredba int uneseni podatak pretvara u cjelobrojnu vrijednost
3 – operacijom pridruživanja uneseni podatak se pridružuje varijabli (u ovom slučaju a)


VAŽNO!
Ako u računalnom programu pišemo neku brojčanu vrijednost obavezno je navesti naredbu int()
Ako u računalnom programu pišemo samo znakovni niz, dovoljno je napisati naredbu input()

Slika prikazuje primjer naredbe input() kojom se računalu naređuje unošenje neke cjelobrojne vrijednosti (naredba int()) s pomoću tipkovnice i pridruživanje te vrijednosti varijabli A. Izvršenjem naredbe, u interaktivnom sučelju pojavit će se poruka Unesi prvi broj: nakon čega program čeka na unos neke vrijednosti putem tipkovnice.
Slika prikazuje primjer naredbe input() kojom se računalu naređuje unošenje neke riječi (znakovnog niza) s pomoću tipkovnice i pridruživanje te vrijednosti varijabli rijec1. Izvršenjem naredbe, u interaktivnom sučelju pojavit će se poruka Unesi prvu riječ: nakon čega program čeka na unos znakovnog niza putem tipkovnice.

OSNOVNE POGREŠKE U RADU S ULAZNIM VRIJEDNOSTIMA

Koliko je važno znati kakve ulazne podatke očekuje računalni program?
Zbog toga jer ako npr. napišemo naredbu int(), a u interaktivnom sučelju pri izvršavanju programa unesemo riječ (znakovni niz), program će nam prikazati grešku!

Međutim, sada nam je puno lakše, jer program nije napisan u interaktivnom sučelju (kad bi zbog ovakve greške trebali sve pisati ispočetka), već u uređivačkom pa ga je potrebno samo ponovno pokrenuti i upisati ispravan unos (npr. broj 2)!

KAKO RADI MOJ PROGRAM?

Za računalni program kojeg pišemo da korisnik može sam upisati tražene vrijednosti (sjeti se! -> int(input()) ) kažemo da je program s ulaznim vrijednostima. Npr.

Ako znamo da je ovo rezultat/ispis nekog računalnog programa (a znamo po tome što se rezultat programa ispisuje plavom bojom) -> onda je lako zaključiti da su u programu zadane ulazne vrijednosti int(input()).
Prema tome, proučimo li ovaj ispis, računalni program nije teško zaključiti kako bi računalno rješenje trebalo izgledati.


U redu. Kako onda radi ovaj naš program? Od čega se sastoji?
Već otprije znamo da Python izvršava naredbe jednu za drugom (slijedno), onako kako su napisane. Promotrimo li gornje računalno rješenje, jasno se ističu tri osnovna dijela izvršavanja računalnog programa.

  1. Unos podataka (ULAZ)
  2. Obrada podataka (OBRADA)
  3. Ispis rezultata obrade (IZLAZ)

Ti se dijelovi mogu prepoznati u svakom računalnom programu.


Analizom nekog računalnog programa, odnosno ulaznih i izlaznih primjera provjeravamo točnost rješenja. Ukoliko primjetimo da se rješenje/ispis razlikuje od očekivanog, velika je vjerojatnost da je nastala pogreška. Takve pogreške nazivamo logičke pogreške. Najčešće nastaju zbog npr. krivog izračunavanja, pogrešnog odabira varijabli ili formula za izračunavanje.
Pogreške nastale zbog krivo napisanih naredbi, zaboravljenih zagrada i sl. nazivamo sintaktičke pogreške. Tada se u interaktivnom sučelju pojavljuje obavijest s naznakom o kakvoj je pogrešci riječ te u kojoj se liniji programa ona nalazi.

VJEŽBE

1. Napiši program koji će izračunati opseg kvadrata sa stranicom a.

2. Napiši program koji te traži da uneseš neka dva broja (proizvoljno), a zatim ispisuje zbroj, razliku, umnožak i količnik ta dva broja, jedno ispod drugog.
*za prelazak u novi red možete koristiti znak \n

ili


SAMOSTALNE VJEŽBE

Zadani su primjeri testiranja. Analiziraj ih i prema njima napiši računalne programe.

1. Napiši program koji pita unos u kilometrima, a zatim ih pretvara u metre.
Primjer testiranja:


2. Ana i Marija čitaju lektiru. Ana je pročitala n stranica knjige, a Marija tri puta više od nje. Napiši program koji će na temelju ulaznih vrijednosti izračunati i ispisati koliko je stranica pročitala Marija.
Primjer testiranja:


3. Napiši program za pravokutnik koji treba izračunati opseg i površinu tog pravokutnika.
o=2*a+2*b
p=a*b
Primjer testiranja:


4. Napiši program koji te pita koja ti je omiljena pjesma, a zatim ispisuje rečenicu: Uživaj u pjesmi (ime varijable), uhvati ritam muzike za ples!
Primjer testiranja:


5. Napiši program koji pretvara vrijednost izraženu u metrima u vrijednost izraženu u decimetrima (dm), centimetrima (cm) te u milimetrima (mm).
Primjer testiranja:


6. Napiši program koji pretvara vrijednost izraženu u metrima (m) u vrijednost izraženu u kilometrima (km).
Primjer testiranja:


7. Na stolu je stoljnjak duljine a decimetara (dm) te širine b decimetara (dm). Na svaki dm2 trebaš zašiti dvije sličice. Napiši program koji će izračunati koliko je sličica potrebno kako bi sličicama, prema zadanom naputku, popunio cijeli stoljnjak.
Primjer testiranja:

ALGORITMI

Što smo dosad naučili?
Stvarali smo programska rješenja, upisivali, računali i ispisivali različite vrijednosti, čak i crtali u Pythonu. Pri stvaranju rješenja činili smo i pogreške. Najteži dio zadatka bio je odrediti kojim redoslijedom složiti naredbe računalnog programa, odnosno smisliti odgovarajući algoritam.

Algoritam je postupak kojim se opisuje točan redoslijed kojim obavljamo neke radnje. Do sada ste na računalu igrali igrice, crtali, pisali, izrađivali prezentacije, pregledavali mrežne stranice. Da bi sve to mogli raditi, netko je morao “naučiti” računalo kako će to izvoditi.
Algoritme susrećemo u raznim situacijama u svakodnevnom životu, kao što su prelazak ulice, rješavanje domaće zadaće, odlazak u trgovinu i slično.

VAŽNO! PODSJETIMO SE!
Za uspješno izvršavanje većine zadataka, potrebno je put rješavanja unaprijed osmisliti.
Za rješavanje nekih zadataka treba više napora, a neke izvodimo spontano.
U rješavanju problema pomoći će nam plan rješavanja.
Precizno napravljen plan izvedbe nekog slijeda postupaka nazivamo algoritam!

ALGORITMI

Ovisno o načinu slaganja uputa, postoje 3 vrste algoritama:

Algoritam slijeda je postupak kod kojeg se upute izvršavaju jedna iza druge.
UNOS PODATAKA
OBRADA PODATAKA
ISPIS PODATAKA

Algoritam ponavljanja -> postupak kod kojeg se niz naredbi ponavlja određeni broj puta.

Algoritam grananja postupak kod kojeg obavljanje radnje ovisi o odgovoru na postavljeno pitanje.
AKO -> ONDA
AKO -> ONDA -> INAČE

DIJAGRAM TIJEKA

Na koji način možemo prikazati algoritam?
Grafički, riječima govornog jezika (pseudojezikom) ili naredbama nekog programskog jezika.

Dijagram tijeka je grafički prikaz algoritma (crtežom prikazan algoritam) koji se sastoji od niza simbola povezanih strelicama koje određuju smjer izvršenja postupka. Svaki simbol predstavlja jedan korak u postupku izvršenja.


VJEŽBE

PrimjerPrikažimo algoritam za zadatak koji zbraja dva broja.

VJEŽBE – Izradi algoritam (pseudojezik, dijagram tijeka i računalni program) za:

  • zadatak koji preračunava grame u dekagrame (dag=g/10)
  • zadatak koji preračunava sekunde u minute (min=sek/60)
  • zadatak koji preračunava metre u kilometre (km=m/1000)

PETLJA FOR

Nakon što smo usvojili osnovnu algoritamsku strukturu slijeda te stvorili prve računalne programe, krenimo korak dalje. Upoznajmo se s naredbom koja će nam omogućiti da na jednostavan način ponavljamo izvršavanje nekih naredbi.

Sjetimo se kako smo u grafičkom modulu crtali razne geometrijske likove. To smo rješavali slijedno tako da smo pisali sve naredbe jednu ispod druge, iako su se neke ponavljale i više puta. Pitali ste me i odgovorila sam vam tada na satu – Da, možemo to i skraćeno pisati, sve u jednom redu, ali idemo polako.

Kad je u računalnom programu potrebno više puta izvršiti neke naredbe, najbolje je upotrijebiti naredbe koje nazivamo petlje. Petlje čine algoritamsku strukturu ponavljanja, a razlikujemo ih s obzirom na način na koji se određuje broj ponavljanja naredbi.

Upoznat ćemo naredbu for u kojoj je točno određen broj ponavljanja naredbi. Dakle for petlju koristimo kad god nam je unaprijed poznat broj ponavljanja neke radnje!

Naredba for uvijek upotrebljava jednu varijablu. Nepisano pravilo je da je to najčešće slovo i ili j, iako ne mora biti. Ta varijabla, u ovom gore primjeru je to i služi kao brojač ponavljanja.
for i in range (3): -> što znači 3 puta mi izvrši naredbu koja piše ispod, a u našem slučaju piše
fd(100); lt(120) -> dakle, 3 puta za redom izvrši 100 koraka naprijed i okreni se za 120 stupnjeva. Kad to izvršiš – stani.

KAKO RADI PETLJA FOR?

Promotrimo djelovanje petlje for na primjeru crtanja kvadrata s duljinom stranica 100.

OBJAŠNJENJE -> Petlja for upotrebljava varijablu i kao brojač kojim kontrolira koliko se puta ponavlja izvršavanje odabranih naredbi. Brojač se postavlja na početnu vrijednost, a dvakim daljnjim izvršavanjem petlje brojač se povećava dok ne dostigne graničnu (zadnju) vrijednost i petlja ne prekine s radom. U našem primjeru granična vrijednost brojača je 4.

VAŽNO! Ako nije navedena početna vrijednost, Python uvijek pretpostavlja da je ta vrijednost 0. Ako nije navedena vrijednost uvećavanja brojača, Python uvijek pretpostavlja da je ta vrijednost 1.

ŠTO ODREĐUJE POČETNU I GRANIČNU VRIJEDNOST VARIJABLE PETLJE?
dio range (početna, granična, korak)

AKO JE STRANICA LIKA NEPOZNATA…


BROJIMO BROJAČEM… 1, 2, 3, 4 … n

ZADATAK 1.
Ispiši sve prirodne brojeve manje od prirodnog broja n (nepoznati broj).

  • Postavimo si pitanje. Koji su to manji brojevi od n?
  • Svi brojevi od 1 (jer je to prvi prirodni broj) do tog broja n (kojeg će netko odrediti)
  • Do kad se izvršava petlja ponavljanja? Dok je vrijednost varijable petlje manja od granične vrijednosti.

Npr. za n=10 program bi trebao ispisati brojeve 1, 2, 3, 4, 5, 6, 7, 8, 9

Koristeći parametar end=’ ‘ unutar print naredbe vrijednosti će se ispisati jedne pored druge, odvojene znakom razmaka (‘ ‘).

ZADATAK 2.
Ispiši sve parne brojeve koji su veći od 12 a manji od 29.

ZADATAK 3. – PRIMJER SA ZNAKOVNIM NIZOM

NAJČEŠĆE POGREŠKE U RADU S PETLJOM FOR

  • pogrešno definiranje početne i granične (završne) vrijednosti brojača
  • pogrešno korištenje uvlake za naredbe
  • zaboravljanje dvotočke (koja najavljuje naredbu ili blok naredbi) na kraju uvjeta

SAMOSTALNE VJEŽBE

ZADATAK 1. Napiši računalni program sa for petljom koji će nacrtati pravilni osmerokut.

ZADATAK 2. Za učitani broj učenika u razredu napiši računalno rješenje koje će ispisati redni broj učenika koji imaju parni broj u imeniku.

ZADATAK 3. Napiši računalni program sa for petljom koji će nacrtati pravilni peterokut duljine stranica 100.

ZADATAK 4. Što će se ispisati nakon izvršavanja sljedećih naredbi?

ZADATAK 5. Što će se ispisati nakon izvršavanja sljedećih naredbi?

ZADATAK 6. Napiši program koji ispisuje sve prirodne brojeve koji se nalaze između brojeva a i b uključujući i te brojeve (oba!). Brojevi a i b ulazne su varijable koje se unose s tipkovnice.

ZADATAK 7. Napiši program koji će ispisati prvih 10 prirodnih brojeva kao što je prikazano.