Sunteți pe pagina 1din 6

Teza semestrială la informatica

1.(1p) Ce valori vor avea variabilele x, y si z în urma rulării următoarei secvenţe de instrucţiuni?
x=5; y=5; z=-2; - numere întregi
x=x+1; z=z+5; y=y-1; x=x-sqrt(y); y=z; z=z+1;
a) 4 4 4; b) 4 3 4; c) 3 4 4; d) 4 -3 3;

1. Indicaţi care este valoarea expresiei C++ următoare dacă variabila m are valoarea 1234.


(0.5p.)
m=m%10/10*10.
a)2 b)4 c)0 d)1

1. Indicaţi care este valoarea expresiei C++ următoare dacă variabila m are valoarea 1234.


(0.5p.)
m=m/10*10.
a)1234 b)1230 c)123 d)12
Iar rezolvarea este urmatoarea:

1.
X=7
Y=9
a<–x div 2 (a=3)
b<– y mod 2 (b=1)
c<–(a+b) mod 10 (c=4)

Se vor afisa valorile


a= 3
b= 1
c= 4
2.

x=7
y=4
z=5
s<–(x + y) mod 3 (s=5)
z<–z*s (z=10)
x<–x div y (x=1)
y<–y mod s (y=0)
scrie 2, 1, 10, 0
3. a)

x=102
y=103
102>100? True
103 mod 3=0? False
z<– 2
scrie 2
b) Sunt 333 valori pe care le poate lua y in intervalul specificat.
Acest subpunct a fost aflat prin urmatorul program scris in Turbo pascal:

program ex;

var k,i:integer

begin

k:=0;

for i:=1 to 1000 do

if i mod 3=0 then k:=k+1;

readln;

end.
Edit: Pentru a se afla mai usor fara programe create se putea face pur si simplu 1000 div 3, unde:
1000/3=333.33, iar 1000 div 3=333.

4.

a=74324
b=5
y<–0 (y=0)
p<–1 (p=1)
c<–a mod 10 (c=4)
a<–a div 100 (a=743)
1 <5? True
y<–y+c*p (y=4)

La finalul executiei secventei, a va avea valoarea 743, iar y  va avea valoarea 4.


5. Pentru aceasta problema am ales sa folosesc o citire cu validare.

Repeta

citeste x

d<–x

k<–2

p<–0

cat timp d<>0 executa

inceput

d<–d div 10

p<–p+1

sfarsit

pana cand p=k

a<–x mod 10

x<–x div 10

daca a>x atunci y<–a*10+x

altfel y<–x*10+a
scrie y

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