1. Estimai necesarul de memorie al programului ce urmeaz:
Exemplul 1: Program Itemul_1; Const n=40; Type Matrice = Array[1...m, 1..m] of real; Vector = Array[1...m] of String[10] ; Var X:Matrice; i: byte; p, q: ^Matrice; r : ^Vector; Procedure Prelucrare (Var A: Matrice); Var Y:Vector; b:boolean; Begin {Prelucrarea elementelor matricei A} End; {Prelucrare} Begin {Introducerea matricei X} Prelucrare (X); New(p); New(q); New(r); {Prelucrarea variabilelor dinamice p^, q^ si r^} Dispose (p); Dispose (q); Dispose (r); {Afisarea rezultatelor } End.
De efectuat calcule desfurate pentru: segmentul de date, stiv, memoria Heap ):
Vd(m)= Vs(m)= Vh(m)=
Exemplul 2:
Program Itemul_1; Const n=10; Type Persoana=Record Nume, Prenume: string[20]; Virsta: Integer; End; ListaPersoane=Array[1..n] of Persoana; Var A: ListaPersoane; B,C:Persoana; j: Integer; p: ^Listapersoane; r,q : ^Persoana; Procedure Prelucrare (Var L:ListaPersoane); Var Y:Persoana; b:string; Begin {Prelucrarea elementelor listei L} End; {Prelucrare} Begin {Introducerea listei A} Prelucrare (A); New(p); New(r); New(q); {Prelucrarea variabilelor dinamice p^ , r^, q^} Dispose (p); Dispose (r); Dispose (q); {Afisarea rezultatelor } End.
De efectuat calcule desfurate pentru: segmentul de date, stiv, memoria Heap ):
Vd(m)= Vs(m)= Vh(m)=
2. Determinai numrul de operaii elementare Q(n), efectuate la rularea procedurii ce urmeaz:
Type vector= array[1..50,1..50] of real; Procedure Exercice2(n: byte; Var a: verctor); var i,j:byte; max:Real; {1} begin {2} max:= A[1,1]; {3} for i:=2 to n do {4} If A[i,i]>max then {5} max:=A[i,i]; {6} If max<0 then {7} max:=-max; {8} for i:=1 to n do {9} for j:=1 to n do {10} A[i,j]:=A[i,j]+max; end; {Exercice2}
Rezolvarea (calculele detaliate ale valorilor Qi, asociate instruciunilor respective ):
3. Recursia ! Exemplul 1:
a. Scriei o funcie recursiv care determin produsul elementelor impare dint- un tablou unidimensional cu n elemente numere reale.
b. Determinai dac aceast funcie este consistent sau inconsistent. c. Aflai valoarea funciei pentru n=5. ______________________________
Exemplul 2: Scrienti un program recursiv care in care veti crea o procedura de calc a sumei: S=1+2+3+...2N
4. Liste unidirectionale
Sa se scrie un program care creaza o lista unidirectionala cu elementele de tip persoana care va avea campurile NumePrenume si Varsta, dupa care se va efectua sortarea persoanelor dupa campul Varsta dupa metoda Selectiei, Bulelor si Insertiei
Daca veti rezolva aceste exercitii atunci ve-ti putea rezolva testul cu succes !