Sunteți pe pagina 1din 9

MINISTERUL EDUCAȚIEI CULTURII ȘI CERCETĂRII AL REPUBLICII

MOLDOVA

I.P. CENTRUL DE ECELENȚĂ ÎN ENERGETICĂ ȘI ELECTRONICĂ

CATEDRA “SISTEME INFORMAȚIONALE”

LUCRARE DE LABORATOR nr 1
La disciplina: Informatica

Tema: Expresii. Evaluarea expresiilor.

Instrucțiuni: apel de procedură, de efect nul, de atribuire.

Elaborat gr.___CP0120___

Studentul draguțan vladimir

Grupa CP-120

Verificat Banzari Oxana

CHIȘINĂU 2021
Scopul lucrării:
1. Însuşirea procedeelor de utilizare a construcţiilor elementare a limbajului
PASCAL destinate calculelor conform formulelor propuse.
2. Însuşirea limbajului PASCAL:

❏ descrierea şi declaraţia constantelor, variabilelor, funcţiilor standarde;


❏ regulile de notare a expresiilor aritmetice;
❏ atribuitorul;
❏ modul de organizare a datelor de intrare şi de ieşire.
3. Validarea corectitudinii alcătuirii programelor PASCAL în soluţionarea
problemelor propuse.

Condiţia lucrării:

1. Să se evalueze și să se calculeze expresiile propuse conform anexei nr. 1;

2. Să se elaboreze programe cu expresiile propuse conform anexei nr. 2;

Conţinutul raportului
1. Scopul lucrării;

2. Condiţia lucrării (formularea problemei conform variantei date);

3. Textul programului în limbajul PASCAL (listingul);

5. Rezultatele obţinute în urma execuţiei programului;

6. Concluziile referitor la îndeplinirea lucrării.


ANEXA nr. 1

1. Calcula ți rezultatul următoarelor expresii: 2.5p

Expresie Calcularea expresiei


a) (77+5) div 3*2; (77+5 )DIV 3*2
82 DIV 3*2
27*2
54

b) 7+(7+(7+7 mod 2))/3; 7+(7+(7+7mod2))/3


7+(7+(7+1))/3
7+(7+8)/3
7+15/3
7+5
12

c) 72/9+9 div 4; 72/9+9div4


8+2
10

d) 15340/20+32*15-139; 15340/20+32*15-139
767+ 480-139
1247-139
1108
e) (((7+34) div17+18)/5+12)*8; (((7+34)div17+18)/5+12)*8
((41div17+18)/5+12)*8
((2+18)/5+12)*8
(20/5+12)*8
(4+12) *8
16*8
128

2. Evaluați expresiile de mai jos precizînd tipul rezultatului:


1.25p
Expresie Evaluarea expresiei Tipul

a) 3 *x-2/2, unde x este o 3*2-2/2 REAL


6-1 integer
varibilă ce conține valoarea
2; 5

b) ( x<a) or (x>=b), unde (10<2) or (10=510) BOOLEAN


FALSE or FALSE
x=10, a=2, b=510;
FALSE

c) (2*x+1) mod 3, unde (2*3+1) mod 3 INTEGER


variabila x conține valoarea (6+1) mod 3

3; 7 mod 3

3. Evaluați următoarele expresii pentru x și y, cu valorile x=5 și y=2:


2.5p
Expresie Evaluarea
expresiei
(x+y)>7

a. ( x+y)>7; (5+2)>7

7>7

FALSE

3*x div y

b. 3 *x div y; 3*5 div 2

15div2

x mod y + 5*y -10

c. x mod y + 5*y-10; 5 mod 2 + 5*2 -10

1+10-10

x+2*y*(5-(2*x)/y)

5+2*2*(5-(2*5)/2)

5+2*2*(5-10/2)
d. x+2*y*(5-(2*x)/y);
5+2*2*(5-5)

5+2*2*0

5+0

(5>2) and (2<10)


e. (5>2) and (2<10);
TRUE and TRUE

TRUE

4. Completați următorul table:


4.7p

e1 e2 e3 e1 and e2 and e3 e1 or e2 e2 or e3 e1 and e2 or e3 e1 or e2 and e3


e2

true true true true true true true true true


fals
true true true false true true true true
e
true false true false false true true true true
fals
true false false false true false false true
e
false true true false true true true true true
fals
false true false false true True false False
e
false false true false false false true True False
fals
false false false false false false true false false
e

5.Dacă valoarea variabilei x este 136, ce valoare va avea x în urma efectuării


următoarelor atribuiri: 1p
a:=136 mod 10
a:= x mod 10
a:=6
x:=136 div 10
x:= x div 10
x:=13
b:=13 mod 10
b:=1
b := x mod 10 3 deoarece
operatia mod
arata restul
impartirii nu citul
x:= (x * 10+a)*10+b X:=(x * 10+a)*10+b

(1*10+6)*10+3
(10+6)*10+3

16*10+3

160+3

163
1363

6.Scrieți o expresie care să fie adevărată dacă și numai dacă numerele a și b


sunt divizibile cu 5.

if (a mod 5=0) and (b mod 5=0) then

0p

a=20, b=2, amele sut dvizibile cu 5, alcatuim exresie a+b-5

ANEXA nr. 2

1. Să se alcătuiască un program care efectuează calculele conform


formulelor propuse din itemul 1 Anexa nr.1
Program P2;
type T1 = (77+5) div 3*2 ; {subdomeniu de real}
T2 = 7+(7+(7+7 mod 2)) /3; {subdomeniu de real}
T3 = 72/9+9 div 4; {subdomeniu de real}
T4 = 15340/20+32*15-139; {subdomeniu de real}
T5 = (((7+34)div17+18)/5+12)*8; {subdomeniu de real}
var i : T1 ;
j : T2 ;
k : T3 ;
l : T4 ;
m : T5 ;
a,b,c,d,e : real ;
Begin
Writeln (´a= ´);
Readln (a);
i:=a; {corect pentru (77+5) div 3*2}
Writeln (´b= ´);
Readln (b);
j:=b; {corect pentru 7+(7+(7+7 mod 2))/3 }
Writeln (´c= ´);
Readln (c);
k:=c; {corect pentru 72/9+9 div 4 }
Writeln (´d= ´);
Readln (d);
l:=d; {corect pentru 15340/20+32*15-139}
Writeln (´e= ´);
Readln (e);
m:=e; {corect pentru (((7+34)div17+18)/5+12)*8}
writeln (´a= ´ , a);
writeln (´b= ´ , b);
writeln (´c= ´ , c);
writeln (´d= ´ , d);
writeln (´e= ´ , e);
end.

2. Să se alcătuiască un program care efectuează calculele conform


formulelor propuse din itemul 3 Anexa nr.1

Program P4;
type T1 = ( x+y)>7; {subdomeniu de real}
T2 = 3 *x div y; {subdomeniu de real}
T3 = x mod y + 5*y-10; {subdomeniu de real}
T4 = x+2*y*(5-(2*x)/y); {subdomeniu de real}
T5 = (5>2) and (2<10); {subdomeniu de real}
var i : T1 ;
j : T2 ;
k : T3 ;
l : T4 ;
m : T5 ;
a,b,c,d,e : real ;
Begin
Writeln (´a= ´);
Readln (a);
i:=a; {corect pentru ( x+y)>7;}
Writeln (´b= ´);
Readln (b);
j:=b; {corect pentru 3 *x div y }
Writeln (´c= ´);
Readln (c);
k:=c; {corect pentru x mod y + 5*y-10 }
Writeln (´d= ´);
Readln (d);
l:=d; {corect pentru x+2*y*(5-(2*x)/y }
Writeln (´e= ´);
Readln (e);
m:=e; {corect pentru (5>2) and (2<10) }
writeln (´a= ´ , a);
writeln (´b= ´ , b);
writeln (´c= ´ , c);
writeln (´d= ´ , d);
writeln (´e= ´ , e);
end.

3. Să se scrie un program care calculează valoarea expresiei: x=y^2


+2 pentru x dat.
Program C4;
Var x,y: real;
Begin
Write ('dati x=');
Readln (x);
x=sqr(y)+2;
Writeln ('x=',x);
Readln;
End.

Observatie
Afișați listingul programului (prin text sau imagine) și execuția programului
(prin imagine).

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