Sunteți pe pagina 1din 3

Borland C++

Laborator 10

1. Scopul lucrrii
Aplicarea i aprofundarea instruciunii repetitive FOR.

2. Consideraii teoretice
n majoritatea limbajelor de programare de nivel nalt, instruciunea for
implementeaz structura ciclic cu numr cunoscut de pai (vezi reprezentarea prin
schema logic i pseudocod din capitolul 1).


















n limbajul C++ instruciunea for poate fi utilizat ntr-un mod mult mai
flexibil. Instruciunea FOR are forma general:

for (expresie
iniializare
;expresie
test
;expresie
incrementare
)
set instruciuni;

Dup cum se vede, ntre paranteze se gsesc 3 expresii.
Expresie
initializare
se folosete, de regul, pentru iniializarea variabilei de
ciclare. Este de remarcat faptul c n cadrul acestei expresii este posibil chiar s
declarm variabila de ciclare (cu valoare iniial).
Expresie
test
se folosete pentru a testa dac se execut instruciunea
subordonat - dac expresia produce la evaluare o valoare diferit de 0,
instruciunea subordonat for se execut.
Expresie
incrementare
se folosete pentru incrementarea variabilei de ciclare.

Principiul de executare:
PAS 1. Se evalueaz Expresie
initializare
(un caz special este acela n care aceasta
conine i declaraia variabilei de ciclare);

NU
evaluare expresie1 (particular iniializare contor)
instruciune
expresie2
evaluare expresie3 (particular
incrementare contor)
DA
Reprezentare prin schema logic:
Figura 11.1. Structura ciclic cu test iniial
PAS 2. Se evalueaz expresia
test
. n cazul n care aceasta produce o valoare diferit
de 0, se execut instruciunea subordonat for; apoi se trece la P3, altfel se trece la
instruciunea urmtoare (se termin execuia Instruciunii for).
PAS 3. Se evalueaz expresia de incrementare i se revine la P2.

Important. Toate expresiile pot fi vide. n concluzie, expresiile de mai sus au
rolul precizat n mod normal - dar nu obligatoriu i nici restrictiv. De exemplu,
dac expresie
test
este vid, se execut un ciclu infinit.
Exemplu de de ciclu infinit:
#include <iostream.h>
void main()
{ for(;;)
cout<<\n BUNA;
}
Dac un ciclu nu se termin (instruciunile se execut la infinit) spunem c
programul cicleaz. Uneori, din greeal, scriem programe care cicleaz. Pentru a
opri din executare un asfel de program, procedm difereniat dup sistemul de
operare n care lucrm:
dos - tastm ctrl+pause;
Windows - tastm ctrl+alt+del.

Exemplul 1. Programul urmtor listeaz numerele 5, 4, 3, 2, 1.

Exemplul 2. S se listeze alfabetul n ordine invers.

Exemplul 3. Se citete n (numr natural). Se cere s se efectueze suma primelor n numere
naturale. Exemplu: n=3. s=1+2+3=6


Exemplul 4. S se calculeze suma: S=0,1+0,2+...+0,9.


Aplicatie:
Fie N un numr natural nenul .Scriind n ordine, unul dup altul, toate numerele naturale de la 1 la N,
obinem o secven de cifre. De exemplu, pentru N=22, obinem: Obtineti aceasta secventa de cifre
utilizand instructiunea repetitiva for!
1234 5 678 910111213141516171819202122

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