Material didactic pentru Informatică pentru clasa a XI-a.
Obiectivele care au fost urmărite sunt:
O1 - să cunoască noţiunea de variabilă dinamică;
O2 - să creeze şi să distrugă variabile dinamice;
O3 - să efectuieze operaţii cu variabile dinamice;
O4 - să poată să utilize tipul de date articol;
O5 - să fie capabil de a elabora programe, în care să utilizeze tipul de date referinţă.
Material didactic pentru Informatică pentru clasa a XI-a.
Obiectivele care au fost urmărite sunt:
O1 - să cunoască noţiunea de variabilă dinamică;
O2 - să creeze şi să distrugă variabile dinamice;
O3 - să efectuieze operaţii cu variabile dinamice;
O4 - să poată să utilize tipul de date articol;
O5 - să fie capabil de a elabora programe, în care să utilizeze tipul de date referinţă.
PARTENERIAT TRANSFRONTALIER REPUBLICA MOLDOVA-ROMÂNIAFlorinaTrofin
olaborarea la nivel transfrontalier prin împărtășirea opiniilor, practicilor, metodelor și strategiilor de lucru cu cadrele didactice din Republica Moldova și România pentru îmbunătățirea procesului educațional cu finalități comune.
Papa Francisco canoniza los martires de Rumanía (Rumanian).pptx
Test i
1. Testul 1
1.Precizaţi valorile de adevăr ale afirmaţiilor de mai jos:
a) Orice subprogram recursiv trebuie sa aibă cel puţin un parametru transmis prin
valoare
b) Orice subprogram recursiv se poate implementa si nerecursiv
c) Un subprogram este recursiv daca si numai daca conţine mai mult de un apel
autoapel
d) Programul principal (Pascal) sau funcţia main (C++) nu pot conţine autoapel
R: f,a,f,a
2.La fiecare apel recursiv al unui subprogram, in segmentul de stiva sunt memorate
a) Adresa de revenire, valorile variabilelor locale si a parametrilor transmişi prin referinţă
b) Adresa de revenire si valorile variabilelor globale
c) Adresa de revenire, valorile variabilelor locale si a parametrilor transmişi prin valoare
si adrese parametrilor transmişi prin referinţa
d) Adresa de revenire, valorile locale si a variabilelor globale
R: c)
3.Fie funcţia recursivă
functiona ael ( n:integer ):integer; int ael ( int n )
begin {
if n=0 then ael:=0 if ( n = =0 ) return 0
else ael:=ael ( n-1 ) + 2*n-1; else return ( ael(n-1)+2*n-1)
end; }
Precizaţi valoarea lui n pentru care ael (n)= 36
a) 9
b) 3
c) 15
d) 6
R: d)
4. Se consideră subprogramul recursiv:
procedure test (n:integer); void test ( int n )
begin {
if n<>1 then if ( n!=1 )
begin {
write (n, ’,’); cout<<n<<”,”
if (n mod 2) then test (n div 2) if ( n%2 = =0 ) test (n/2)
else test (3*n+1); else test (3*n+1)
end }
else write (1); else cout<<1;
end;
Precizaţi ce va fi afişat la apelul test(10)?
2. a) 10,5,4,2,1
b) 10,5,16,8,4,2
c) 10,5,16,8,4,2,1
d) 5,16,8,4,2,1
R: c)
5. Fie funcţia recursiva:
function verif( n,k: integer): integer; int test (int n, int k)
begin {
if ( k=n ) then verif:=1 if (k= =n) return 1;
else if (n mod k=0) then verif:=0 else if ( n%k= =0 ) return 0;
else verif:=verif (n, k+1); else return test (n, k+1)
end; }
La apelul verif (n,2) valoarea funcţiei este 1 dacă şi numai dacă:
a) n Î À şi n este par
b) n Î À şi n este prim
c) n Î À şi n este impar
d) n Î À şi n nu este prim
R: b)
6. Fie şirul de numere definit astfel:
m, pentru n=0 şi mЄÂ
an
an= , dacă n este par
4
4 an-1, dacă n este impar
Care este valoarea termenului a5 , dacă m=2 ?
a) 5
b) 6
c) 12
d) 7
e) 2
R: a)
7. Fie următorul subprogram recursiv:
procedure c ( b,a: word); end;
begin end;
if ( a<= b div 2) then void c ( unsigned b, unsigned a)
begin {
if not (b mod a<>0) then write(a,’ ’); if (a <= b/2)
c (b,a+1); { if (!(b%a= = 0)) cout <<a<<” “
3. c (b, a+1) }
}
La apelul c (15,2), se va afişa:
a) 3515
b) 2467
c) 35
d) 135
R: c)
8. Se considera funcţia s: N* x N* → N definită astfel
La apelul funcţiei s (3,5) unde m=1 şi n=1 se va obţine
a) 12
b) 11
c) 8
d) 9
R: b)
Fie programul următor:
program T9; # include <iostream.h>
var x,z:integer; int x,y;
procedure t( x:integer, z:integer); void t (int x, int y)
begin { if (x>0)
if x>0 then begin { x=x-1;
x:=x-1; y=y-1;
y:=y-1; t (x,y);
t (x,y); }
end; }
begin void main()
x=3;y=1; { x=3; y=1;
write (x,’’,y,’’); cout<<x<<” ”<<y<<” ”;
t (x,y); t (x,y);
writeln (x,’ ’,y,’ ’); cout<<x<<” ”<<y<<” ”<<endl;
end. }
Care este modificarea din program, astfel încât după execuţia să se afişeze 3 1 0 1
PASCAL
a) procedure t (var x:integer; y: integer);
b) procedure t (var x:integer; var y: integer);
c) procedure t (x:integer; var y: integer);
C++
4. a) void t (int & x, int y);
b) void t (int & x, int & y);
c) void t (int x, int & y);
R: a)