Osnove programiranja - ciklusi, na primjer, za. Pascal. Kao i svaki drugi računalni jezik, on također sadrži takve konstrukte u svojoj sintaksi.
Imenovanje cikličkih operatora
Tipičan zadatak je prisiliti računalo da nekoliko puta obavlja istu operaciju. Ovdje i spremite dizajne koji vam omogućuju organiziranje ponavljanja koda. Dakle, ciklus programiranja je ponovljena akcija koja je organizirana pomoću jezičnih alata. Programski jezik Pascal uključuje nekoliko takvih konstrukata:
za - ponavljanje s parametrom;
dok - ponoviti s preduvjetom;
ponovite do - ponovite s postvitalom.
Unatoč prividnoj jednostavnosti i očiglednosti cikličkih dizajna, početnički programeri suočeni su s brojnim problemima u njihovoj implementaciji. Najveća poteškoća je postavljanje uvjeta za izlazak iz ciklusa. U tom smislu, operator za brojanje je najjednostavniji.
Struktura
Za pisanje konstrukcije ponavljanja s parametrom, morate upisati sljedeći kod: FOR {a}: = {b} TO {c} DO {d}. U primjeru, rezervirane riječi jezika za praktičnost su velika slova, u praksi možete koristiti crtanje crte. Upotrijebljene varijable i operatori prikazani su u vitičastim zagradama. Oni znače:
{a} je varijabla bilo kojeg tipa računa, najčešće INTEGER;
{b}, {c} - izraz tipa računa, isti kao i {a};
{d} je proizvoljni operator /jezični operator, koji se također naziva tijelo ciklusa.
Razrada dizajna za, Pascalizračunava vrijednost {b}, dodjeljuje {a}: = {c}, a zatim ponavlja radnju:
provjerite uvjet {b}
pokrenuti operator {d};
povećavaju vrijednost {a} na jedan, odnosno {a}: = {a} + 1.
Budući da je broj poznatih ponavljanja unutar tijela, ova konstrukcija se odnosi na determinističke cikluse.
Primjer
Kako bismo razumjeli kako dalje raditi, postoji primjer pascal koda za lutke.
s: = 0;
za a: = 1 do 5 do
započinje
s: = s + a;
kraj;
writeln (s);
Razumijevanje pisanih uputa, možete napisati vrijednost u svakoj iteraciji:
1. iteracija: a = 1; s = 1;
2. iteracija: a = 2; s = 3;
3. iteracija: a = 3; s = 6;
4. iteracija: a = 4; s = 10;
5. iteracija: a = 5; s = 15
Kao rezultat, korisnik će na ekranu vidjeti broj "15" - zbroj brojeva od 1 do 5. Da bi prvi program bio svestran, zamijenite brojeve 1 i 5 varijablama.
Česte pogreške
Kada se koristi za petlju for, Pascal zahtijeva pažljivo razmatranje vrijednosti {a}, {b}, {c}. Ako ne slijedite pravila za pisanje programa, prevodilac će prijaviti pogrešku. Postoji pet takvih pravila.
Brojač (parametar ciklusa) {a} daje cijeli broj.
Vrijednosti {b} i {c} također moraju imati cijeli broj. Na primjer, trebate izračunati vrijednost kuta danog u radijanima od 0 do p. Ali sljedeći unos koda će biti netočan za: = 0 do pi do. Rješenje je koristiti funkciju zaokruživanja trunc () ili round (). Prvi odbacuje djelomični dio stvarnog broja, drugi - rundedo najbliže cjeline.
Ako je korisnik napravio pogrešku i naveo {b}
Nakon završetka ciklusa, brojač {a} može imati bilo koju vrijednost. Iako je to u suprotnosti s logikom, ali u praksi {a} & lt; & gt; {C}. Zaključak: Ne preporučuje se kontaktirati {a} nakon izvršenja za izjavu.
U tijelu petlje (tj. Nakon riječi do), nije preporučljivo koristiti operatore koji mijenjaju vrijednost {a}. Usklađenost s ovim pravilom neće uzrokovati grešku, ali će se kršiti logika programa.
Takvo je pravilo općenito prihvaćeno i odgovara "dobrom tonu" u programiranju: bilo bi prikladno raditi s kodom koji operateri tijela petlje moraju zabilježiti ne iz prvog stupca. Na primjer, radite razmak od 2-3 na lijevoj strani ili pomoću tipke Tab.
Ovaj se dekret odnosi ne samo na Pascalov jezik. Za "lutke" omogućuje vam brzo pronalaženje i ispravljanje pogreške u uputama.
Tipični zadaci
Pretpostavimo da je potrebno izvršiti tabeliranje funkcije f (x) = 3 * x + 15, tj. Dobiti tablicu M vrijednosti funkcija u rasponu [x1; x2], gdje su x 1 i x 2 minimalne i maksimalne vrijednosti argumenta. Za rješavanje ovih i sličnih zadataka pomaže dizajn. Pascal preporuča da programski kod bude napisan na sljedeći način:
za a: = 1 do M do
početak
x: = x1 + (x2-x1) * (a-1) /1);
f: = 3 x + 15;
writeln (x, '', f);
kraj
Budući da korak promjene x nije specificiran, vrijednost argumenta se izračunava tijekom programa sa svakom iteracijom pomoću formule: x: = x1 + (x2- x1) * (a-1) /(M-1).
Uključite sepetlje
S obzirom da je dopušteno koristiti operatore unutar dizajna, dopušteno mu je postaviti drugu petlju u njegovo tijelo. Pascal ima standardni opis za ovaj zadatak, sličan drugim programskim jezicima:
FOR {a}: = {b} TO {c} DO
FOR {a1}: = {b1} TO {c1} DO
Kako bi konstrukcija radila ispravno, mora se poštovati uvjet: brojila u svakom ciklusu moraju biti različita. Inače, unutarnja petlja će promijeniti vrijednost parametra vanjske petlje, što će rezultirati logičkim pogreškama.