-
Jedna stvar za koju ćete
čuti ili videti da se mnogo pominje
-
je nešto što se zove dijagram toka
-
bilo u računarskim naukama,
-
u suštini kad god ljudi pričaju
-
o bilo kakvoj vrsti algoritama ili procesa.
-
Znači ono što sam mislio da uradim je
-
da za svaki program koji napišem -
-
napravim jednostavan dijagram toka.
-
Možda ga neću napraviti baš za svaki,
-
ali počeću sa nekim od osnovnih.
-
Samo da razumemo da
-
dijagram toka zaista nije ništa fensi.
-
Dakle, u ovom faktorijel programu
-
koji smo gledali
-
u poslednjih par snimaka -
-
bilo koji dijagram toka
će biti samo neka vrsta početne tačke,
-
koja zaista započinje, pretpostavljam,
-
prikazom kruga ili nekom vrstom ovala.
-
Dakle počinjemo, možete da otprilike vidite kako
-
počinjemo kod ove linije
-
iznad ove brojne oznake
-
gde zapravo pitamo korisnika za ulazni parametar.
-
I onda, nakon toga,
-
pitamo korisnika za ulazni parametar
-
Ova linija upravo ovde.
-
Tražimo od korisnika ulazni parametar.
-
Dakle, baš ovo ovde.
-
I to ćemo predstaviti paralelogramom.
-
Dakle ovo je ulaz od korisnika,
-
i onda bismo mogli jednostavno da kažemo
-
"number (prevod: broj)
jednak korisničkom ulaznom parametru".
-
I ovde možete da budete malo opušteniji
-
sa terminologijom,
-
zapravo samo pokušavate da kažete
-
šta je to što radite u ovom koraku.
-
Paralelogram nam govori da
-
na neki način komuniciramo sa korisnikom.
-
Ili nešto uzimamo od korisnika
-
ili mu nešto prikazujemo.
-
Dakle ovde, kažemo da je
korisnički ulazni parametar jednak number.
-
Dodeljujemo promenljivu number
ulaznom parametru od korisnika.
-
Onda, sledeće što ćemo da uradimo
je samo obična operacija.
-
Samo ćemo da postavimo da je product (prevod: proizvod) jednak 1, dakle, samo to postavimo.
-
I ovde ćemo to da uradimo u pravougaoniku,
-
*"product equals 1"*,
(prevod: proizvod jednak 1)
-
product je jednak 1.
-
I onda, desiće se nešto interesantno.
-
Ulazimo u našu for petlju.
-
i počinjemo sa -
-
i šta ću da uradim ovde
-
napisaću to malo drugačije
-
nego što smo napisali ovde -
-
dakle počinjemo sa -
-
ono što radimo je
-
započećemo našu for petlju
-
zapravo sa dodelom
-
gde ćemo dodeliti -
-
for petlja je zapravo masa stvari
-
koje se dešavaju u isto vreme.
-
Dodeljuje i prvom broju iz sekvence
-
ili testira da li može da dodeli i
-
prvom broju iz sekvence.
-
Ako može,
-
onda nastavlja.
-
Ako ne može,
-
onda izlazi iz for petlje.
-
Dakle, hajde da to predstavim ovako.
-
Napraviću neki vrstu testnog slučaja upravo ovde.
-
Znači, *"items left in sequence"*.
(prevod: preostali elementi sekvence)
-
I kada govorim o sekvenci
-
mislim na ovu sekvencu ovde -
-
opseg našeg broja.
-
U primeru koji sam dao u prošlom snimku
-
broj je bio 3.
-
Dakle, elemnti koji su preostali u ovoj sekvenci.
-
Znam da je teško čitati ovo ovde.
-
Ako postoje - recimo da kažemo da
-
postoje preostali elementi u sekvenci.
-
Dakle ako postoje elementi preostali u sekvenci.
-
Znači, samo ćemo reći:
-
*"i is equal to next item"*
(prevod: i je jednako sledećem elementu)
-
i je jednako sledećem...
-
i je jednako sledećem elementu.
-
Ako postoje -
-
pa, samo ću odložiti slučaj
-
da ne postoje elementi koji su preostali u sekvenci -
-
ali recimo da postoje.
-
*"i is equal to the next item"*
-
I onda takođe definišemo -
-
definišemo product
-
da bude
-
definišemo product
-
zapravo, ovo želim da napišem plavo
-
samo naš redovan...
-
Dakle, hajde da napišem ovo
-
je "YES".
(prevod: DA)
-
Ako postoje preostali elementi u sekvenci,
-
onda je *"i is equal to the next item"*
(prevod: i je jednako sledećem elementu)
-
to je jedna operacija koju ćemo uraditi.
-
I onda poništimo product -
-
izvršimo ponovnu dodelu da je product jednak
-
onome što je bila prethodna vrednost product
-
puta *i + 1*.
-
I u ovoj tački, mi zapravo...
-
vraćamo se nazad na ovu proveru ovde.
-
Dakle, u ovoj tački, vraćamo se -
-
pokušaću da to uredno napišem -
-
vraćamo se nazad do -
-
hajde da to napišem baš ovde -
-
vraćamo se nazad do ove tačke programa.
-
To je razlog zašto se zove petlja.
-
Jer, nakon što izvršite ovu operaciju -
-
ovo je ugnježdeno u petlji -
-
vraćate se na početak
-
da vidite da li ima još nešto što petlja treba da uradi.
-
Dakle, vraćate se na početak, pre petjle
-
i kažete: "Hej, imali li još elemenata u sekvenci?"
-
i ovde bi trebalo da bude znak pitanja.
-
Ove tačke odluke sa znakom pitanja
-
se obično označavaju ovakvim rombom.
-
Ukoliko postoji još neki element u sekvenci
-
onda je i jednako sledećem elementu
-
i product je jednak
-
onome što je product prethodno bilo puta *i + 1*.
-
Dakle, idemo do sledećeg
-
"Da li ima preostalih elemenata u sekvenci?"
-
I u nekom trenutku
-
više neće biti preostalih elemenata u sekvenci.
-
Znači, neće biti -
-
u nekoj tački neće biti
-
elemenata preostalih u sekvenci.
-
I mogli bismo da idemo na desno
-
ili ću samo da izađem ovde dole.
-
I sada smo izašli iz ove petlje.
-
Izašli smo iz ove petlje.
-
I onda, sledeće što ćemo uraditi
-
jednom kada smo završili sa našom for petljom
-
samo ćemo prikazati vrednost promenljive product.
-
Samo ćemo prikazati vrednost product.
-
Dakle, ovo je interakcija sa korisnikom.
-
Znači, bukvalno samo prikazujemo vrednost product.
-
Prikazujemo -
-
*"output product"*
(prevod: prikaži proizvod)
-
i gotovi smo!
-
I mogu da napišem "end" (prevod: kraj)
-
za kraj našeg programa,
-
i program će prestati da se izvršava.
-
"end".
-
Dakle, ovo je samo jednostavan
dijagram toka za ovaj jednostavan program.
-
I nadam se da će vam pomoći da cenite ovo
-
jedno malo razumevanje samog programa,
-
ukoliko poslednja dva snimka
nisu bila od velike pomoći,
-
i takođe vam daje jednostavan način
-
kako da napišete dijagram toka.