Documente Academic
Documente Profesional
Documente Cultură
Teme rezolvate
Modelul matematic al problemei enunţate este:
1. Să se scrie un program pentru calculul valorii funcţiei:
y = 6 ⋅ x3 − 5 ⋅ x 2 + 3 ⋅ x − 1 c⋅e −b⋅ f a⋅ f − d ⋅c
x= ; y=
a⋅e −b⋅d a⋅e −b⋅d
Schema logică: Program în C: Schema logică: Program în C:
#include<stdio.h>
#include<stdio.h> #include<conio.h>
START #include<conio.h> START
void main(void)
void main(void) { float a,b,c,d,e,f,x,y; clrscr();
{ float x,y; clrscr(); printf(" Introduceti a : ");
Input x Input scanf("%f",&a);
printf("\n Introduceti valoarea lui x : "); a,b,c,d,e,f printf(" Introduceti b : ");
scanf("%f",&x); scanf("%f",&b);
y = 6x3 – 5x2 + 3x - 1 printf(" Introduceti c : ");
y = 6*x*x*x-5*x*x+3*x-1; scanf("%f",&c);
c⋅e −b⋅ f a⋅ f − d ⋅c printf(" Introduceti d : ");
printf("\n x = %f \t y = %f",x,y); x= ; y=
Output x, y a⋅e −b⋅d a⋅e −b⋅d scanf("%f",&d);
printf(" Introduceti e : ");
getch(); scanf("%f",&e);
} printf(" Introduceti f : ");
STOP
scanf("%f",&f);
Output x, y
x = (c*e – b*f ) / (a*e – b*d);
y = (a*f – d*c) / (a*e – b*d);
Efectul rulării programului: printf("\n x = %f \t y = %f",x,y);
getch(); }
STOP
1 /8
3. Se consideră două valori reale: a şi b care reprezintă lungimile Program în C:
catetelor unui triunghi dreptunghic. Se cere să se calculeze: lung.
ipotenuzei, aria triunghiului, volumul şi aria laterală a conului #include<stdio.h>
obţinut prin rotirea triunghiului în jurul catetei a. #include<conio.h>
#include<math.h>
Modelul matematic: void main(void)
{ float a,b,ipo, ariatr, vol, arialat; clrscr();
ipo = a 2 + b 2 ;
a 1 printf("\n Introduceti a : "); scanf("%f",&a);
ariatr = ⋅ a ⋅ b; printf("\n Introduceti b : "); scanf("%f",&b);
2
1
b vol = ⋅ a ⋅ b 2 ⋅ π ; ipo = sqrt(a * a + b * b);
3 ariatr = a * b / 2;
arialat = ipo ⋅ b ⋅ π vol = a * b * b * M_PI / 3;
arialat = ipo * b * M_PI;
Schema logică:
START printf("\n Ipotenuza este ipo = %f ",ipo);
printf("\n Aria triunghiului este ariatr = %f ",ariatr);
printf("\n Volumul este vol = %f ",vol);
printf("\n Aria laterala este arialat = %f ",arialat);
Input
a,b,c,d,e,f
getch();
}
Output x, y
STOP
2 /8
4. Să se scrie un program pentru transformarea coordonatelor polare Program în C:
în coordonate carteziene.
#include<stdio.h>
Model matematic: #include<conio.h>
y #include<math.h>
x A = ρ ⋅ cos(α ); void main(void)
A(r, a)
y A = ρ ⋅ sin (α );
yA { float ro, alfa, xa, ya; clrscr();
a xa = ro * cos(alfa*M_PI/180);
ya = ro * sin(alfa*M_PI/180);
O xA x
printf("\n x = %f \t y = %f",xa,ya);
Input r, a
x A = ρ ⋅ cos(α );
y A = ρ ⋅ sin (α );
Output xA, yA
STOP
3 /8
5. Se consideră o progresie aritmetică la care se cunosc: valoarea Program în C:
primului termen a1 şi raţia r. Se cere să se determine: suma
primilor n termeni: S n =
[2 ⋅ a1 + (n − 1) ⋅ r ]⋅ n şi valoarea #include<stdio.h>
2 #include<conio.h>
elementului k: a k = a1 + (k − 1) ⋅ r ; void main(void)
{ float a1, r, sn, ak; int n, k; clrscr();
Schema logică: printf(" Introduceti valoarea primului termen a1 = ");
scanf("%f",&a1);
START printf(" Introduceti ratia r = ");
scanf("%f",&r);
printf(" Introduceti numarul de termeni n = ");
scanf("%d",&n);
Input a1, r, n, k printf(" Introduceti valoarea k = ");
scanf("%d",&k);
sn = n * (2 * a1 + (n - 1) * r)/2;
Sn =
[2 ⋅ a1 + (n − 1) ⋅ r ]⋅ n ; ak = a1 + (k - 1) * r;
2
printf("\n Suma primilor %2d termeni este S = %8.3f",n,sn);
ak = a1 + (k − 1) ⋅ r printf("\n Valoarea elementului %2d este a(%2d) = %8.3f",k,k,ak);
getch();
}
Output Sn, ak
Efectul execuţiei programului:
STOP
4 /8
6. Să se calculeze şi să se afişeze valoarea polinomului Program în C:
P( x) = c4 ⋅ x 4 + c3 ⋅ x 3 + c2 ⋅ x 2 + c1 ⋅ x + c0 . Coeficienţii polinomului
vor fi definiţi ca un şir de numere reale, ca şi în programul #include<stdio.h>
exemplu nr. 8. #include<conio.h>
#include<math.h>
Schema logică: void main(void)
{ float c[5]={-1,3,-2,5,4}, x, P; clrscr();
P=c[0]+c[1]*x+c[2]*pow(x,2)+c[3]*pow(x,3)+c[4]*pow(x,4);
getch();
}
P ( x) = c4 ⋅ x 4 + c3 ⋅ x 3 + c2 ⋅ x 2 + c1 ⋅ x + c0
Efectul execuţiei programului :
5 /8
⎛ a0, 0 a0,1 a0, 2 ⎞ Program în C:
⎜ ⎟
7. Se consideră o matrice A3x3 de forma: A = ⎜ a1, 0 a1,1 a1, 2 ⎟ Să se
⎜a ⎟ #include<stdio.h>
⎝ 2, 0 a2,1 a2, 2 ⎠ #include<conio.h>
calculeze determinantul de ordinul 3. Elementele matricei vor fi void main(void)
definite ca şi în programul exemplu nr. 2; { int D, a[3][3]={ {1, 2,-3}, {0,-2, 3}, {4, -5, -1} }; clrscr();
Output D
STOP
6 /8
8. Se consideră un trunchi de con (figura) pentru care Program în C:
se cunosc: razele r şi R şi înălţimea I. Se cere să se
calculeze următoarele elemente: #include<stdio.h>
#include<conio.h>
G = I 2 + (R − r ) ;
2
Generatoarea: Aria laterală: #include<math.h>
S l = π ⋅ G ⋅ (R + r ) ; Aria totală: (
St = Sl + π ⋅ R 2 + r 2 ; ) Volumul: void main(void)
{ float r, R, I, G, Sl, St, V, d; clrscr();
⎛ R2 + r 2 + R ⋅ r ⎞
V = π ⋅ I ⋅ ⎜⎜ ⎟⎟ ; Diagonala: d = G 2 + 4 ⋅ R ⋅ r ;
⎝ 3 ⎠ printf(" Raza mare R = "); scanf("%f",&R);
printf(" Raza mica r = "); scanf("%f",&r);
Schema logică: printf(" Inaltimea I = "); scanf("%f",&I);
⎛ R2 + r 2 + R ⋅ r ⎞
V = π ⋅ I ⋅ ⎜⎜ ⎟⎟;
⎝ 3 ⎠
d = G2 + 4 ⋅ R ⋅ r ;
7 /8
9. Se consideră două puncte în spaţiu P1(x1, y1, z1) şi P2(x2, y2, z2), Program în C:
Să se calculeze distanţa în spaţiu dintre cele două puncte.
#include<stdio.h>
Schema logică: #include<conio.h>
#include<math.h>
void main(void)
{ float x1, y1, z1, x2, y2, z2, D; clrscr();
getch();
}
8 /8