You are on page 1of 4

Problema 1.

Programe ramificate
1. Scopul.
1.1 Obinerea deprinderii practice de elaborare i depanare a programelor cu un
grad mai nalt de complicitate.
1.2 Studierea i utilizarea instruciunilor de baz ale limbajului pentru elaborarea
programelor ramificate.
2. Cunotine necesare.
2.1Tipurile de date simple.
2.2Sintaxa i modul de utilizare a instruciunilor structurate.
2.3Sintaxa i modul de utilizare a funciilor pentru determinarea paritii
numerelor, restului de la mprire, mpririi fr rest,
rotungirea numerelor .a.
3. Coninutul temei.
3.1Studierea modalitilor de determinare a paritii numerelor, de rotungire i
trunchiere a numerelor, nsuirea folosirii operaiilor de mprire fr rest i
rest de la mprire.
3.2nsuirea instruciunilor ramificate.
3.3Elaborarea i depanarea programului.
4. Coninutul raportului.
4.1Tema i scopul lucrrii.
4.2Condiia problemei.
4.3Schema-bloc a algoritmului.
4.4Listingul programului.
4.5Rezultatul calculelor cu analiza corectitudinii.
4.6Descrierea instruciunilor principale folosite n program.
4.7Concluzii.
5. Exemplu de program.
Determinai paritatea prii intregi de la impartirea (sumei dintre cifra
utilizatorului si 6), si rezultatul expresiei
a 2 x + b x cos(a + b) x
F= m * tg (t )+ | c * sin(t ) | +
;
x +1
3

Schema-bloc a programului:

Listingul programului:
a) n limbajul Pascal
program ramific;
var F,K:real;
m,t,c,x,a,b,u,s,p:integer;
begin writeln('Culege valorile pentru m,t,c,x,a,b');
readln(m,t,c,x,a,b);
F:=exp(1/3*ln(m*(sin(t)/cos(t))+abs(c*sin(t))))+
+(exp(2*x*ln(a))+exp(x*(-1)*ln(b))*cos(a+b)*x)/(x+1);
writeln('Culege o cifr intreag'); readln(u);
K:=(6+u)/F; p:=trunc(K);
writeln('F= ',F:2:2,' ctul este = ',k:2:2,' partea intreag = ',p);
if odd(p)=true then writeln('partea ntreag este impar')
else writeln('partea nreag este par');
readln
end.
b) n limbajul C++
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
void main(void) {
int m,t,c,x,a,b,u,s,p; float f,k;

printf("\nCulege valorile pentru m,t,c,x,a,b\n");


scanf("%d%d%d%d%d%d",&m,&t,&c,&x,&a,&b);
f=pow((m*tan(t)+abs(c*sin(t))),1/3)+( pow(a,2*x)+pow(b,(-1)*x)*cos(a+b)*
*x )/(x+1); printf("\nCulege o cifr ntreag\n");
scanf("%d",&u); k=(6+u)/f; p=floor(k);
printf("\nf=%f ctul este=%f i partea ntreag=%d",f,k,p);
if (fmod(p,2)==0) printf("\nPartea ntreag este par\n");
else printf("\nPartea ntreag este impar\n");
getch();
}
6. Variante.
Var
1

Condiia
Determinai paritatea sumei dintre cifra utilizatorului i valoarea
rotungit de la rezultatul expresiei d=a
e a cos(bx / a ) + ax sin 2 x + e 2 x ( x + b) ;
Determinai paritatea prii ntregi de la suma dintre cifra propus de
utilizator i rezultatul expresiei z=e cx

sin x
1 + m 2 sin 2 x

cm ln mx ;

a
;
sin ( x / a )
2

Determinai paritatea produsului dintre valoarea rotungit a cifrei (tip


real) introdus de utilizator i rezultatul expresiei
f=e 2 x ln(a + x) b 3 x ln(b x) + ln (x+7

a 2 x + e x cos bx
;
bx e x sin bx + 1

Determinai dac este par sau impar partea ntreag de la mprirea


cifrei utilizatorului la rezultatul expresiei w=cos 2 x 3 x / a 2 + b 2 + b
tg 2 x

x | xb|

Determinai dac este par sau impar restul de la mprirea cifrei


utilizatorului la rezultatul expresiei
r= x 2 + b b 2 sin 3 ( x + a) / x +

x+ x+a

| x+a|
) ;
| x+b|

Determinai paritatea prii intregi de la produsul dintre cifra propus de


utilizator i rezultatul expresiei s=e ax x + 1 + e bx x + 1.5 + m cos(
bt*sin(t) )+c;
Determinai paritatea restului de la mprirea (sumei dintre cifra
utilizatorului si 10), i rezultatul expresiei y=cos 2 x 3 x / a 2 + b 2 +
|x y / x 3 y / x |;
Determinai paritatea prii ntregi de la mprirea (diferenei dintre
cifra utilizatorului i 9),
bx 2 a x 2 x 3 x 4
i rezultatul expresiei Q= ax
+ + + ;
2
3
4
e 1

10

Determinai paritatea valorii rotungite a ctului dintre cifra utilizatorului


i rezultatul expresiei
s= xb / a + cos 2 ( x + b) 3 + e bt sin(at + b) | bt + a | ;
Determinai paritatea diferenei dintre cifra propus de utilizator si
partea ntreag de la rezultatul expresiei f=(y-x)

y z /( y x)
+
1 + ( y x) 2

x 2 + b b 2 sin 3 ( x + a) / x ;

11
12

13

Determinai paritatea restului de la mprirea cifrei utilizatorului cu


rezultatul expresiei
3
e=x(sinx + cos 2 y )+ x 3 tg 2 ( x + b) 2 + a / x + b ;
Determinai paritatea prii intregi de la mprirea cifrei utilizatorului
cu rezultatul expresiei
2
K=b sin(at cos 2t ) 1 + x 2 ( x + 1) / b sin 2 ( x + a) ;
Determinai paritatea valorii rotungite de la diferena dintre cifra
ntrodus de utilizator i rezultatul expresiei
z=

x2
2 cos( x pi / 6)
+ cos( x + b) 3 +
;
a
1 / 2 + sin 2 y

Determinai paritatea ctului dintre partea ntreag a cifrei propuse de


14

15

16

utilizator(tip real) i rezultatul expresiei a=

z2
1.5 cos 2 x
+
;
3tgx
3 + z2 /5

Determinai paritatea restului de la mprirea (produsului dintre cifra


utilizatorului i 7), i rezultatul expresiei Y=sin 3 ( x 2 + a) 2 x / b +
ln(a+x 2 ) sin 2 ( x / b) ;
Determinai paritatea prii ntregi de la mprirea (sumei dintre cifra
utilizatorului si 6), si rezultatul expresiei
F= 3 m * tg (t )+ | c * sin(t ) | +

a 2 x + b x cos(a + b) x
;
x +1

You might also like