Teza Semestriala La Informatica 20172018 Arianta I Varianta II Cahul [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Numele_________________ Prenumele ______________

1. Continuaţi enunţul:

Institutia de învăţămînt

În limbajul pascal există __două__ tipuri de subprogram şi anume: __funcţii___ şi ___proceduri__. _________________________ Câte un punct pentru fiecare răspuns corect, total 3 puncte

L 0 1 2 3

2. Scrieţi adevărat (A) sau fals (F) în dependenţă de faptul dacă este sau nu adevărată afirmaţia: Nr. crt. 1.

Afirmaţia

O procedură poate avea doar parametri formali valoare

A sau F A

2.

O funcție poate fi utilizată doar o singură dată într-un program pascal

F

3.

Paramatrul actual transmite valoarea din programul principal în procedură.

A

4.

Un parametru actual poate fi o valoare

A

5.

Un subprogram obligatoriu trebuie să conțină un parametru formal

F

6.

Procedurile pot întoarce mai multe rezultate prin intermediul parametrilor variabilă

A

7.

Procedurile și funcțiile pot rezolva aceiași problemă

A

8.

Exp(x) este o procedură predefinită a limbajului pascal.

F

Câte un punct pentru fiecare răspuns corect, total 8 puncte 3. Se consideră antetul: Var a,b:char; c,r:real; d,i:integer; Procedure P(var x:char; var y:real; z:integer); Încercuiţi apelurile corecte. a) P(a, c, d); b) P(b, r, ‘i’); c) P(‘k’, 8.145, 6); d) P(b, r, 5); e) P(a,c,i); f) P(‘9’,6.4, 3); Câte un punct pentru fiecare încercuire corectă, total 3 puncte 4. Fie dată o secvență de program PASCAL din care au fost radiate (eliminate) denumirile de tipuri ale variabilelor utilizate: Analizați secvența din programul P4 şi îndepliniți următoarele sarcini: Program P4; var q : __string________; a) Înscrieţi în textul programului denumirile de s : set of _0..9___; tip omise, astfel încît acestea să asigure i : _______integer_____; corectitudinea instrucțiunilor din program. begin q:='0691882883117'; b) Scrieţi, care va fi valoarea variabilei s după s:=[ ]; executarea ciclului for. for i:=1 to length(q)-1 do s:=s+[ord(q[i])-ord(’0’)]; ... s=[ 0,1,2,3,6,8,9 ] end. Câte un punct pentru fiecare răspuns corect, total 4 puncte Notă: 1. Punctul a - pentru variabila s se acceptă şi tipul byte, integer sau 0..255 2. punctual b - ordinea înscrierii valorilor în mulţimea s nu contează, important ca aceasta sa includă valorile întregi 0,1,2,3,6,8,9.

L 0 1 2 3 4 5 6

7 8

L 0 1 2 3

L 0 1 2 3 4

5. Se consideră un tablou (vector) cu n numere intregi, n=0 do k:=k+1; End; Begin Writeln(‘dati numarul de component din tablou’); readln(n); Writeln(‘dati ‘,n,’ component intregi’); For i:=1 to n do read(t[i]); Par:= PARE(t,n); Writeln(‘numarul de component pare ‘,par); POZITIE(t,n,poz); Writeln(‘pozitia primului numar negative este ‘,poz); End.

L 0 1 2 3 4 5 6 7 8 9 10

6. Fie dat programul: programa p12; Nivel_0_ var m, n: integer; k:real; procedure P(var x:integer; y:integer; var z:real); Nivel_1_ function f(h:integer):integer; begin f:=sqr(h)+2; end; Nivel_2_ begin x:=f(x)+y; y:=x+f(2); z:=y mod x ; writeln(x,' ',y,' ',z:0:0) end; begin n:=4; m:=1; k:=2; P(m,n,k); writeln(m,' ',n,' ',k:0:0);P(n,m,k); writeln(m,' ',n,' ',k:0:0); end.

L 0 1 2 3 4 5 6 7 8 9 10 11

a) Ce se va afişa la ecran în urma executării acestui program (argumentaţi răspunsul prin calcule, afişările le încercuiţi)

n=4 m=1 k=2 P(m,n,k) X=m=1 y=n=4 z=k=2 X=3+4=7 y=7+6=13 z= 13 mod 7=6

7 13 6

1p- raspuns corect, argumentare

M=x=7 n=n=4 k=z=6

746

1p- raspuns corect, argumentare

P(n,m,k) X=n=4 y=m=7 z=k=6 X=18+7=25 y=25+6=31 z= 31 mod 25=6

25 31 6

1p- raspuns corect, argumentare

N=x=25 m=m=7 k=z=6

7 25 6

1p- raspuns corect, argumentare

b)Enumeraţi variabilele globale, utilizate în program_______m,n,k____________________; 1p- scrierea corectă a rezultatului c) Subliniați un apel al funcției F;

1p- sublinierea corectă a unui apel de funcţie, x:=f(x)+y; y:=x+f(2); d) Enumerați parametrii variabilă din procedura P__________x,z_____________________;

1p- scrierea corectă a rezultatului e) Indicaţi nivelele de imbricare; 3p- scrierea corectă a rezultatului (câte un punct pentru fiecare nivel scris corect) f) În programul P12 este efect colateral?

Adevarat

Fals

1p- scrierea corectă a rezultatului 7. Se consideră funcția: a)

Calculați f(1). Argumentaţi răspunsul

Argumentare: f(1)=f(2)+f(4) F(2)=f(3)+f(5) F(3)=f(4)+f(6) F(4)=4+1=5 F(5)=5+2=7 F(6)=6+2=8 F(3)=5+8=13 F(2)=13+7=20 F(1)=20+5=25 Raspuns: f(1)=25

prin calcule!

L 0 1 2 3 4 5

1p- rezultat final corect 25 3p – argumentare corectă prin calcule {in caz că rezultatul final nu corespunde cu valoarea de 25, însă calculele sunt efectuate se va acorda 1 punct} b)

Definiţia funcţiei f(n) este o definiţie recursivă? Adevărat Fals

1p- scrierea corectă a rezultatului 8. Elaboraţi o funcţie pascal (doar funcţia) pentru definiţia f(n) de la itemul 7. Function f(n:integer):integer; Begin If n=4 then f:=n+1 else if n>=5 then f:=n+2 else if n