Sunteți pe pagina 1din 6

Probleme propuse pentru Testul de Laborator

Semestrul I
Problema 1: Scrieti un program in C pentru rezolvarea ecuatiei de gradul 1 cu coeficienti reali. Valorile
coeficientilor se citesc de la tastatura. Solutia va fi afisata pe ecran, aliniata la dreapta, cu exact 2 zecimale
Rezolvare :
#include <stdio.h>
void main()
{
float a,b;
float x;
printf(Introduceti a:);
scanf(%f,&a);
printf(Introduceti b:);
scanf(%f,&b);
if (a != 0)
{
x = -b / a;
printf("Solutia este: %10.2f\n",x);
}
else
{
printf(a nu poate fi 0\n);
}
}

Problema 2: Scrieti un program in C pentru rezolvarea ecuatiei de gradul 2 cu coeficienti reali. Valorile
coeficientilor se citesc de la tastatura. Solutiile vor fi afisate pe ecran, aliniate la dreapta, cu exact 2 zecimale
Rezolvare :
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c, delta;
float x1, x2;
printf(Introduceti a:); scanf(%f,&a);
printf(Introduceti b:); scanf(%f,&b);
printf(Introduceti c:); scanf(%f,&c);
if (a != 0) {
delta = b*b-4*a*c;
if (delta >= 0) {
x1 = ((-b) sqrt(delta)) / (2 * a);
x2 = ((-b) + sqrt(delta)) / (2 * a);
printf("x1 = %10.2f\n", x1);
printf("x2 = %10.2f\n", x2);
} else {
printf(Ecuatia nu are solutii reale);
}
} else {
printf(a nu poate sa fie 0);
}
}

Problema 3: Sa se scrie un program in C pentru calcularea ariei unui triunghi atunci cand se cunosc
dimensiunile laturilor. Solutia va fi afisata pe ecran, aliniata la dreapta, cu exact 2 zecimale.
Rezolvare :
#include <stdio.h>
#include <math.h>
void main()
{
float a, b, c, p, arie;
printf(Introduceti a:); scanf(%f,&a);
printf(Introduceti b:); scanf(%f,&b);
printf(Introduceti c:); scanf(%f,&c);
p = (a + b + c) / 2;
aria = sqrt(p * (p-a) * (p-b) * (p-c));
printf(Aria este: %10.2f, aria);
}

Problema 4: Sa se scrie un program in C pentru conversia unui unghi din grade in radiani. Solutia va fi
afisata pe ecran, aliniata la dreapta, cu exact 2 zecimale.
Rezolvare :
#include <stdio.h>
void main()
{
float grad, rad;
printf(Introduceti unghiul in grade:); scanf(%f,&grad);
rad = 2 * 3.14 * grad / 360;
printf(Dimensiunea in radiani este: %10.2f, rad);
}

Problema 5 : Sa se scrie un program in C pentru conversia unui unghi din radiani in grade. Solutia va fi
afisata pe ecran, aliniata la dreapta, cu exact 2 zecimale.
Rezolvare :
#include <stdio.h>
void main()
{
float grad, rad;
printf(Introduceti unghiul in radiani:); scanf(%f,&rad);
grad = (360 * rad) / (2 * 3.14);
printf(Dimensiunea in grade este: %10.2f, grad);
}

Problema 6 : Sa se scrie un program in C pentru calcularea valorii lui n!. n se citeste de la tastatura.
Rezolvare :
#include <stdio.h>
void main()
{
int factorial, n, numar;
printf("Introduceti n: ");
scanf("%d",&n);
if (n >= 0)
{
factorial = 1;
for(numar = 2; numar <= n; numar = numar + 1) {
factorial = factorial * numar;
}
printf("n! = %d\n", factorial);
}
else
{
printf(n nu poate fi negativ!\n);
}
}

Problema 7 : Sa se scrie un program in C pentru calcularea sumei primelor n numere naturale. n se


citeste de la tastatura.
Rezolvare :
#include <stdio.h>
void main()
{
int suma, n, numar;
printf("Introduceti n: ");
scanf("%d",&n);
if (n >= 0)
{
suma = 0;
for(numar = 1; numar <= n; numar = numar + 1) {
suma = suma + numar;
}
printf("suma = %d\n", suma);
}
else
{
printf(n nu poate fi negativ!\n);
}
}

Problema 8 : Sa se scrie un program in C pentru tabelarea functiei y = x2 + 2x+1 pentru un interval dat
folosind un pas fix de parcurgere al intervalului. Rezultatele programului for fi afisate cu exact 2
zecimale, intr-o forma tabelara, toate coloanele fiind aliniate la dreapta.
Rezolvare :
#include <stdio.h>
void main()
{
float start, stop, pas, x, y;
printf("Introduceti start: ");
scanf("%f",&start);
printf("Introduceti stop: ");
scanf("%f",&stop);
printf("Introduceti pas: ");
scanf("%f",&pas);
x = start;
printf("
x |
y\n");
while (x <= stop) {
y = x * x + 2 * x + 1;
printf("%6.2f | %6.2f\n",x,y);
x = x + pas;
}
}

Problema 9 : Sa se scrie un program in C pentru calcularea sumei patratelor primelor n numere


naturale. n se citeste de la tastatura.
Rezolvare :
#include <stdio.h>
void main()
{
int suma, n, numar;
printf("Introduceti n: ");
scanf("%d",&n);
if (n >= 0)
{
suma = 0;
numar = 1;
while( numar <= n) {
suma = suma + numar * numar;
numar = numar + 1;
}
printf("suma = %d\n", suma);
}
else
{
printf(n nu poate fi negativ!\n);
}
}

Problema 10 : Sa se scrie un program in C pentru calcularea celui mai mic multiplu comun al doua
numere.
Rezolvare :
#include <stdio.h>
void main()
{
int numar1, numar2, cmmmc;
printf("Introduceti numar1: ");
scanf("%d",&numar1);
printf("Introduceti numar2: ");
scanf("%d",&numar2);
if (numar1 > numar2) {
cmmmc = numar1 - 1;
} else {
cmmmc = numar2 - 1;
}
do
{
cmmmc = cmmmc + 1;
}
while ((cmmmc % numar1) != 0 || (cmmmc % numar2) != 0);
printf(CMMMC pentru numerele %d si %d este %d\n, numar1, numar2, cmmmc);
}

Problema 11 : Sa se scrie un program in C pentru calcularea celui mai mare divizor comun al doua
numere.
Rezolvare :
#include <stdio.h>
void main()
{
int numar1, numar2, cmmdc;
printf("Introduceti numar1: ");
scanf("%d",&numar1);
printf("Introduceti numar2: ");
scanf("%d",&numar2);
if (numar1 < numar2) {
cmmdc = numar1 + 1;
} else {
cmmdc = numar2 + 1;
}
do
{
cmmdc = cmmdc - 1;
}
while ((numar1 % cmmdc) != 0 || (numar2 % cmmdc) != 0);
printf(CMMDC pentru numerele %d si %d este %d\n, numar1, numar2, cmmdc);
}

Problema 12 : Sa se scrie un program in C pentru calcularea Cnk (combinari de n luate cate k) unde n si
k sunt introduse de la tastatura.
Rezolvare :
#include <stdio.h>
void main()
{
int a,b,c,n,k,Cnk,i;
printf("Introduceti n: ");
scanf("%d",&n);
printf("Introduceti k: ");
scanf("%d",&k);
if (n < k) {
printf(Nu se poate efectua calculul\n);
} else {
a = 1;
for (i=2; i<=n; i++) {
a = a * i;
}
b = 1;
for (i=2; i<=k; i++) {
b = b * i;
}
c = 1;
i = 2;
while(i<=(n-k)) {
c = c * i;
i = i + 1;
}
Cnk = a / (b * c);
printf(Combinari de %d luate cate %d = %d\n,n,k,Cnk);
}
}

Problema 13 : Sa se scrie un program in C pentru calcularea mediei aritmetice si a mediei geometrice a


doua numere. Valorile numerelor se vor citi de la tastatura. Rezultatul se va afiza aliniat la dreapta, cu
exact 2 zecimale.
Rezolvare :
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,ma, mg;
printf("Introduceti a: ");
scanf("%f",&a);
printf("Introduceti b: ");
scanf("%f",&b);
ma = (a + b) / 2;
mg = sqrt (a * b);
printf(Media aritmetica este: %10.2f\n,ma);
printf(Media geometrica este: %10.2f\n,mg);
}

Problema 14 : Sa se scrie un program in C pentru calcularea functiei y = ab , unde a si b sunt numere


naturale si se citesc de la tastatura. Solutia va fi afisata aliniata la dreapta, cu exact 2 zecimale
Rezolvare :
#include <stdio.h>
void main()
{
float a,b,y;
int i;
printf("Introduceti a: ");
scanf("%f",&a);
printf("Introduceti b: ");
scanf("%f",&b);
y = 1;
for(i=1; i<=b; i = i+1)
{
y = y * a;
}
printf(y: %10.2f\n,y);
}

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