Documente Academic
Documente Profesional
Documente Cultură
8. Aplicatii C Aplicatia 1 Sa se scrie un program cara sa calculeze aria si perimetrul unui dreptunghi cunoscand laturile acestuia. a)Schema logica
START L,l
Aria=L*l
Perimetrul=(L+l)*2
Aria, Perimetrul
STOP
b) #include<stdlib.h>
float L,l,aria,per; main() { printf(Dati lungimile laturilor dreptunghiului :); scanf(%f%f, &L,&l); aria=L*l; per=(L+l)*2; printf(Aria este : %f\n,aria); printf(Perimetrul este : %f\n,per); getch(); } Aplicatia 2 Sa se scrie un program care sa calculeze produsul a doua matrice. a)Schema logica
pagina 1/11 Autor: dr.ing. ec Cezar NECULESCU
i=0 j=0 c(i,j)=0 k=0 c(i,j)=c(i,j)+a(i,k)*b(k,j) k=k+1 nu k>=n da j=j+1 nu j>=p da i=i+1 nu i>=m da 1 1 C(m,p)
b) Program C #include <stdio.h> #include<stdlib.h> int a[10][10],b[10[10],c[10][10]; int i,j,k,m,n,p; main() { printf(Introduceti nr. linii matricea a :); scanf(%d, &m); printf(Introduceti nr. col. mat. a si nr linii mat. b :); scanf(%d, &n); printf(Introduceti nr. coloane mat. b :); scanf(%d, &p); printf(Introduceti elementele mat. a :\n ); for(i=0;i<m;i++) { for(j=0;j<n;j++){ printf(a[%d,%d] =,i,j); scanf(%d,&a[i][j]); } } printf(Introduceti elementele mat. b \n: ); for(i=0;i<n;i++) { for(j=0;j<p;j++){ printf(b[%d,%d] =,i,j); scanf(%d,&b[i][j]); } } /*Calcul produsului matricelor */ for(i=0;i<m;i++) { for(j=0;j<p;j++){ c[i][j]=0; for(k=0;k<n;k++) c[i][j]+=a[i][k]*b[k][j]; } } printf(Produsul matricelor este :\n );
pagina 3/11 Autor: dr.ing. ec Cezar NECULESCU
for(i=0;i<m;i++) { for(j=0;j<p;j++) printf(c[%d,%d] = %d\t,i,j,c[i][j]); printf(\n); } getch(); } Aplicatia 3 Sa se scrie un program care sa calculeze radacinile ecuatiei de gradul 2 a)Schema logica
START
a,b,c
STOP
pagina 4/11
main() { a=0; do { printf(Introduceti coeficientul lui x^2 a=); scanf(%lf, &a); } while (a==0); printf(Introduceti coeficientul lui x b=); scanf(%lf, &b); printf(Introduceti coeficientul liber c=); scanf(%lf, &c); delta=b*b-4*a*c; if (delta<0) { re=-b/2/a; im=sqrt(-delta)/2/a; printf( x1=%lf -%f*i \n,re,im); printf( x2=%lf +%f*i ,re,im);} else { printf( x1=%lf\n, (-b+sqrt(delta))/2/a); printf( x2=%lf, (-b-sqrt(delta))/2/a);} getch(); }
Sa calculul
se
STOP
scanf(%d, &n); f=1.0; for(i=2;i<=n;i++) f*=i; printf(Factorialul este : \n,f); getch(); Aplicatia 5 scrie un program pentru aranjamentelor de n k. a)Schema logica
START
n,k
pagina 6/11
SISTEME DE OPERARE I LIMBAJE DE PROGRAMARE Limbajul C fn=1 i=1 fn=fn*i nu i>n fnk=1 i=1 fnk=fnk*i nu i>n da da
ank=fn/fnk ank
STOP
b) Program C #include <stdio.h> #include<stdlib.h> int i,n,k; double ank,fn,fnk; main() { printf(Calculul aranjamentelor de n luate cate k.\n); printf(Dati n si k :);
pagina 7/11 Autor: dr.ing. ec Cezar NECULESCU
scanf(%d%d, &n,&k); fn=1.0; for(i=2;i<=n;i++) fn*=i; fnk=1.0; for(i=2;i<=(n-k);i++) fnk*=i; ank=fn/fnk; printf(Aranjamente de %d luate cate %d = %10.0lf\n,n,k,ank); getch(); } Aplicatia 6 Sa se scrie un program pentru calculul combinarilor de n luate cate k.
START n,k
fk=1 i=1 fk=fk*i nu i>k fnk=1 da i=1 pagina 8/11 fnk=fnk*i i>n-k da Autor: dr.ing. ec Cezar NECULESCU nu
&n,&k); fn=1.0; for(i=2;i<=n;i++) fn*=i; fnk=1.0; for(i=2;i<=n-k;i++) fnk*=i; fk=1.0; for(i=2;i<=k;i++) fk*=i; cnk=fn/fnk/fk; printf(Combinari de %d luate cate %d = %10.0lf\n,n,k,cnk); getch();
pagina 9/11 Autor: dr.ing. ec Cezar NECULESCU
} Aplicatia 7 Sa se scrie un program pentru ridicarea la o putere intreaga a unui numar real. b) Program C #include <stdio.h> #include<stdlib.h> int i,n; double x,xn; main() { printf(Dati numarul si puterea :); scanf(%lf%d, &x,&n); xn=1.0; if (n>0) { for(i=1;i<=n;i++) xn*=x;} else { for(i=1;i<=-n;i++) xn/=x;} printf( %6.3lf ridicat la puterea %3d = %20.0lf\n,x,n,xn); getch(); } Aplicatia 8 Sa se scrie un program care calculeaza suma numerelor pozitive dintr-un vector. b) Program C #include <stdio.h> #include<stdlib.h> int i,n; float x[10],s; main() { printf(Dati dimensiunea vectorului n:); scanf(%d,&n); for(i=0;i<n;i++) { printf(Dati elementul [%d]:,i); scanf(%f,&v[i]); if (v[i]>0) s+=v[i]; }
pagina 10/11 Autor: dr.ing. ec Cezar NECULESCU
pagina 11/11