Documente Academic
Documente Profesional
Documente Cultură
06 Structuri Repetitive in Pascal
06 Structuri Repetitive in Pascal
Corespunztor celor trei structuri repetitive Pentru, Ct_Timp i Repet, limbajul Pascal ofer trei instruciuni (care permit execuia repetat a unui grup de instruciuni) : For, While i Repeat.
Aceast instruciune permite execuia repetat a unei instruciuni n funcie de valoarea unui contor. Ea are sintaxa For <v> := <e1> To <e2> Do <ins> sau For <v> := <e1> DownTo <e2> Do <ins> Aici <v> este un identificator de variabil numit contor, iar <e1> i <e2> sunt expresii, toate trei avnd acelai tip ordinal (deci nu pot avea tipul real). Valorile vi i vf ale expresiilor <e1> i <e2> se calculeaz o singur dat la nceputul execuiei instruciunii For. Variabila contor <v> va lua valori ntre limitele vi i vf, cresctor dac n instruciune figureaz cuvntul To i descresctor dac n instruciune figureaz cuvntul DownTo. Semnificaia acestei instruciuni este dat prin urmtorul algoritm: Calculeaz valorile vi i vf ale expresiilor e1, respectiv e2; Dac c1 Atunci Fie v := vi; Repet ins. Dac c2 Atunci v:=e3 Sf_Dac Pn_Cnd c3 Sf_Dac
45
Contorul v poate fi folosit n instruciunea <ins> ,dar nu este permis modificarea valorii sale. Astfel, n mediul Turbo-Pascal nu se consider eroare modificarea variabilei contor, dar execuia unui astfel de program devine imprevizibil. Ca un prim exemplu de folosire al instruciunii For dm un program care tiprete toi divizorii proprii ai numrului natural n>2.
Program Divizori; Var n, i : Integer; Begin Writeln(Se tiparesc divizorii lui n); Write(Dati n=); Readln(n); For i:=2 To n Div 2 Do If n Mod i = 0 Then Writeln(i); End.
46
47