Sunteți pe pagina 1din 7

Matematic i Informatic

Lucru
individual
Fundamentele programrii

Profes
or:

Realizat:
Grupa:
Instruciunile folosite
Forma general a instruciunii if este: if (expresie) instruciune1;
else
instruciune2; Se evalueaz expresia din parantez i n caz de adevr se
execut instruciune1,
altfel se execut instruciune2. Dup aceasta se trece la instruciunea
urmtoare dup if.
Instruciunile instruciune1 i instruciune2 pot fi simple i compuse.
Instruciunile if pot fi incluse una n alta.
Funcia puts(s) scrie la ieirea standard un ir de caractere ASCII, care
n memorie se
termin cu caracterul NUL (\0), Ea are un parametru, valoarea cruia este
adresa de nceput a
irului de extras. De obicei, acest parametru este numele unui tablou
unidimensional de tip char.
La ntlnirea caracterului NUL, funcia nu scrie acest caracter, ci trece
cursorul la nceputul liniei
urmtoare, adic se substituie caracterul \0 prin \n.
Funcia returneaz adresa de nceput a zonei de memorie unde se
pstreaz irul citit, adic adresa primului caracter. Dac ntlnete
caracterul EOF, funcia returneaz valoarea 0. Are prototipul n fiierul
<stdio.h>.
Instruciunea for se execut n felul urmtor: se efectueaz operaiile
de iniializare ale
ciclului i1, apoi se evalueaz expresia i2. Dac i2 are o valoare diferit de 0,
adic valoarea
adevr, atunci se execut instruciune corpul ciclului. n caz contrar,
cnd i2 are valoarea 0,
adic valoarea fals, se termin execuia ciclului for i se trece la
instruciunea urmtoare dup
ciclu. Dup execuia corpului, ciclul se reiniializeaz se execut operaiile
definite de i3 i se
revine iari la verificarea condiiei de repetare a ciclului i2.
Instruciunea while este o instruciune de ciclul condiionat i are
formatul: while(i1)
instruciune; antetul ciclului este while(i1) i conine n paranteze expresia
i1 care este condiia
de repetare a ciclului. Corpul ciclului este instruciune i poate fi o
instruciune simpl sau
compus. Ea conine acele operaii care trebuie repetate n ciclu. Corpul
ciclului poate lipsi. Se

evalueaz i1 i corpul ciclului se execut de attea ori de cte ori i1 are


valoarea adevr.
Instruciunea do-while se execut astfel: mai nti se execut
instruciune, adic corpul
ciclului, apoi se evalueaz i1, care este condiia de repetare a ciclului. Dac
i1 este adevr, atunci
se repet execuia corpului ciclului. n caz contrar, adic dac i1 este 0,
atunci se termin
execuia ciclului i se trece la instruciunea urmtoare dup ciclu.
Instruciunea break se folosete numai n corpul unui ciclu sau n
instruciunea switch.
La ntlnirea instruciunii break n corpul unui ciclu se termin execuia
ciclului i se trece la
instruciunea urmtoare dup ciclu. La folosirea instruciunii break n
instruciunea switch se
iese din instruciunea switch i se trece la instruciunea urmtoare dup
switch.

Condiiile laboratoarelor:
1. Sunt date a, b. S se calculeze s:

2. Este dat x numr ntreg. S se calculeze y:


Y=

X2+10, X [-20, 8];


X-7, X [1, 5];
20,
X [34, 180];
0.

3. Sunt date dou numere ntregi, a i b. S se afle cel mai mic multiplu comun
al lor.

4. Fie un vector de n numere ntregi. De deplasat elementele vectorului spre


dreapta cu x poziii. x elemente care ies din limita vectorului, se aranjeaz pe
primele poziii eliberate.
5. S se determine elemental maxim n fiecare coloan care ncepe cu un
element negativ n primul rind.

#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{ int r;
do {
printf("\n");
printf("\n");
puts("1 Calcularea expresiei");
puts("2 Instructiunea if");
puts("3 Prelucrarea nr.");
puts("4 Vector");
puts("5 Matrice");
puts("6 Iesire");
printf("\n");
scanf("%i",&r);
switch(r)
{
case 1:

{
float a, b;
float s;
printf("dati a=");
scanf("%f",&a);
printf("dati b=");
scanf("%f",&b);
s=(pow((a*pow(b,-1)+1),2)/(a*pow(b,-1)-pow(a,1)*b))*((pow(a,3)*pow(b,-3)-1)/(pow(a,2)*pow(b,-2)+a*pow(b,-1)+1))/
((pow(a,3)*pow(b,-3)+1)/a*pow(b,-1)+pow(a,-1)*b-1);
printf("rezultatul s=%f",s);
getch();
} break;
case 2:
{
int x;
float y;
printf("introduceti x:");
scanf("%i",&x);
if (x>=-20 && x<1) y=pow(x,2)+10;
else if (x>5 && x<=8) y=pow(x,2)+10;
else if (x>=1 && x<=5) y=x-7;
else if (x>=34 && x<=180) y=20;
else y=0;
printf("y=%.f",y);
getch();
} break;
case 3:
{
int i, min, a, b, div;
float mult;
printf("dati a, si b\n");
scanf("%d%d",&a,&b);
if (a<b) min=a;
else min=b;
for(i=1; i<=min; i++)
if((a%i==0) && (b%i==0)) div=i;
mult=(a*b)/div;
printf("cel mai mic multiplu comun este = %.f", mult);
getch();
}
break;

case 4:
{
int a[100], n, i, j, x, k;
printf("\ndimensiunea vectorului:");
scanf("%d", &n);
printf("\nnumarul de pozitii de deplasare:");
scanf("%d", &x);
printf("\nintroduceti numarul de elemente:\n");
for(i=0; i<n; i++)
{
printf("a[%d]=", i);
scanf("%d", &a[i]);
}
for(i=0; i<x; i++)
{
k=a[n-1];
for(j=n-1;j>=0;j--)
a[j]=a[j-1];
a[0]=k;
}
printf("sirul final\n");
for(i=0; i<n; i++)
printf("%3d", a[i]);
getch();
} break;
case 5:
{
int m[3][4],i,j,max;
for(i=0; i<3; i++)
for(j=0; j<4; j++)
scanf("%i",&m[i][j]);
for(j=0; j<4; j++)
if (m[0][j]<0)
{
max=m[0][j];
for(i=0; i<3; i++)
if (m[i][j]>max) max=m[i][j];
printf("max pe linia %i este %i\n",j+1,max);}
getch();
} break;
}}
while(r!=6);
}

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