Sunteți pe pagina 1din 2

Instructiunea WHILE

Exista trei instructiuni (structuri) repetitive folosite in toate limbajele: * * * instructiunea repetitiva cu test initial CAT TIMP (WHILE) (se foloseste cand numarul de repetitii este nedefinit) instructiunea repetitiva cu test final REPETA-PANA CAND (DO WHILE sau REPEAT) (se foloseste cand numarul de repetitii este nedefinit) instructiunea repetitiva cu un numar cunoscut de pasi PENTRU (FOR) (se foloseste cand numarul de repetitii este cunoscut - un numar fix de ori.)

Instructiunea WHILE
Sintaxa : * Efect Se evalueaza expresia logica Daca valoarea expresiei logice este 1 (adevarata) se executa instructiunea si se revine la pasul 1 daca valoarea expresiei logice este zero (falsa) se continua cu instructiunea de dupa punct-virgula Observatii: * * * * in esenta, cat timp valoarea expresiei logice este adevarata, se executa instructiunea daca valoarea expresiei logice este falsa de la inceput atunci instructiunea nu se mai executa daca WHILE trebuie sa repete mai mult de o instructiune, acestea se vor incadra intre acolade; instructiunea WHILE se mai numeste repetitiva cu test initial sau conditionata anterior, pentru ca intai verifica valoarea conditiei si apoi executa secventa ce trebuie repetata while (expL) instructiune;

Problema exemplu. Fie A si B doua valori naturale. Sa se simuleza impartirea cu rest a lui A la B (prin scaderi repetate) si sa se determine catul si restul impartirii.
#include <iostream.h> void main() {//declararea int A, B, C=0; //citirea cin>>A>>B; //prelucrarea while(A>=B) {A=A-B; C++;}; //Afisarea rezultatelor cout<<"catul este :"<<C<<endl; cout<<"restul este : "<<A;

Explicatii. Cand impartim pe A la B cautam de cate ori se cuprinde B in A, altfel spus cate scaderi ale lui B din a se pot face. Un tip e problema ce necesita folosirea instructiunii WHILE este prelucrarea unui sir de valori ce se incheie cu zero. Ideea : Se citeste fiecare valoare si daca este nenula se prelucreaza; Acest pas se repeta pana citim valoarea zero. (Ex: 23, -4, 5, 12, 79, 0). Codul corespunzator este:
cin>>x; While (x!=0) { //prelucrez valoarea X citita; .............................. //citesc urmatoarea valoare din sir cin>>x;};

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