Documente Academic
Documente Profesional
Documente Cultură
- BUCLE -
Repetă de câteva ori o porțiune a codului program
până când procesarea datelor respective este completă.
Instrucţiune ce permite repetarea unei secvenţe de instrucţiuni atâta timp cât o condiţie este îndeplinită.
Permite implementarea unei bucle ( ciclu ) cu test final, deci instrucţiunile din interiorul buclei se execută
sigur cel puţin o dată.
Instrucțiunea WHILE
Instrucţiune ce oferă posibilitatea de a repeta o anumită secvenţă de program cât timp o anumită condiţie
predefinită este îndeplinită.
WHILE - cât timp -
Problema 1 rezolvată:
Să se realizeze o tablă a înmulţirii de la 0 până la un număr dat de operatorul PC.
Exemplu dacă se introduce 5 se va afişa: 0x5=0, 1x5=5, 2x5=10,....5x5=25
Problema 2 rezolvată:
Să se realizeze un program care calculează suma primelor numere întregi, cu numar de întregi dat de la tastatură:
Enunţ:
Să se citească un număr natural n. Să se scrie un algoritm care afişează toţi divizorii numărului dat.
Exemplu: Pentru n = 12, mulţimea divizorilor este formată din valorile 1, 2, 3, 4, 6, 12.
În cadrul problemei pe care o avem de rezolvat, verificăm condiţia ca un număr să fie divizor al altui
număr şi anume:
i este divizor al numărului n dacă se împarte exact la el, adică se va verifica dacă este adevărată
expresia următoare: n % i =0.
Pentru a găsi toţi divizorii numărului n dat, vom atribui valori lui i, pornind de la valoarea 1 până la
valoarea n.
Deci vom utiliza o structură repetitivă. WHILE este o structură repetitivă!
Pas 1: Stabilim care sunt datele de intrare, adică cele care vor fi
prelucrate cu ajutorul algoritmului, împreună cu datele de ieşire.
În cazul problemei date, avem:
Date de intrare: n număr natural
Date de ieşire: număr prim sau nu
Pas 2: Analiza problemei
Vom presupune, la începutul problemei, că numărul
n dat este prim, şi vom specifica acest lucru cu ajutorul
unei variabile de tip logic, căreia îi vom da valoarea
‘adevărat’.
Apoi vom evalua, pe rând, toate valorile începând cu
valoarea 2 şi până la n-1, ca să determinăm dacă sunt
divizori ai numărului n dat.
Dacă găsim un singur divizor printre aceste numere,
atunci vom acorda valoarea ‘fals’ variabilei de tip logic.
La sfârşit vom verifica care este valoarea variabilei
de tip logic şi vom afişa un mesaj corespunzător.
Exemple de programe C++
natural n, i
logic p
citeşte n
p <- adevărat
Pas 3: i <- 2
cât timp i <= n-1 execută
Scrierea dacă n % i = 0 atunci
algoritmului în p <- fals
sfârşit dacă
pseudocod: i <- i + 1
sfârşit cât timp
dacă p = adevărat atunci
scrie ‘Numarul este prim’
altfel
scrie ‘Numarul NU este prim’
sfârşit dacă
stop
Instrucțiunea FOR
Instrucţiunea for permite repetarea unei secvenţe de instrucţiuni pentru un set de condiţii, adică avem
posibilitatea execuţiei unei expresii de iniţializare (înainte de a începe bucla) şi a unei alte expresii la
sfârşitul fiecărei iteraţii (fiecărui pas).
Instrucțiunea repetitivă FOR este cea mai utilizată deoarece condițiile și pașii sunt definite de la bun început.
Algoritmi esențiali în programe rezolvate
int main(){
int x;
cout<<"x="; cin>>x;
cout<<"nr schimbat: x= ";
while(x!=0){//cat timp
cout<<x%10;
x/=10;}
cout<<endl;
}
/*2.sa se formeze si sa se afiseze numarul obtinut din cifrele scrise in ordine inversa ale unui nr.*/
-?-?-?-?-?-?-
int main(){
int x;
cout<<"x="; cin>>x;
int p=1,y=0;
while(x!=0){
y=x%10+y*10;
x=x/10;}
cout<<"numarul obtinut :"<<y<<endl;
return 0:
}
/*3..sa se elimine cifrele impare dintr-un numar*/
-?-?-?-?-?-?-
cout<<"x=";cin>>x;
p=1;y=0;
while(x!=0){
if(x%10%2==0){
y=y+x%10*p;
p=p*10;}
x=x/10;}
cout<<"numarul fara cifre impare este :"<<y;
-?-?-?-?-?-?-