Programske petlje
Sjedište: | CARNET - Arhiva 2021 Loomen |
E-kolegij: | e-Ekonomac |
Knjiga: | Programske petlje |
Otisnuo/la: | Gost (anonimni korisnik) |
Datum: | nedjelja, 24. studenoga 2024., 18:03 |
1. Ponavljanje (petlja)
Često se u procesu programiranja pojavljuje potreba za ponavljanjem dijelova programa. Npr. želimo li unijeti 10 brojeva naredbu za unošenje treba napisati 10 puta. Praktičnije je potrebne naredbe napisati jedanput a pri izvođenju programa pozvati ih željeni broj puta.
Za ponavljanje dijelova programa koristimo se naredbama ponavljanja koje još nazivamo i programskim petljama.
Pogledajte kratki video
.Sličan primjer poznatog broja krumpira u vreći mogao bi se riješiti pomoću petlje for. Pogledajte dijagram tijeka i kod u Pythonu.
Naredbe ponavljanja sastavni su dio svakog programskog jezika. Možemo ih podijeliti prema različitim kriterijima te s obzirom na broj ponavljanja dijelimo ih na:
- petlje u kojima je poznat broj ponavljanja
- petlje u kojima broj ponavljanja ovisi o uvjetu
2. Petlja s poznatim brojem ponavljanja
Ta se naredba primjenjuje u zadacima u kojima je broj ponavljanja unaprijed poznat. U pseudojeziku možemo je zapisati kao:
Varijabla b je kontrolna varijabla ili brojač. Ona nadzire broj prolazaka petljom, a njezina se vrijednost automatski povećava za jedan svakim prolaskom kroz petlju - od početne vrijednosti (p) do krajnje vrijednosti (k).
Tijek izvršavanja naredbe s poznatim brojem ponavljanja je sljedeći:
- Vrijednost kontrolne varijable b postavlja se na početnu vrijednost p.
- Provjerava se je li vrijednost kontrolne varijable manja ili jednaka završnoj vrijednosti k. Ako je rezultat istina, izvodi se blok naredaba, a vrijednost kontrolne varijable b uvećava se za 1. Program se zatim vraća na početak petlje, te se ona ponavlja od početka 2. koraka.
- Ako je vrijednost kontrolne varijable b veća od završne vrijednosti k, blok naredaba se preskače i program se nastavlja prvom naredbom iza bloka.
Primjer 1.
Dio programa
deset puta će ispisati rečenicu Danas je lijep dan! (Kontrolna varijabla b mijenja svoju vrijednost od 1 do 10).
Primjer 2.
Dio programa
ispisat će brojeve 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110.
Naredbe programiranja mogu se kombinirati sa svim naredbama koje se koriste u programiranju. Tako će npr. dio programa
ispisati sve parne brojeve u intervalu od 1 do 20.
3. Petlja s poznatim brojem ponavljanja u Pythonu
Petlju s poznatim brojem ponavljanja u Pythonu zapisujemo na sljedeći način:
Primjer 1.
Primjer 2.
4. Primjer jednostavnih algoritama
5. Petlje u kojima broj ponavljanja ovisi o uvjetu
Postoje problemi u kojima ne možemo znati točan broj ponavljanja. Na primjer, želimo li izračunati zbroj znamenaka nekog broja a ne znamo koliko ih taj broj ima, moramo pronaći drugi način rješavanja tog problema. Takvih primjera ima još mnogo, one se rješavaju naredbama ponavljanja u kojima broj ponavljanja ovisi o uvjetu.
Petlju s provjerom uvjeta na početku u pseudojeziku možemo zapisati kako slijedi:
Naredba se u ovoj petlji ponavlja sve dok je uvjet istinit. Ako je potrebno ponavljati više od jedne naredbe, one se moraju staviti u blok.
Ova se naredba uglavnom koristi kad:
- se ne zna točan broj ponavljanja naredaba u petlji
- ne postoji kontrolna varijabla koja se mijenja ponavljanjem
- na izvršenje petlje utječu neki vanjski parametri (npr. unošenje s tipkovnice).
Tijek izvršavanja bloka dok je je sljedeći:
- Izračunava se uvjet izvođenja (to je relacijski ili logički izraz i njegov rezultat može biti istina ili neistina)
- Ako je rezultat istinit, izvodi se blok_naredbi a nakon toga se program vraća na naredbu dok_je i izvodi od točke 1.
- Ako je rezultat neistinit , preskače se blok naredba i program nastavlja sa izvođenjem prvom naredbom iza bloka naredaba dok je.
Primjer 1.
Primjer 2.
6. Petlje u kojoj ponavljanje ovisi o uvjetu u Pythonu
Petlja u kojoj ponavljanje ovisi o uvjetu (while) u Pythonu zapisuje se na sljedeći način:
while uvjet:
naredba (blok_naredbi)
i izvršava se sve dok je zadani uvjet istinit.
Primjer
7. Primjeri jednostavnijih algoritama
Primjer 1.