Sunteți pe pagina 1din 9

Raport

Laborator 2
Slonovschi Victor
TI-221FR

Tema: Programarea algoritmilor cu structură ramificată și ciclică

Sarcina:
1a. Să se elaboreze schema bloc și programul pentru calcularea valorii funcției conform
condițiilor indicate în Tabelul 1(col. 1-4), prin introducerea valorii argumentului de la
tastatură și utilizarea instrucțiunii if/else.
1b. Să se elaboreze schemele bloc și programele pentru calcularea valorilor funcției
conform condițiilor indicate în Tabelul 1(col. 1-5), prin introducerea valorilor (inițială,
finală și a pasului pentru modificare) ale argumentului de la tastatură și utilizarea
instrucțiunilor: for, while, do while.
Varianta 3
Schema Block
1a
1b
Codul
1a
#include <stdlib.h>
#include <stdio.h>
#include <math.h>

void main()
{
float a = 2.8, b = -0.3, c = 4;
float x;
float w = 0;

printf("X = ");
scanf("%f",&x);

if(x < 1.2 && x >= 1 && x <= 2)


{
w = (a * pow(x,2)) + (b * x) + c;
}
else if(x == 1.2 && x >= 1 && x <= 2)
{
w = (a/x) + sqrt(pow(x,2) + 1);
}
else if(x > 1.2 && x >= 1 && x <= 2)
{
w = (a + (b * x)) / sqrt(pow(x,2) + 1);
}

printf("W = %f",w);
}
1b

#include <stdlib.h>
#include <stdio.h>
#include <math.h>

void main()
{
float a = 2.8, b = -0.3, c = 4;
float x;
float w = 0;

printf("For============================\n");

for(float i = 1; i <= 2; i+=0.2)


{
x = i;
if(x < 1.2 && x >= 1 && x <= 2)
{
w = (a * pow(x,2)) + (b * x) + c;
printf("W = %f\n",w);
}
else if(x == 1.2 && x >= 1 && x <= 2)
{
w = (a/x) + sqrt(pow(x,2) + 1);
printf("W = %f\n",w);
}
else if(x > 1.2 && x >= 1 && x <= 2)
{
w = (a + (b * x)) / sqrt(pow(x,2) + 1);
printf("W = %f\n",w);
}
}
printf("====================================");

printf("\n\n\nWhile=================================\n");
x = 1;
while(x<=2)
{
if(x < 1.2 && x >= 1 && x <= 2)
{
w = (a * pow(x,2)) + (b * x) + c;
printf("W = %f\n",w);
}
else if(x == 1.2 && x >= 1 && x <= 2)
{
w = (a/x) + sqrt(pow(x,2) + 1);
printf("W = %f\n",w);
}
else if(x > 1.2 && x >= 1 && x <= 2)
{
w = (a + (b * x)) / sqrt(pow(x,2) + 1);
printf("W = %f\n",w);
}
x+=0.2;
}

printf("========================================");

printf("\n\n\nDo-While========================================\n");
x = 1;
do
{
if(x < 1.2 && x >= 1 && x <= 2)
{
w = (a * pow(x,2)) + (b * x) + c;
printf("W = %f\n",w);
}
else if(x == 1.2 && x >= 1 && x <= 2)
{
w = (a/x) + sqrt(pow(x,2) + 1);
printf("W = %f\n",w);
}
else if(x > 1.2 && x >= 1 && x <= 2)
{
w = (a + (b * x)) / sqrt(pow(x,2) + 1);
printf("W = %f\n",w);
}
x+=0.2;
} while(x<=2);
}
Screenshot cu rezultatul:
1a

1b

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