BROJAČKI CIKLUSI
Tipičan problem koji se rešava brojačkim ciklusom je računanje
funkcije n!
Faktorijel je proizvod svih prirodnih brojeva od 1 do n, tj.
1*2*3*....*n
Kada posmatramo faktorijele redom:
1!=1
2!=1*2
3!=1*2*3
4!=1*2*3*4
Uočavamo pravilnost, da je n!
= (n-1)!*n
Međutim, ako ovu formulu
prevedemo na jezik programiranja, dobijamo konstrukciju:
novi faktorijel=prethodni faktorijel*tekuća vrednost broja
Računanje ćemo ostvariti u brojačkom ciklusu gde će brojačka
promenljiva i uzimati vrednosti od 1 do n , a u telu ciklusa prethodna
konstrukcija imaće oblik
fakt=fakt*i .
Ovde primećujemo da je sa leve strane izraza nova vrednost
promenljive fakt, a sa desne strane stara vrednost. Kod korišćenja ciklusa
naročito dolazi do izražaja ta osobina aritmetičke naredbe o kojoj smo govorili
u prošloj lekciji.
Obavezno je zapamtiti da promenljiva fakt pre ulaska u ciklus mora
dobiti vrednost 1, jer ako ima početnu vrednost 0, u ciklusu će nam se stalno
množiti sa nulom i krajnji rezultat je uvek nula.
Primer 2:
Izračunati zbir svih parnih brojeva do 100.
U ovom primeru vršimo sabiranje u ciklusu. Početna vrednost
promenljive S je nula, a u svakoj iteraciji na nju dodajemo vrednost brojačke
promenljive i.
Parne brojeve dobićemo tako što korak podesimo na 2, tako da će
brojačka promenljiva dobiti vrednosti 2,4,6,8,...do 100.
Primer 3:
Prebrojati koliko ima brojeva deljivih sa 3 u intervalu od m do n.
Promenljiva br će nam biti brojač koji ćemo uvećati za 1 svaki put
kada u ciklusu naiđemo na broj koji je deljiv sa 3.
Broj je deljiv sa tri ako je ostatak celobrojnog deljenja sa 3
jednak nuli.
M i n su početna i krajnja vrednost ciklusa koje učitavamo na
početku programa.
Zadaci za vežbu:
1. Izračunati zbir recipročnih vrednosti brojeva od m do n.
Uputstvo:
S=1/m + 1/(m+1) + 1/(m+2) +.....+ 1/n
2. Unose se vrednosti za x i n. Izračunati xn.
Uputstvo:
P=x*x*x*x*x*....*x n puta
Нема коментара:
Постави коментар