HCL.HR

Petlje u programiranju

  • 2 Odgovora
  • 2202 Hitova
Petlje u programiranju
« : 17. Rujan, 2016., 19:31 »
Učim programiranje u školi (C jezik). Većina toga kužim osim "jedne" stvari koja je užasno važna, a to su petlje.
Volio bih ako se netko u njih kuži da mi ih objasni.  :thumbs:
Volio bih također da mi se pokaže na primjeru ispod.

Here comes a new challenger!

Odg: Petlje u programiranju
« Odgovori #1 : 18. Rujan, 2016., 00:46 »
var k = 1; //varijable k, n i x
var n = 3;
var x = 0;

for (var j= k; j<n; j++){          //definicija petlje s parametrima, dakle j je 'brojač' koji broji do n i čini x=x*k-n
x=x*k-n;                                   // ono što petlja vrši
console.log(x);                 // output računice - varijable x za svaku iteraciju petlje, zamjeni sa printf ili cout ili čime već se ispisuje
}

----

U javacsriptu ali lako mozes prebeciti sintaksu, nisam odavno u C-u pisao.
Za početak x kao pocetna 0 varijabla je katastrofa, pa mozes uzet proizvoljne vrijednosti za primjer, moj prijedlog je da x >0 (bude veći od 0).


Pogledaj komentare za natuknice:


Dakle, šta petlja radi?

Petlja izvršava set komandi koji je zadan između vitičastih zagrada ( {} ), u ovom slučaju to je računica x=x*k-n i ispis console.log(x).


Taj set komandi će se izvršavati onoliko puta koliko je zadano u samoj definiciji petlje. To je određeno brojačem i uvjetom do kojeg brojač broji. U ovom jednostavnom primjeru, dok god je j manje od n (j<n) petlja će se izvršavati. Početna vrijednost je zadana prva (j=k), a k smo rekli da je 1. Broji do n, a n je 3. Dakle petlja će odvrtiti 2 puta, dok je j = 1, i dok je j = 2. Zašto samo 2 puta?


Treći parametar j++ znači da se nakon svakog izvršavanja petlje, varijabla j uveća za 1 - u prevodu j=j+1 (trenutna vrijednost + 1). Ako je počela sa 1, idući put je 2, pa 3 itd. Stvar je što uvjet da je MANJA od n se ispunjava za vrijeme 2 obrtaja (iteracije). Pri idućoj provjeri, j = 3, što ne ispunjava uvjet j < n jer je n =3. Da je stavljeno =< manje ili jednako, onda bi se izvršila još jednom.

Postepeno prikazano:



j= 1, n = 3, x =0



* Prva iteracija:
petlja počinje:
x= 0*1 -3; (x = -3)
ispis: -3

Petlja gotova, nova provjera uvjeta



j++ => j=2, n=3, (j<n ispunjeno), x -3


Druga iteracija:

petlja počinje:
x= -3 * 1 - 3 (x=-6)
ispis: -6
Petlja gotova, nova provjera uvjeta


j++ => j=3, n=3 (j<n nije ispunjeno) petlja se ne izvršava preskaču se zagrade {}




Ne znam jesam li mogao jednostavnije, pročitaj 2 put, pitaj ako zapne; jer imaš još vrsti a ovo je najosnovnija.
« Zadnja izmjena: 18. Rujan, 2016., 00:52 yubs-d-rsc »
The blood of youth is bubbling back..

Odg: Petlje u programiranju
« Odgovori #2 : 18. Rujan, 2016., 09:25 »
Mislim da sam skužio kak bi to sad trebalo ići, probao sam na taj primjer prebaciti u C jezik, ali mi izbaciva ovo
Here comes a new challenger!