Sunteți pe pagina 1din 5

MINISTERUL EDUCAŢIEI AL REPUBLICII MOLDOVA

Universitatea Tehnică a Moldovei


Facultatea Inginerie și Management în Electronică
și Telecomunicații

Catedra SRCO

DISCIPLINA: Programare
Lucrare de laborator Nr.2

Tema: „ Programe ramificate”.

A efectuat stundenta grupei:


Numele si prenumele elevei:

A verificat profesorul: Lachi Arina

Chișinau 2016
1. Varianta 3.
2. Condiția:
1. De calculat valoarea funcției, în dependență de condiție:
a*pow(x,2)+b*x+c, x<1.2
W=a/x+sqrt(pow(x,2)+1), x=1.2
(a+b*x)/sqrt(pow(x,2)+1, x>1.2
2. Determinați dacă este par sau impar restul de la împărțirea cifrei
utilizatorului la rezultatul expresiei:
r=sqrt(pow(x,2)+b)pow(b,2)*pow(sin(x+a),3)/x+sin(x).sqrt(1+pow(m,2)*pow(s
in(x),2))-c*m*log(m*x);
3. Schema logică a programului nr.1:

Start

x,a,b,c

x,b,a,c

(-) x<1.2 (+)

(-) (+)
x>1.2 W=a*pow(x,2)+b*x+c

W=(a+b*x)/sqrt(pow(x,2)+1 W=(a+b*c)/sqrt(pow(x,2)+1

Stop
Schema logică a programului nr.2:

Start

x,b,a,c,m

x,b,a,c,m

r=sqrt(pow(x,2)+b)-pow(b,2)*pow(sin(x+a),3/x+sin(x/sqrt
(1+pow(m,2)*pow/(sin(x),2))-c*m*log(m*x)

T=fmod(A,r);
E=floor(T);

(-) (+)
Fmod(E,2)==0

Rezultat impar Rezultat par

Stop
4. Listing-ul programului 1:
#include <conio.h>
#include <stdio.h>
#include <math.h>
int main() {
int x,b,a,c;
float W;
printf("Introducem x,b,a,c:\n");
scanf("%d%d%d%d",&x,&b,&a,&c);
if(x<1.2)
W=a*pow(x,2)+b*x+c;
if(x>1.2)
W=(a+b*x)/sqrt(pow(x,2)+1);
printf("Rezultatul expresiei W=%f",W);
getch();}

Listing-ul programului 2:
#include<conio.h>
#include<stdio.h>
#include<math.h>
int main(){
int x,b,a,c,m,E;
float r,A,T;
printf("Introducem x,b,a,c,m:\n");
scanf("%d%d%d%d%d",&x,&b,&a,&c,&m);
r=sqrt(pow(x,2)+b)-
pow(b,2)*pow(sin(x+a),3)/x+sin(x)/sqrt(1+pow(m,2)*pow(sin(
x),2))-c*m*log(m*x);
printf("Rezultatul expresiei r=%f",r);
printf("Introducem cifra utilizatorului A=\n");
scanf("%d",&A);
T=fmod(A,r); E=floor(T);
if(fmod(E,2)==0)
printf("Restul de la impartirea cifrei utilizatorului la
rezultatul expresiei este par :\n");
else
printf("Restul de la impartirea cifrei utilizatorului la
rezultatul expresiei este impar");
getch();}

5. Descrierea programului liniar:


If()-else()-instrucțiune de ramificare, care ajută la alegerea unui șir de acțiuni în
funcție de una sau mai multe condiții.
ceil()- returnează rotungirea crescător(ex:2,5≈3).
floor()- returnează rotungirea descrescător sau partea întreagă (ex2,5≈2)
6. Rezultatele programelor:
1)

2)

7. Concluzii:
Problema nr.1:
Am scris un program ramificat cu ajutorul instrucțiuniide ramificare IF-ELSE.
Această instrucțiune selectează o singură operațiune dintre alternativele sale, pe
care apoi o execută. Am avut de calculat expresia r cu 3 condiții: x>1,2; x=1,2;
x<1,2.

Problema nr.2:
Am folosit o funcție nouă fmod() pentru a opera cu restul împărțirii.