Sunteți pe pagina 1din 16

Profesor: Florescu Laura

BLOC

NU

CONDIIE
DA

n
cadrul
structurii repetitive
o secven este
executat n mod
repetat att timp
ct
o
anumit
condiie
este
ndeplinit.

Structura repetitiv

Clasificarea Structurii repetitive:


cu numr cunoscut de pai
cu numr necunoscut de pai
cu test iniial
cu test final

Structura repetitiv cu numr cunoscut de pai


pseudocod
pentru (i vi,vf,p) execut
secven
Sfrit_pentru.

C++
for(i=vi;i<=vf;i=i+p)
{ secven; }

Unde,
i se numete contor
vi valoare iniial
vf valoare final
p pasul,valoarea cu care este incrementat/decrementat
contorul

Structura repetitiv
Principiul de execuie:
Pas 1: Contorul i primete valoarea iniial vi;
Pas 2: Se verific dac contorul i este mai mic/ mare
sau egal dect valoarea final vf; n cazul n care
condiia este ndeplinit se execut.
Pas 3: dac nu este ndeplinit se va executa
instruciunea ce urmeaz structurii pentru.
Pas 4: Se execut secvena, se incrementeaz/
decrementeaz valoarea contorului cu valoarea p.

1.S se calculeze suma S = 1 + 2 + 3 + + n,


unde n este un numr natural citit de la
tastatur.
include<iostream>
using namespace std;
ntreg i, n, S;
Int main( )
START
{ int i, n, S;
citeste n ; S 0;
pentru i 1,n, 1 execut cout<<n=;cin>>n
;
S S + i;
S=0;
sfrit_pentru;
for(i=1;i<=n; i++)
scrie S;
S = S + i;
STOP.
cout<<S=;
cout<<S<<endl;}

2. S se calculeze suma S = 1*3 + 2*5 + 3*7 +


+ n(2n+1), unde n este un numr natural citit de
la tastatur.
include<iostream>
ntreg i, n, S, k;
using namespace std;
nceput
int main( )
citeste n ; S 0;
pentru i 1,n, 1 execut { int i, n, S, k;
cin>>n; S=0;
k= i * (2*i + 1);
for(i=1;i<=n;i++)
S S + k;
{ k= i*(2*i + 1);
sfrit_pentru;
S=S+k;}
scrie S
cout<<S=<<S;}
sfrit

3. Se citete de la tastatur un ir de n numere


naturale. Scriei un algoritm care afieaz cte
sunt divizibile cu 7.
include<iostream>
ntreg x, nr, i, n;
using namespace std;
nceput
citeste n; nr 0;
int main( )
pentru i 1,n, 1 execut
{ int x, nr, i, n;
citete x;
cin>>n; nr=0;
daca (x%7=0) execut
for(i=1;i<=n;i++)
atunci nr nr + 1
{cin>>x;
sfrit dac;
if(x%7==0)
sfrit pentru;
nr=nr+1;}
scrie nr;
cout<<nr=<<nr;}
sfrit

4. Se citete de la tastatur un ir de n numere


naturale. Scriei un algoritm care afieaz cte
sunt pozitive i pare.
include<iostream>
ntreg x, nr, i, n;
using namespace std;
nceput
int main( )
citeste n; nr 0;
pentru i 1,n, 1 execut{ int x, nr, i, n;
citete x;
cin>>n; nr=0;
daca ((x>0) AND (x%2=0))
for(i=1;i<=n;i++)
atunci nr nr + 1 {cin>>x;
sfrit dac;
if(x>0 && x%2==0)
sfrit pentru;
nr=nr+1;}
scrie nr;
cout<<nr=<<nr;}
sfrit

5. Se citete de la tastatur un ir de n numere


naturale. Scriei un algoritm care afieaz
maximul dintre ele.
ntreg x, i, n, max;
nceput
citeste n,x; max x;
pentru i 2,n, 1 execut
citete x;
daca (x>max)
atunci max x
sfrit dac;
sfrit pentru;
scrie max;sfrit

6. Se citete de la tastatur un ir de n numere naturale. Scriei


un algoritm care afieaz suma numerelor pare.

ntreg x, i, n, S;
nceput
citeste n; S 0;
pentru i 1,n, 1 execut
citete x;
daca (x%2=0) atunci S S+ x
sfrit dac;
sfrit pentru;
scrie S;
sfrit

7. Se citete de la tastatur un ir de n numere naturale. Scriei


un algoritm care afieaz produsul numerelor impare.

ntreg x, i, n, P;
nceput
citeste n; P 1;
pentru i 1,n, 1 execut
citete x;
daca(x%2!=0)atunci PP*x
sfrit dac;
sfrit pentru;
scrie S;
sfrit;

8. Se citete de la tastatur un ir de n numere naturale. Scriei un


algoritm care afieaz suma cifrelor unitilor corespunztoare fiecrui
numr.

ntreg x, nr, i, n, S;
nceput
citeste n; S 0;
pentru i 1,n, 1 execut
citete x;
S S + x%10;
sfrit pentru;
scrie S;
sfrit

9. Se citete de la tastatur un ir de n numere naturale. Scriei


un algoritm care afieaz media aritmetic a numerelor pozitive.

ntreg x, i, n, nr; real ma;


nceput
citeste n; nr 0;
pentru i 1,n, 1 execut
citete x;
daca (x>0) atunci
ma ma + x; nr nr + 1
sfrit dac;
sfrit pentru;
scrie ma/nr;
sfrit

Bibliografia
Informatic - Manual clasa aIX-a, Mariana
Miloescu,
Tudor Sorin - Manual de INFORMATIC, clasa
a IX-a, profilul real-intensiv (varianta C++)
Dana Lica - Manual de INFORMATIC, clasa a
IX-a, profilul real-intensiv

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