230 likes | 567 Views
Petlje. FOR - NEXT. Naredbe ciklične strukture. Naredbe ciklične strukture zovu se petlje Ciklična struktura nastaje kada je potrebno neku naredbu ili dio programa ponoviti više puta Možemo ih podijeliti na: Petlje koje se izvršavaju dok se ne ispuni neki uvjet
E N D
Petlje FOR - NEXT
Naredbe ciklične strukture • Naredbe ciklične strukture zovu se petlje • Ciklična struktura nastaje kada je potrebno neku naredbu ili dio programa ponoviti više puta • Možemo ih podijeliti na: • Petlje koje se izvršavaju dok se ne ispuni neki uvjet • Petlje koje se izvršavaju određen broj puta
Qbasic petlje • DO - LOOP • WHILE - WEND • FOR - NEXT
FOR - NEXT • FOR k=a TO b STEP c • Naredba 1 • ... • Naredba n • NEXT k • k = varijabla (“brojač”)a = početna vrijednostb = završna vrijednostc = korak povećavanja (ako se ne navede onda je 1)
FOR petlja • Određen je broj koliko puta se izvršava petlja • Blok petlje počinje s FOR, a završava s NEXT • Unutar bloka se nalazi jedna ili više naredbi koje treba ponoviti • Varijabla koja se koristi u FOR petlji je uvijek numerička, a ponaša se kao brojač • Mora se koristiti ista varijabla u FOR i NEXT dijelu • Početna vrijednost mora biti manja ili jednaka od završne vrijednosti, ali ne mora biti jednaka 1
Primjeri primjene početak QBasic: Ispis na ekranu: FOR n = 1 TO 5 PRINT “Dobar dan” NEXT n END Dobar dan Dobar dan Dobar dan Dobar dan Dobar dan n = 1, 5 “Dobar dan” kraj
Primjeri primjene početak QBasic: Ispis na ekranu: FOR n = 1 TO 6 PRINT n NEXT n END 1 2 3 4 5 6 n = 1, 6 n kraj
Primjeri primjene početak QBasic: Ispis na ekranu: FOR n = 1 TO 6 STEP 2 PRINT n NEXT n END 1 3 5 n = 1, 6, 2 n Program ispisuje neparne brojeve na ekran. kraj
Primjeri primjene početak QBasic: Ispis na ekranu: FOR n = 6 TO 1 STEP -1 PRINT n NEXT n END 6 5 4 3 2 1 n = 6, 1, -1 n Program ispisuje brojeve od 6 do 1. Potrebno je staviti da je “korak” -1 jer ako se korak izostavionda je jednak 1 pa se naredbe unutar petlje neće nikad izvršiti. kraj
Primjeri primjene početak QBasic: Ispis na ekranu: FOR n = 6 TO 1 STEP -2 PRINT n NEXT n END 6 4 2 n = 6, 1, -2 n Program ispisuje parne brojeve od 6 do 1. kraj
Primjer 1. • Ispiši sve parne brojeve od 1 do 100 i ispiši njihovu sumu CLSsuma = 0FOR n = 2 TO 100 STEP 2 PRINT n suma = suma + nNEXT nPRINT "Suma je: "; sumaEND
Primjer 2. • Učitati više puta n brojeva. Posebno zbrojiti pozitivne, a posebno negativne brojeve, te ispisati sume. CLS INPUT "Koliko puta ponavljate postupak: ", x FOR i = 1 TO x PRINT i; "put" INPUT "Koliko ima brojeva? "; n sp = 0 sn = 0 FOR j = 1 TO n INPUT "Upisi broj: ", br IF br >= 0 THEN sp = sp + br ELSE sn = sn + br END IF NEXT j PRINT "Suma pozitivnih: "; sp PRINT "Suma negativnih: "; sn NEXT i
Primjer 3. • Izračunati n-faktorijeln! = 1*2*3*...*n • Za zbrajanje n brojeva, za početak se varijabla u koju se zbraja postavlja na 0, a u ovom slučaju početna vrijednost mora biti 1
Primjer 3. - rješenje INPUT "Upisite n: ", n fakt = 1 FOR i = 2 TO n fakt = fakt * i NEXT i PRINT "n!="; fakt END
Primjer 4. • Ispiši brojeve od 10 do 1. FOR i = 10 TO 1 STEP -1 PRINT i NEXT i
Zadaci Korištenjem FOR..NEXT petlje • Napravi program koji će ispisivati sve parne brojeve od 50 do 100. • Napravi program koji će ispisivati sve neparne brojeve od 100 do 1. • Napravi program koji će izračunati sumu brojeva od 1 do 20. • Upotrebom READ i DATA naredbi, napisati program koji će izračunati prosjek 14 ocjena. Podaci su:3,4,2,4,5,2,3,4,2,3,4,3,5,5
Zadaci • Ispisati najveći prirodni broj čiji je kvadrat manji od učitanog broja. • Napisati program koji računa i ispisuje umnožak parnih brojeva od 1 do 100. • Napisati program koji će ispisati sve brojeve od 1 do 20 osim broja 13. • Napravi program koji će ispisati prvih 20 članova niza: