Sunteți pe pagina 1din 33

Un algoritm reprezintă o secvenţă finită de operaţii, ordonată şi complet definită, care pornind de la

date(intrări), produce rezultate (ieşiri).

Mijloacele de reprezentare a algoritmului: - schemele logice(organigrame) - limbajele pseudocod


Funcţia scanf() O altă funcţie foarte important a limbajului C este funcţia de introducere a datelor
scanf(). Limbajul C conţine o clasa mare de funcţii de intrare şi de ieşire , dar printf() şi scanf() sunt cele
mai versatile şi pot manipula toate tipurile de variabile.
printf("a[%d]=%d\n",i,a[i
Lucrarea nr.1: Realizati schemele bloc pentru urmatoarele sarcini
Exemplul 1 :

𝑦 = sin6 (𝑥3 +𝑎)2 −√ x ∕ b

2
𝑧=
x + cos3(𝑥 +𝑏)
a

start

a,b,x

𝑦 = sin6 (𝑥3 +𝑎)2 − √ x ∕ b

2
x
𝑧= + cos3(𝑥 +𝑏)
a

y,z

stop
Exemplul 2:

𝑦=
{sincosx lgx x, daca
2
, daca x >3 ,5
x ≤ 3 ,5

Start

_
+

x>3,5

y=sin x lg x
_
+
x≤ 3 ,5

y=cos 2 x

stop
Exemplul 3:

𝑦=
{sincosx lgx x, daca
2
, daca x >3 ,5
x ≤ 3 ,5
x∈[2;5] ∆ x =0,25

start

X=2,5

+ _

x≤ 5

stop

_
+
x¿ 3 , 5

y=sin x lg x ,
_
+
X=≤ 3 ,5

y=cos 2 x

x=x+0,25

y
Lucrarea nr.2: Realizarea unui program in limbajul C

Continutul:

#include<stdio.h>
// Primul program in C
main()
{printf("1)Cum va numiti\n");
printf("Ma numesc Vlada Stoian\n");
printf("2)Ce varsta aveti?\n");
printf("Am 20 de ani\n");
printf("3)in ce an ati absolvit liceul?\n");
printf("Am absolvit liceul in anul 2021");
printf("4)In ce localitate?\n ");
printf("In orasul Chisinau\n");
printf("5)Ce liceu ati absolvit?\n");
printf("Am absolvit liceul 'Vasile Alecsandri' \n");
printf("6)Unde va faceti studiile?\n");
printf("La Universitatea de Stat din Moldova\n ");
printf("7)La ce facultate?\n");
printf("La facultatea de Matematica si Informatica\n");
printf("8)In ce grupa sunteti?\n");
printf("In grupa IA2201\n");
printf("9)Din ce localitate esti?\n");
printf("Sunt din Chisinau\n");
printf("10)In ce raion locuiti?\n");
printf("Raionul Botanica\n");
printf("11)La ce profil ati studiat?\n");
printf("La profilul real\n");
printf("12)Ce obiect la alegere ati luat la bac?\n");
printf("Am ales biologia\n");
printf("13)Doriti sa plecati peste hotare\n");
printf("Da, in Germania\n");
printf("14)Doriti sa plecati dupa finalizarea studiilor?\n");
printf("da\n");
printf("15)Va place la USM?\n");
printf(" Da, ma bucur ca am ales aceasta universitate\n");
}
Lucrarea nr.3: Variabile .Tipuri de variabile

Continutul: 1) Scrieţi programul in limbajul C. (schema bloc nr.1, tipul liniar)

2) Executati programul si primiti rezultatul.

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

float z,y,a,x,b;

printf("introduceti a\n");

printf("introduceti b\n");

printf("introduceti x\n");

scanf("%f",&a);

scanf("%f",&b);

scanf("%f",&x);

y=pow(sin(pow(x,3)+a),6)-sqrt(x/b);

z=(pow(x,2)/a) + pow(cos(x+b),2);

printf("y=%f",y);

printf("\nz=%f",z);

}
Lucrarea nr.4: Dimensiunea câmpului de afişare a datelor şi precizia de afişare a acestora

Varianta 8

#include<stdio.h>

#include<conio.h>

main()

printf("1234567891234567891234567891234567689123456789\n");

printf("%8s%11s%9s\n","Stoian","Vlada","IA2201");

printf("%5.1f%10s%11.3f\n",007.2,"Sorbona",24.471);

printf("%8s%9i%4i%4i\n","*****",124,68,92);

printf("%7s%-6.2f%6.1f%8.3f\n","*****",-4.57,9.7,36.778);

printf("%6s%8.3f%8.2f%5i\n","*****" ,42.513 ,58.67 ,613);

printf("%7i%7.2f%7.1f%6i\n",34,3.24,-81.7,845);

printf("%9s%13s\n","Balti","Moldova");

printf("%-5.2f%5i%7.1f%7.2f%3i\n",-2.23,644,15.1,25.64,4);

printf("%13s%10i\n","Chisinau",2020); }
Lucrarea nr. 5 Structuri decizionale

Continutul: 1) Scrieţi programul in limbajul C ,folositi structura if . (schema bloc nr.2, tipul decizia)
2) Executati programul si primiti rezultatul.
3) Scrieţi programul in limbajul C , folositi structura if-else. (schema bloc nr.2, tipul decizia)
4) Executati programul si primiti rezultatul.

𝑦=
{sincosx lgx x, daca
2
, daca x >3 ,5
x ≤ 3 ,5

1) #include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{float x,y;
printf("intr.x\n");
scanf("%f",&x);
if (x>3.5) y=sin(x)*log10(x);
if (x<=3.5) y=pow(cos(x),2);
printf ("y=%7.2f",y);
getch();
}

2) #include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{float x,y;
printf("intr.x\n");
scanf("%f",&x);
if (x>3.5) y=sin(x)*log10(x); else
if (x<=3.5) y=pow(cos(x),2); else
printf ("y=%7.2f",y);
getch();
}
Lucrarea nr 6. Switch

Continutul: Scrieţi programul ce afisează meniul

Alege: 1.Facultatea de Matematica si Informatica


2.Facultatea de Drept
3.Facultatea de Biologie
4.Facultatea de Litere
5.Facultatea de Istorie
6.Facultatea de Psihologie

#include<stdio.h>
#include<conio.h>
#include<math.h>
main ()
{
int a;
printf ("Alege:\n");
printf ("1.Facultatea de Matematica si Informatica\n");
printf ("2.Facultatea de Drept\n");
printf ("3.Facultatea de Biologie\n");
printf ("4.Facultatea de Litere\n");
printf ("5.Facultatea de Istorie\n ");
printf ("6.Facultatea de Psihologie\n");
scanf ("%i",&a);
switch(a) {
case 1:printf("Ati ales Facultatea de Matematica si Informatica "); break;
case 2:printf("Ati ales Facultatea de Drept");break;
case 3:printf("Ati ales Facultatea de Biologie");break;
case 4:printf("Ati ales Facultatea de Litere");break;
case 5:printf("Ati ales Facultatea de Istorie");break;
case 6:printf("Ati ales Facultatea de Psihologie");break;
default:printf("Facultatea %i nu exista",a);
}getch();}
Exercitii preg pt test:

1) #include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float j,G,a,x,b,c,y;
printf("introduceti a\n");
printf("introduceti b\n");
printf("introduceti x\n");
printf("introduceti y\n");
printf("introduceti c\n");
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&x);
scanf("%f",&y);
j=(((a-pow(b,2)))/(pow(b,2)+pow(a,2*x))/(x+pow(x,2)-x)/(b+pow(x,2+x-a)))*2;
G=sqrt(((sin(pow(x,a+c)))+a)/((cos(pow(y,c+a+1)))-b));
printf("j=%i",j);
printf("G=%i",G);
}
2) #include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{float x,y,c,m,p,g;
printf("intr.x\n");
printf("intr.c\n");
printf("intr.m\n");
printf("intr.p\n");
printf("intr.g\n");
scanf("%f",&x);
scanf("%f",&c);
scanf("%f",&m);
scanf("%f",&p);
scanf("%f",&g);
if (x<10) y=(17*pow(c,2)-1)/(pow(x,2)-3); else
if (x==10) y=(3*m*p)-x; else
if (x>10) y=(pow(x,2)-pow(g,3))/(pow(x,2)-2);
printf ("y=%7.2f",y);
getch();
}
Lucrarea nr 7. Structura Switch

Scrieţi programul ce afisează meniul: Alege:


1)Calculati (schema bloc nr.1, tipul liniar)
2)Determinati min(a,b) (sa se determine cel mai mic numar dintre a si b)
3)Calculati (schema bloc nr.2 , decizia)

#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
int e,f,z,m,k,c,x,a,b,min; ;float s,y,r,q;
printf("\n Alege:\n");
printf("1.Cal. schem bloc 1\n");
printf("2.min(a,b)\n");
printf("3.Cal.schem bloc 2\n");
scanf("%i",&e);
switch(e)
{case 1:printf ("Intr.m,k,c,x\n");
scanf("%i%i%i%i",&x,&m,&k,&c);
f=log(m+(pow(x,2)))+(pow(sin(x/k),2));
z=exp(-c*x)*((x+sqrt(x+m))/(x-sqrt(x-k)));
printf("f=%i n\z=%i",f,z);
break;
case 2:printf("Intr.a si b\n");
scanf("%i%i",&a,&b);
if (a<b) min=a; else min=b; printf("min=%i",min);
break;
case 3:
printf ("Intr.y,r,q\n");
scanf("%f%f%f",&y,&r,&q);
if (y<2.8) s=(r+q)/(exp(y)+cos(y)); else
if(y>=2.8&&y<6) s=(r+q)/(y+1);else
if(y>=6) s=exp(y)+sin(y);
printf("s=%7.2f",s);break;
default:printf("punctul %i nu exista",e);}
getch();
}
Lucrarea nr.8 bucla for

1) Scrieţi programul in limbajul C, folositi structuri iterative, bucla for (schema bloc nr.3).

2) Executati programul si primiti rezultatul.

{
a∗lgx+ √ x , daca x >1
3
𝑦= x∈[0,8;2] ∆x=0,1
2 a cosx +3 x 2 , daca x ≤ 1

1) #include<stdio.h>
#include<conio.h>
#include<math.h>
main ()
{float y,x,a;
printf ("Intr.a\n");
scanf("%f",&a);
for(x=0.8;x<=2;x=x+0.1)
{if (x>1) y=a*log(x)+pow(sqrt(x),1/3); else
if(x<=1) y=2*a*cos(x)+pow(3*x,2);
printf("\nx=%5.2f s=%7.2f",x,y);}
getch();
}

2) #include<stdio.h>
#include<conio.h>
#include<math.h>
main ()
{float w,t,a,b;
printf ("Intr.a,b\n");
scanf("%f%f",&a,&b);
for(t=-1;t<=1;t=t+0.2)
{if (t<0.1) w=sqrt(a*pow(t,2)+b*sin(t)+1); else
if(t==0.1) w=a*t+b; else
if (t>0.1) w=sqrt(a*pow(t,2)+b*cos(t)+1);
printf("\nt=%5.2f w=%7.2f",t,w);}
getch();
}
3) Calculare unei sume:

#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
float s,i,b;
printf ("intr.b\n");
scanf ("%f",&b);
s=0;
for(i=1;i<=6;i=i+1)
{
s=s+(i+2.5*b);
printf("\n i=%7.2f s=%5.2f ",i,s);}
getch();}
Lucrarea nr.9 Bucla while

1) Scrieţi programul in limbajul C, folositi structuri iterative, bucla while (schema bloc nr.3).

2) Executati programul si primiti rezultatul

#include <stdio.h>
#include <conio.h>
#include <math.h>
main ()
{
float w,i,a,b,c;
printf ("Intr.a,b,c\n");
scanf("%f%f%f",&a,&b,&c);
i=0;
while(i<=12)
{
if (i<4) w=(a/i)+(b*pow(i,2))+c; else
if(4<=i&&i<=6) w=i; else
if(i>6) w=(a*i)+(b*pow(i,3));
printf("\ni=%5.2f w=%7.0f",i,w);
i=i+1;
}
getch();}
Ex2:

#include <conio.h>
#include <math.h>
main ()
{ int e;
float p,s,t,b,k,m;
printf("Alege:\n1)produsul\n2)suma");
scanf ("%i",&e);
switch(e)
{
case 1:
printf("Introduceti t=");
scanf("%f",&t);
p=1;t=1;
while (t<=4) {
p=p*(t+b);
printf("\nt=%7.2f p=%7.2f",t,p); t=t+1;} break;
case 2:
printf("Introduceti k=");
scanf("%f",&k);
s=0;k=2;
while (k<=8) {
s=s+(k+pow(m,2));
printf("\nk=%7.2f s=%7.2f",k,s); k=k+1;} break;
defalut:printf("meniul %i nu exista",e);
}
getch();}
Ex3:

#include <stdio.h>
#include <conio.h>
#include <math.h>
main ()
{
float w,i,a,b,c;
printf ("Intr.a,b,c\n");
scanf("%f%f%f",&a,&b,&c);
i=0;
while(i<=12)
{
if (i<4) w=(a/i)+(b*pow(i,2))+c; else
if(4<=i&&i<=6) w=i; else
if(i>6) w=(a*i)+(b*pow(i,3));
printf("\ni=%5.2f w=%7.0f",i,w);
i=i+1;
}
getch();
}
Lucrarea nr.10 Bucla do while

Ex1:

#include<stdio.h>
#include<conio.h>
#include<math.h>
main ()
{float y,x,a;
printf ("Intr.a\n");
scanf("%f",&a);
x=0.8; do {
if (x<-1.3) y=3.14*pow(x,2)-7/pow(x,2); else
if(x==-1.3) y=a*pow(x,3)+7*sqrt(x); else
if(x>-1.3)y=log10(x+7*sqrt(x));
printf("\nx=%5.2f y=%7.2f",x,y);
x=x+0.1;} while(x<=2);
getch();
}
Ex2:

#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{int e;
float p,s,k,n,b,x;
printf("Alege:\n1)produsul\n2)suma\n");
scanf("%i",&e);
switch(e)
{case 1:
printf("introduce.b=");
scanf("%f",&b);
p=1;k=1;
do{
p=p*(k+b);
printf("\nk=%7.2f p=%7.2f",k,p);k=k+1;}
while (k<=3);
break;
case 2:
printf("introduce.x=");
scanf("%f",&x);
s=0;n=1;
do{
s=s+(n+0.3*x);
printf("\nn=%7.2f s=%7.2f",n,s);n=n+1;}
while (n<=5);
break;
default :printf("meniul %i nu exista ",e);
}
getch();}
Lucrarea nr.11 Tablouri unidimensionale

#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
int i,n,a[10];
printf("Dati nr de elem a tabl.");
scanf("%i",&n);
for(i=0;i<n;i++)
{printf("intr.a[%i]=",i);
scanf("%i",&a[i]);
}
printf("Elementele care se impart la 5:");
for(i=0;i<n;i=i+1) {
if (a[i]%5==0)
printf("\n a[%i]=%i",i,a[i]);}
getch();}

#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
int i,n,a[10];
printf("Dati nr de elem a tabl.");
scanf("%i",&n);
for(i=0;i<n;i++)
{printf("intr.a[%i]=",i);
scanf("%i",&a[i]);
}
printf("Rezultatul:");
for(i=0;i<n;i=i+1) {
if (a[i]%2==0) (a[i]=100) ;
if (a[i]%2==1) (a[i]=a[i]) ;
printf("\n a[%i]=%i",i,a[i]);}
getch();}
Lucrarea nr.12 Tablouri bidimensionale

11) Se consideră tabloul bidimensional a[n,m] de numere întregi, unde n,m<=10. S ă se scrie un
program, care determină numărul de elemente ce se împart la 3 fară rest.

#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
int s,i,j,n,m,a[6][6];
printf ("introduceti nr de linii n=");
scanf("%d", &n);
printf ("introduceti nr de coloane m=");
scanf("%d", &m);
printf("citire elemente matrice\n");
s=0;
for (i=0;i<n;i++)
for (j=0;j<m;j++)
{printf("a[%d,%d]=", i,j);
scanf("%d",&a[i][j]);if(a[i][j]%3==0)
s=s+1;
}
for(i=0;i<n;i++) {
printf("\n");
for(j=0;j<m;j++)
printf("%5i ",a[i][j]);}
printf("\n elementele care se impart la 3 =%d\n", s);
getch();
}

23) Se consideră tabloul bidimensional a[n,m] de numere întregi, unde n,m<=10 . S ă se scrie un
program, care înlocuieşte elementele pozitive cu 1 .

#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
int s,i,j,n,m,a[6][6];
printf ("introduceti nr de linii n=");
scanf("%d", &n);
printf ("introduceti nr de coloane m=");
scanf("%d", &m);
printf("citire elemente matrice\n");
s=0;
for (i=0;i<n;i++)
for (j=0;j<m;j++)
{printf("a[%d,%d]=", i,j);
scanf("%d",&a[i][j]);if(a[i][j]>0) (a[i][j]=1);
}
for(i=0;i<n;i++) {
printf("\n");
for(j=0;j<m;j++)
printf("%5i ",a[i][j]);}
getch();
}

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