# data[].attributes.body
a=12;

b=15;

while(a!=b)

{

if(a>b)

a=a-b;

else

b=b-a;

}

cout<<a;

# data[].attributes.body
n=172;

s=0;

while(n!=0)

{s=s+n%10;

n=n/10;

}

cout<<s;

# data[].attributes.body
i=5;

p=1;

while(i<=7)

{p=p*i;

i=i+1;

}

cout<<p;

# data[].attributes.body
Ce afiseaza secventa de mai jos:

i=1;

s=0;

while(i<=4)

{ s=s+i;

i=i+1;

}

cout<<s;

REZOLVARE

i=1 s=0

1<=4 da => s=0+1=1 i=1+1=2

2<=4 da => s=1+2=3 i=2+1=3

3<=4 da => s=3+3=6 i=3+1=4

4<=4 da => s=6+4=10 i=4+1=5

5<=4 nu

Se afiseaza 10

# data[].attributes.body
Sintaxa:
while(conditie_logica)
{
instructiuni;
}

Instructiunea WHILE se executa astfel:

se evalueaza conditia logica

daca este adevarata se executa instructiunile dintre acolade si se revine la pasul 1

daca este falsa, instructiunea while se opreste

# data[].attributes.body
De cate ori se repeta instructiunea FOR?
a)
for(i=2;i<=4;i=i+1)
{......}

b)
for(i=3;i<=8;i=i+2)
{......}

c)
for(i=6;i>=2;i=i-2)
{......}

# data[].attributes.body
c)
for(i=5;i>=3;i--)
{....}

i=5,4,3 => se repeta de 3 ori

d)

for(i=5;i<=4;i++)

{....}

i=5 => 5<=4 fals => nu se executa niciodata

# data[].attributes.body
De cate ori se repeta instructiunea for de mai jos:
a)
for(i=1;i<=5;i=i+1)
{......}

contor=i

valaoarea initiala=1

valoarea finala=5

pasul=1

i=1,2,3,4,5 => se repeta de 5 ori

i=i+1 se mai scrie i++

i=i-1 se mai scrie i--

b)
for(i=2;i<=7;i=i+2)
{....}

i=2,4,6 => se repeta de 3 ori

# data[].attributes.body
INSTRUCTIUNEA FOR

Sintaxa:
for(contor=vali;contor<=valf;contor=contor+pas)
{
instructiuni;
}
Unde:
contor=variabila care numara de cate ori se repeta instructiunile
vali=valoarea initiala
valf=valoarea finala
pas= valoarea cu care creste sau descreste contorul

for(contor=vali;contor>=valf;contor=contor-pas)
{
instructiuni;
}
Instructiunea FOR se executa astfel:

contorul va lua pe rand toate valorile de la vali la valf, si va creste cu valoarea pasului

pentru fiecare valoare a contorului se vor executa instructiunile dintre acolade

# data[].attributes.body
x=25

sqrt(25)==floor(sqrt(25))

5==floor(5)

5==5 => da

x=30

sqrt(30)==floor(sqrt(30))

5.47==floor(5.47)

5.47==5 => nu

# data[].attributes.body
x este numar par: x%2==0

x este numar impar: x%2==1 sau x%2!=0

x este pozitiv: x>=0

x este negativ: x<0

x este divizibil cu 3: x%3==0

x este divizibil cu y: x%y==0

x este pozitiv si impar:  x>=0 && x%2==1

x este negativ sau par:  x<0 || x%2==0

x este patrat perfect:  sqrt(x)==floor(sqrt(x))

# data[].attributes.body
abs(-5)=5

abs(8)=8

sqrt(81)=9

sqrt(25)=5

pow(3,2)=9

pow(5,0)=1

floor(5.25)=5

floor(8.99)=8

ceil(8.99)=9

ceil(4.025)=5

floor(3.00)=3

ceil(3.00)=3

# data[].attributes.body
Sunt incluse in fisierul <math.h>

abs(x)=calculeaza modulul lui x
sqrt(x)=calculeaza radical din x
pow(x,y)=calculeaza x la puterea y
floor(x)=calculeaza partea intreaga a lui x
ceil(x)=calculeaza cel mai apropiat intreg >=x

# data[].attributes.body
Se foloseste atunci cand vrem sa testam o conditie logica.

Sintaxa:
if(cond_logica)
instructiune1;
else
instructiune2;
-----------------------------
if(conditie_logica)
instructiune1;

Instructiunea IF  se executa astfel:

se evalueaza conditia logica

daca este adevarata se executa instructiune1

daca este falsa se executa instructiune 2 (niciodata ambele)

OBS - Daca ramura altfel (else) lipseste si conditia logica este falsa, nu se executa nimic!
- Daca instructiune1 si instructiune2 sunt compuse (contin mai mute instructiuni), ele se includ intre acolade {}

# data[].attributes.body
1) Scrieti un program care citeste de la tastatura baza mare, baza mica si inaltimea unui trapez ( nr naturale) si calculeaza aria acestuia.

2) Scrieti un program care care citeste de la tastatura baza si inaltimea unui paralelogram (numere naturale) si calculeaza aria acestuia.

# data[].attributes.body
1)

#include<iostream>

int main()

{

float l,a,p;

cin>>l;

p=4*l;

a=l*l;

cout<<p<<" "<<a;

return 0;

}

2)

#include<iostream>

int main()

{

float r,a,l;

cin>>r;

l=2*3.14*r;

a=3.14*r*r;

cout<<l<<" "<<a;

return 0;

}

# data[].attributes.body
1) Scrieti un program C++ care citeste de la tastatura latura (valoare reala) unui patrat si calculeaza si afiseaza aria si perimetrul.

2) Scrieti un program C++ care citeste de la tastatura raza (valoare reala) unui cerc si calculeaza si afiseaza aria si lungimea.

obs - folosim valoarea 3.14 pentru constanta pi

# data[].attributes.body
Scrieti un program C++ care citeste de la tastatura lungimea si latimea (valori reale) unui dreptunghi si calculeaza si afiseaza aria si perimetrul.

#include<iostream>

int main()

{

float l,L,a,p; //am declarat variabilele

cin>>l>>L; //am citit datele de intrare

p=2*l+2*L;

a=l*L;

cout<<p<<" "<<a;

return 0;

}

# data[].attributes.body
Se foloseste semnul "=", astfel:

nume_variabila=valoare;

nume_variabila=expresie;

Ex: a=5; //variabila a primeste valoarea 5

b=2*a+3;

a=b=c=1; //atribuire multipla

# data[].attributes.body
•Franta – este asezata in vestul Europei; are iesire la Golful Biscaya, Marea Manecii si Marea Mediterana;

•Italia -  este asezata in sudul Europei; peninsula care se intinde spre centrul Marii Mediterane, la nord-est de Tunisia.

•Germania – este asezata in Europa centrala; are iesire la Marea Baltica si Marea Nordului;

•Grecia -  este asezata in sudul Europei; are iesire la Marea Egee, Marea Ionica si Marea Mediterana;