Sunteți pe pagina 1din 3

Laborator programarea calculatoarelor (2012) Limbajul C++ Adrian Runceanu

Laborator nr. 3 Elemente de baza ale limbajului C++


Problema 1: Fie a si b doua variabile reale. Sa se interschimbe valorile celor doua variabile. a) folosind o variabila auxiliara b) fara a folosi variabile auxiliare Solutie: a) aux=a a=b b=aux a=a-b b=a+b a=b-a

b)

Problema 2: Sa se calculeze suma s = 1 2 + 3 4 + ... n, pentru un n dat de la tastatura. Nu se folosi nici un fel de instructiuni repetitive. Exemplu : Penrtu n=5, se obtine suma=-5. Solutie : Se observa ca s=(1-2) + (3-4) + ... + ((2k-1) - 2k) = -k = -n/2, daca n=2k s=(1-2) + (3-4) + ... + ((2k-1) (2k)) + (2k+1) = -k + 2k+1= -n/2 + n, daca n=2k+1 #include <iostream.h> int main(void) { int n,s; cout<<"Dati numarul ";cin>>n; if(n%2==0) s=-n/2; else s=-(n/2)+n; cout<<" s= "<<s<<endl; } Problema 3: Sa se veifice daca un numar natural este sau nu cub perfect. Exemplu: n=125 este cub perfect (125 = 5*5*5) Solutie: Un numar este cub perfect daca partea intreaga din radicalul sau de ordinul 3. ridicat la puterea a treia este egal chiar cu numarul dat. La nivelul clasei a X-a se cunoaste relatia: radical de ordinul 3 din n = e la puterea ln(n)/3.

Laborator programarea calculatoarelor (2012) Limbajul C++ Adrian Runceanu #include <iostream.h> #include<math.h> int main(void) { int n; double x; cout<<"Dati numarul ";cin>>n; x = pow(n *1.0, 1.0/3); if(x*x*x == n) cout<<n<<" cub perfect "<<endl; else cout<<n<<" Nu este cub perfect "<<endl; } Problema 4: Se dau trei numere a, b si c. Sa se determine maximul si minimul acestor valori. Solutie: #include <iostream.h> int main(void) { int a,b,c,min,max; cout<<"Dati numarul a= ";cin>>a; cout<<"Dati numarul b= ";cin>>b; cout<<"Dati numarul c= ";cin>>c; if(a < b ) { min = a; max = b; } else { min =b; max =a; } if(min > c) min = c; if(max < c) max = c; cout<<" Minimul este egal cu "<<min<<endl; cout<<" Maximul este egal cu "<<max<<endl; } Problema 5 : Sa se determine toti divizorii unui numar intreg citit de la tastatura. Solutie: #include <iostream.h> int main(void) { int n,i; cout<<"Dati numarul ";cin>>n; cout<<"Divizorii numarului "<<n<<" sunt: "; for(i=1;i<=n;i++) if(n%i==0) cout<<" "<<i; }

Laborator programarea calculatoarelor (2012) Limbajul C++ Adrian Runceanu Problema 6:

Sa se verifice daca un numar este numar prim sau nu. Spunem ca un numar n este numar prim daca are ca divizori numai valorile 1 si n.
Solutie: #include <iostream.h> int main(void) { int n,i,prim; cout<<"Dati numarul ";cin>>n; prim=1; for(i=2;i<=n/2;i++) if(n%i==0) prim=0; if(prim==1) cout<<"Numarul "<<n<<" este numar PRIM"; else cout<<"Numarul "<<n<<" NU este numar PRIM"; }

Probleme propuse spre rezolvare


Problema 1 : Se dau trei numere nenule a,b si k. Sa se verifice daca fractia a/b se simplifica prin k. In caz afirmativ se va afisa si fractia simplificata. Problema 2 : Sa se verifice daca trei numere naturale a,b si c sunt pitagorice sau nu. Numim numere pitagorice, trei numere care indeplinesc una din conditiile a*a=b*b+c*c, b*b=a*a+c*c, c*c=a*a+b*b. Problema 3 : Se citesc trei numere a,b,c. Sa se verifice daca aceste numere (pouse in orice odine) sunt in progresie aritmetica si sa se afiseze ratia porgresiei in caz afirmativ. Problema 4 : Se dau trei numere a,b,c. Sa se verifice daca pot reprezenta laturile unui triunghi. In caz afirmativ sa se precizeze ce tip de triunghi este: echilateral, isoscel, dreptunghic sau oarecare. Problema 5 : Un punct in plan este dat prin coodonatele sale (x,y). Sa se scrie un pogram care determina daca punctul este in origine, intr-un cadran (1,2,3 sau 4), sau pe una din semiaxe (Ox, Ox, Oy, Oy). Exemplu: (1,1) cadranul 1 (0,3) axa Oy (-2,4)- cadranul 2 Problema 6 : Sa se calculeze valoarea functiei matematice f(x), pentru o valoare a lui x introdusa de la tastatura: x*x+1, pentru x <=-3 f:R->R, f(x) = x 2, pentru -3<x<3 x*x - 4*x + 5, pentru x>=3

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