Instrucțiuni de intrare

Previzualizare curs:

Extras din curs:

7. Instrucţiuni de iterare

Instrucţiunile de iterare (ciclare) permit ca un grup de instrucţiuni să se execute repetat, până se îndeplineşte o anumită condiţie. În C, există trei categorii de cicluri:

• ciclul cu test iniţial: instrucţiunea while;

• ciclul cu test iniţial şi număr cunoscut de repetări: instrucţiunea for;

• ciclul cu test final: instrucţiunea do-while.

7.1. Instrucţiunea while

Instrucţiunea while permite programarea ciclurilor cu test iniţial. Forma generală a instrucţiunii while este următoarea:

while (expresie_condiţie) instrucţiune;

unde instrucţiune este o instrucţiune vidă, o singură instrucţiune sau un bloc de instrcţiuni, iar expresie_condiţie poate să fie orice expresie. Bucla se reia atâta timp cât condiţia este adevărată, adică expresie_condiţie ia o valoare diferită de zero. Când condiţia devine falsă, se iese din ciclu şi se continuă execuţia programului cu instrucţiunea ce urmează după ciclu.

De exemplu, programul Afiseaza cod caracter utilizează un ciclu while pentru a afişa codul caracterului tastat. Ieşirea din ciclu se face când se tastează caracterul ghilimele ( “ ).

/* Afiseaza cod caracter */

#include <stdio.h>

#include <conio.h>

void main()

{

int c;

clrscr();

/* Iesire cu caracterul " (ghilimele) */

while ((c=getche())!='"') printf(" - %dn",c);

}

În anumite cazuri, instrucţiunea repetată poate fi vidă. De exemplu, secvenţa

while (getch())!='C');

aşteaptă apăsarea tastei ’C’ pentru continuarea execuţiei.

Programul Radical din numar pozitiv utilizează un ciclu while pentru a determina, cu o anumită aproximaţie, radicalul unui număr pozitiv. Programul foloseşte faptul că şirul xn, unde n este număr natural şi x0 >0, are limita radical din a . La un moment dat, programul utilizează numai ultimii doi termini ai şirului: xn-1, memorat în x şi xn, memorat în y. Calculul se consideră încheiat când diferenţa, în valoare absolută, dintre x şi y este mai mică decăt o valoare impusă delta.

/* Radical din numar pozitiv */

#include <stdio.h>

#include <conio.h>

void main()

{

float a,x=1,y,z;

const float delta=0.00001;

clrscr();

printf("Introduceti un numar pozitiv:");

scanf("%f",&a);

if (a<0) printf("Numarul %f este negativ:",a);

else

{

y=(x+a/x)/2;

z=x-y;

if (z<0) z=-z;

while (z>delta)

{

x=y;

y=(x+a/x)/2;

z=x-y;

if (z<0) z=-z;

}

printf("Radical din %g este %gn",a,x);

}

getche();

}

7.2. Instrucţiunea for

În limbajul C, bucla for are o putere şi o flexibilitate deosebită. Ea oferă o cea mai compactă metodă de programare a ciclurilor cu test iniţial. Forma generală a instrucţiunii for este următoarea:

for (expr_init ; expr_cond ; expr_increment) instrucţiune;

unde:

• expr_init este o instrucţiune care realizează iniţializarea buclei;

• expr_cond este o expresie relaţională (condiţie) care determină ieşirea din buclă;

• expr_increment stabileşte modul în care se modifică (incrementează) variabila de control a buclei (contorul).

Rolul celor trei expresii este următorul:

• expr_init este evaluată o singură dată, înaintea primei iteraţii, pentru a efectua iniţializările necesare (variabila de control şi, eventual, alţi parametrii);

• expr_cond este evaluată şi testată înainte de fiecare iteraţie;

• expr_increment se evaluază la sfârşitul fiecărei iteraţii şi, dacă este cazul, actualizează parametrii ciclului.

Instrucţiunea for poate fi echivalată cu următorul ciclu while:

expr_init;

while (expr_cond)

{

instrucţiune;

expr_increment;

}

Instrucţiunea subordonată ciclului este executată după verificarea condiţiei, dacă aceasta este adevărată. Când condiţia devine falsă, se iese din ciclu şi se continuă execuţia programului cu instrucţiunea ce urmează după ciclu.

De exemplu, programul Suma utilizează ciclul for pentru calculul sumei: s= 1 + 1/2 + 1/3 +...+ 1/n.

/* Suma */

#include <stdio.h>

#include <conio.h>

void main()

{

clrscr();

int n,i;

float s;

printf("tn=");

scanf("%d",&n);

s=0;

for (i=1; i<=n; i++) s=s+1/(float)i;

printf("suma=%fn",s);

getch();

}

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Instructiuni de Intrare.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
7/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
7 pagini
Imagini extrase:
7 imagini
Nr cuvinte:
1 858 cuvinte
Nr caractere:
10 230 caractere
Marime:
14.05KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Sus!