Sunteți pe pagina 1din 2

INSTRUCŢIUNEA do-while

Această instrucţiune realizează structura repetitivă condiţionată posterior (posttestată) dar


modificată faţă de REPEAT .. UNTIL. Această instrucţiune s-a introdus pentru o mai mare
flexibilitate în scrierea programelor. Formatul ei este: do

instructiune;

while (exp);

Efectul:

se execută instrucţiunea instructiune;

se evaluează expresia exp din paranteze;

dacă valoarea expresiei este zero se trece la instrucţiunea următoare instrucţiunii do-while;
altfel se revine şi se execută din nou instructiune.

Observaţii:

1 Structura realizată de instrucţiunea do-while poate fi realizată printr-o secvenţă în care se


foloseşte instrucţiunea while astfel:

instructiune;

while (exp) instructiune;

2 Se observă că în cazul instrucţiunii do-while, corpul ciclului se execută cel puţin odată, spre
deosebire de ciclurile while şi for unde corpul ciclului poate să nu se execute niciodată.

Exemplu:

Vom da un program care calculează rădăcina pătrată dintr-un număr real a>=0.

#include<stdio.h>

#define EPS 1e-10

void main (void)

{ double x1,x2,y,a;

clrscr(); // sterge ecranul

printf(“\ndati un numar real pozitiv a=”);

if (scanf(“%lf”,&a) !=1 || a<0) printf (“numarul citit nu este pozitiv\n”);


else {

x2 = 1.0;

do { x1 = x2;

x2 = 0.5 *(x1+a/x1); // formula de iteratie

if ((y=x2-x1) < 0) y = -y;

while (y >= EPS);

printf (“radacina patrata din:%g este: %.2lf\n”,a,x2); // 2 zecimale

} //sfirsit else

S-ar putea să vă placă și