48
MODULUL IV: Programarea modulară

Modulul IVd

Embed Size (px)

DESCRIPTION

sadasfsd

Citation preview

Page 1: Modulul IVd

MODULUL IV: Programarea modulară

Page 2: Modulul IVd
Page 3: Modulul IVd

Testul 1

Competenţe: Lucrează cu subprograme

Obiectivele evaluării:

Obiective:

să identifice tipurile de parametri folosiţi la definirea subprogramelor

să descrie structura unui subprogram

să determine corectitudinea antetelor şi apelurilor de subprograme

să scrie corect un subprogram recursiv/iterativ

Prezentarea testului

Testul poate fi utilizat la finalul lecţiei în vederea verificării atingerii obiectivelor pentru

tema: Subprograme.

Tipul testului: Probă scrisă

Durata evaluării

Timp de lucru: 50 minute

Enunţ:

1. Explicaţi noţiunile de parametrii formali şi parametrii actuali.

2. Funcţia f primeşte ca parametru un număr real şi trebuie să determine numărul de

cifre de la partea întreagă şi numărul de cifre de la partea zecimală a numărului. Care

sunt prototipuri corecte pentru funcţia f?

a) void f (float a, int nr1, int nr2);

b) void f (float & a, int nr1, int nr2);

c) void f (float, int *, int *);

d) void f (float; int & ; int *);

e) int f (float, int &);

3. Cum trebuie declarat antetul subprogramului f astfel încât programul următor să

afişeze pe ecran valoarea 147?

# include <iostream.h>

void f……

{a++; b+=a; c+=b;}

Page 4: Modulul IVd

void main ()

{ int a=1, b=2, c=3;

f(a,b,c);

cout<<a<<b<<c;}

a) void f (int, int, int);

b) void f (int & a, int b, int c);

c) void f (int a, int & b, int & c);

d) void f (int &a, int &b, int & c);

e) void f (int &a, int b, int & c);

f) indiferent de antet, aceste valori nu pot fi obţinute

4. Din cei n elevi de clasa a XII-a, doar k vor susţine examenul în liceu, ceilalţi fiind

repartizaţi la alte centre. Pentru n şi k două numere naturale date de la

tastatură(k≤n<50):

a) scrieţi o funcţie nerecursivă care să calculeze numărul de posibilităţi de a selecta cei

k elevi care urmează să susţină examenul în liceul lor;

b) scrieţi un subprogram recursiv sau iterativ care să genereze toate posibilităţile de a

selecta cei k elevi care vor susţine examenul în liceul lor (consideraţi elevii numerotaţi

de la 1 la n).

5. Completaţi propoziţiile cu cuvântul (cuvintele) lipsă:

a) Un algoritm care se apelează pe el însuşi este ………………………………...............

b) Parametrii care se transmit la apelul unui subprogram se numesc ..................………

c) O variabilă ………….................................…..este vizibilă în tot programul.

Instrucţiuni pentru elevi

Orice eventual răspuns greşit se taie cu o linie şi se înlocuieşte cu răspunsul considerat

corect.

Criteriile de evaluare şi notare

Exerciţiul 1 – 2 puncteExerciţiul 2 – 1 punctExerciţiul 3 – 3 puncteExerciţiul 4 – 1 punctExerciţiul 5 – 2 puncteSe acordă 1 punct din oficiu.

Barem de corectare şi notare

Page 5: Modulul IVd

1.- Parametrii formali - În antet, pentru fiecare parametru se precizează denumirea simbolică folosită în interiorul programului. Aceşti parametri se numesc parametri formali. - Parametrii actuali (efectivi) - La activarea subprogramului, parametrilor de comunicare li se vor atribui valori concrete cu care se va executa subprogramul la acel apel. Aceste valori vor fi comunicate la apelul subprogramului, după numele subprogramului, între paranteze rotunde, în aceeaşi ordine în care au fost scrişi la definirea lor în antet. Comunicarea trebuie să respecte aceeaşi succesiune, tipuri de date şi număr de parametri ca şi în lista parametrilor formali, deoarece atribuirea valorilor se face respectând regula de corespondenţă. Aceşti parametri se numesc parametri actuali.2. c,e

3. c

4. a) Folosim formula de recurenţă Cnk= Cn-1

k+ Cn-1k-1

Este suficient să reţinem la fiecare pas i (i variind de la 1 la n) linia curentă şi cea precedentă, pe care o vom utiliza pentru determinarea liniei curente.

unsigned long Lnou[50], LVechi[50];unsigned long combinari (unsigned n, unsigned k){ LNou [0] = LVechi [0] = 1; for (int i=1; i<=n; i++) { for (int j=1; j<=i; j++) LNou [j] = LVechi [j]+LVechi [j-1]; for (j=1; j<=I; j++) LVechi [j] = LNou [j]; }return LNou [k]; }

b) Voi reprezenta o submulţime ca un vector S, de k elemente din mulţimea {1,2,…,n}. Pentru a nu genera de două ori aceeaşi submulţime, consider elementele submulţimii în ordine crescătoare. Voi descrie un algoritm de tip succesor : iniţializez vectorul S, în care memorez succesiv submulţimile {1,2,...,k}, cea mai mică mulţime în ordine lexicografică. La fiecare pas, afişez submulţimea curentă şi determin submulţimea care urmează în ordine lexicografică. Pentru aceasta, parcurgem vectorul S, începând din poziţia k, determinând prima componentă a vectorului care poate fi mărită, valoarea maximă care poate fi plasată pe poziţia i fiind n-k+i. Dacă nu am găsit o astfel de componentă, deduc că S = (n-k+1, n-k+2,…,n), ultima submulţime în ordine lexicografică, deci generarea s-a încheiat. Altfel, incrementăm componenta găsită, reiniţializând poziţiile până la k cu cele mai mici valori posibile, pe fiecre poziţie plasând o valoare cu 1 mai mare decât valoarea de pe poziţia precedentă.

# include <iostream.h>unsigned n, k, s[50];void afisare (){ for (int i = 1; i <|= k; i++) cout << s[i] << ’ ’; cout << ”\n”;}void generare (){ for (int i=1; i<=k; s[i]=i, i++); for (int gata = 0 !gata; ) { afisare(); // afisez solutia curenta for (i=k; i && s[i]==n-k+i;i--); if (i) {// s[i] poate fi marit s[i] ++; // reinitializam componentele de la i+1 la k for (int j=i+1; j <= k; s[j]=s[j-1]+1, j++); }

Page 6: Modulul IVd

else gata =1; // am terminat generarea }}void main () { cout << ”n=”; cin >>n; cout << ”k=”; cin >>k;generare (); }.

5. a) – recursiv b) – actuali c) – globală

Instrucţiuni pentru evaluatori Pentru fiecare definiţie corectă de la exerciţile 1 şi 5 se acordă punctajul stabilit, respectiv pentru rezolvarea completă a exerciţiilor 2, 3, 4.

Page 7: Modulul IVd

Testul 2

Competenţe: Lucrează cu subprograme

Obiectivele evaluării:

Obiective: - să identifice rezultatul unui subprogram

- să elaboreze o funcţie pentru o cerinţă dată

- să recunoască situaţiile care impun folosirea subprogramelor

- să urmarească etapele de realizare a unei aplicaţii

- să depaneze programele în cazul unor eventuale erori

Prezentarea testului

Testul poate fi utilizat la sfârşitul unui grup de lecţii ce vizează evaluarea obiectivelor

integratoare pentru tema Subprograme.

Tipul testului: Probă practică

Condiţiile de administrare

Testul va fi susţinut în laboratorul de informatică, pe fiecare calculator se va instala un

MDI (Borland C++). Fiecare elev va primi o foaie cu cerinţele testului şi va rezolva

individual subiectul.

Durata evaluării

Timp de lucru: 30 minute

Enunţ :

Explicaţii :O aplicaţie în C nu este constituită în mod obligatoriu dintr-un singur fişier sursă. Definiţiile funcţiilor din care este constituit programul se pot găsi în mai multe fişiere. Acest lucru permite elaborarea aplicaţiilor în echipă, adică fiecare membru al echipei va salva funcţiile elaborate de el în fişiere sursă proprii, precum şi reutilizarea anumitor funcţii, dacă dorim ca într-o altă aplicaţie să utilizăm anumite funcţii pe care le-am elaborat deja şi se găsesc într-un fişier sursă, este suficient să includem în program fişierul sursă respectiv. În final, după elaborarea tuturor fişierelor sursă, le vom asambla, prin crearea unui proiect.

În mediul de programare Borland C, crearea unui proiect sau deschiderea unui proiect existent se realizează cu ajutorul opţiunii Open Project, din meniul Project al mediului de programare.

Page 8: Modulul IVd

Se va deschide o fereastră în care se vizualizează lista fişierelor sursă din care este constituit proiectul. În cazul în care vrem să creăm un alt proiect, îi vom da un nume şi apoi vom adăuga fişierele specifice proiectului.

Pentru adăugarea unui fişier sursă la proiectul deschis, se selectează opţiunea Add Item din meniul Project. După alegerea fişierelor, se accesează butonul Done.Eliminarea din proiect a unui fişier sursă se realizează cu ajutorul opţiunii Delete Item din meniul Project.

Închiderea unui proiect se realizează cu ajutorul opţiunii Close Project

Page 9: Modulul IVd

După selectarea fişierelor ce formează proiectul, vom acţiona butonul Make sau Buid All din meniul Compile, pentru a crea un program executabil ce va avea numele proiectului şi cu extensia .exe

Lansarea în execuţie se va face acţionând combinaţia de taste CTRL+F9 sau Run / Run.În fişierul sursă poate fi inclus un alt fişier. Acest fişier poate fi un fişier sursă sau un fişier antet. Directiva care permite includerea unui fişier este :

#include <identificator_fisier>atunci când se doreşte căutarea fişierului care se include în directorul implicit (Options / Diectories)

#include ’’identificator_fisier”ce se foloseste pentru cautarea fisierului care se include in directorul curent.

Dacă fişierul nu este găsit în directorul curent, va fi căutat în directorul implicit.Efectul directivei pentru includerea fişierelor este următorul:Linia sursă a directivei este înlocuită cu conţinutul fişierelor specificate. De asemenea fişierul inclus poate conţine şi el directive #include.

Această modalitate de realizare a unei aplicaţii este avantajoasă pentru că:- atenţia programatorului se poate concentra la un moment dat numai asupra unei singure probleme- se favorizează lucrul în echipă, deoarece fiecare subproblemă va putea fi rezolvată de câte un programator

Exemplu :

Să se construiască un proiect simplu care presupune realizarea a două fişiere sursă, unul ce va conţine două subprograme pentru citirea şi afişarea elementelor unui tablou unidimensional, iar al doilea fişier includerea primului fişier sursă în el. Fişierul de mai jos a fost creat în directorul curent sub numele „vectori.cpp”

void citire(int v[], int &n){int i;cout<<"dati n=";cin>>n;for(i=0;i<n;i++)cin>>v[i];}void afisare (int v[], int &n){int i;for(i=0;i<n;i++)cout<<v[i]<<' ';}

Acest fişier sursă conţine fişierul antet creat anterior, el se poate salva şi cu numele vectori.h

#include<iostream.h>#include"vectori.h"

Page 10: Modulul IVd

void main (){int a[100],b[100],n,m,i;citire(a,m);afisare(a,m);citire(b,n);afisare(b,n);}

Cerinţe:1. Completaţi proiectul vectori cu următoarele module: modul pentru sortarea unui

vector, modul pentru determinarea elementului maxim şi minim din vector.2. Creaţi proiectul matrice, care va conţine definirea, citirea elementelor matricei,

afişarea elementelor matricei, suma a două matrice, diferenţa a două matrice, suma elementelor de pe fiecare linie a matricei.

Criteriile de evaluare şi notare

Punctele se acordă astfel:

10 puncte din oficiu.

Cerinţa 1 - 45 puncte

Cerinţa 2- 45 puncte

Barem de rezolvare şi notare

REZOLVAREA APLICAŢIILOR1. Vectori

fişierul vect.cppvoid citire(int v[], int &n){int i;cout<<"dati n=";cin>>n;for(i=0;i<n;i++)cin>>v[i];}

void afisare (int v[], int &n){int i;for(i=0;i<n;i++)cout<<v[i]<<' ';}

void sortare_cresc(int v[],int &n){int aux,i,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if (v[i]>v[j]){aux=v[i];v[i]=v[j];v[j]=aux;}}

void sortare_descresc(int v[],int &n){int aux,i,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if (v[i]<v[j])

2. Matricefişierul matrice1.cppvoid citire(int a[][20],int & n,int & m){int i,j;cout<<"nr linii=";cin>>n;cout<<"nr coloane=";cin>>m;for(i=0;i<n;i++)for(j=0;j<m;j++){cout<<"elem"<<i<<','<<j<<'=';cin>>a[i][j];}}void afisare( int a[][20],int & n,int & m) {int i,j;for(i=0;i<n;i++){for(j=0;j<m;j++)cout<<a[i][j]<<” ’’;cout<<endl;}}

fişierul principal matrice2.cpp#include<iostream.h>int b[20][20],p,q;#include"mat1.cpp"void main(){citire(b,p,q);afisare(b,p,q);

Page 11: Modulul IVd

{aux=v[i];v[i]=v[j];v[j]=aux;}}

int maxim(int v[],int n){int max=v[0],i;for(i=1;i<n;i++)if(v[i]>max)max=v[i];return max;}

int minim(int v[],int n){int min=v[0],i;for(i=1;i<n;i++)if(v[i]<min)min=v[i];return min;}

fişierul sursă vectorproj.cpp#include<iostream.h>#include "vect.cpp"void main (){int a[100],b[100],n,m,i;citire(a,m);afisare(a,m);citire(b,n);afisare(b,n);sortare_cresc(a,m);afisare(a,m);sortare_descresc(b,n);afisare(b,n);cout<<"maximul este ="<<maxim(a,m);cout<<"minimul este ="<<minim(b,n);}

Instrucţiuni pentru evaluatori

Acordarea punctajului trebuie foarte clar precizată pentru a asigura astfel ca evaluatori

diferiţi să ajungă la acelaşi rezultat ale evaluării, aceeaşi notă.

Page 12: Modulul IVd

Testul 3

Competenţe: Implementează structuri de date dinamice

Obiectivele evaluării:

- să identifice corect zonele de memorie folosite pentru memorarea

variabilelor

- să definească şi să identifice atributele variabilelor

- să identifice toate structurile de date dinamice, respectiv diferenţele dintre

acestea

Prezentarea testului

Acest test poate fi utilizat ca evaluare a obiectivelor la fişa suport

corespunzătoare modulului.

Tipul testului: probă scrisă

Durata evaluării

Timp de lucru: 50 minute

Enunţ:

A. Încercuiţi răspunsul corect

1.Stiva poate fi descrisă astfel:a) primul element introdus în stivă este ultimul care poate fi extrasb) primul element introdus în stivă este primul care poate fi extrasc) ultimul element introdus în stivă este primul care poate fi extras.

2. Eliminarea unui element din stivă se poate face astfel:a) se elimină elementul din vârfb) se elimină elementul de la bazăc) se poate elimina orice element din stivă

3. Notăm cu VÂRF poziţia pe care se află elementul din vârful stivei , şi cu BAZA poziţia celui de la capătul opus;stiva este vidă dacă:

a) VÂRF=BAZAb) VÂRF=0c) VÂRF<BAZA

4. La o coadă adăugarea unui nou element se poate face:a) după ultimul elementb) în faţa primului elementc) într-o poziţie intermediară

12

Page 13: Modulul IVd

B. Răspundeţi la următoarele întrebări:1. Când o listă este vidă?2. Care sunt prelucrările specifice cozilor?3. Ce este o listă circulară?4. Care sunt zonele de memorie în care se găsesc memorate

variabilele?

C. Rezolvaţi următoarele cerinţe:1. Scrieţi o procedură de iniţializare a unei liste.2. Scrieţi o funcţie care extrage elementele dintr-o stivă.3. Descrieţi cele 4 atribute ce caracterizează o variabilă.

Instrucţiuni pentru elevi

Pentru rezolvare încercuiţi varianta/variantele corectă/corecte.

Criteriile de evaluare şi notare

Se acordă : 1 punct din oficiu

A. 1……….…0,5p B. 1………0,5p C.1…….…2p 2………….0,5p 2………0,5p 2………. 2p 3………… 0,5p 3………0,5p 3………..1p 4………….0,5p 4………0,5p

Barem de corectare şi notare

A. 1.c, 2.a, 3.b, 4.aB.

1. Dacă există un ultim element în listă, atunci lista se numeşte liniară. Dacă nu, există un element care să conţină în câmpul informaţie valoarea null.

2. Operaţiile importante sunt:

introducerea unui element în coadă - funcţia se realizează prin inserarea după ultimul nod;

scoaterea unui element din coadă – funcţia se realizează prin ştergerea primului nod;

ştergerea cozii – se şterge secvenţial fiecare nod3. O listă circulară este o listă în care, după ultimul nod, urmează primul, deci fiecare nod are succesor şi predecesor 4. Fiecărui program i se alocă trei zone distincte în memoria internă în care se găsesc memorate variabilele programului:

Segment de date

Segment de stivă

13

Page 14: Modulul IVd

Heap

C.1. void arataLista (Lista* li, char mesaj[]) { Nod*p=li→prim; cout <<’\n’<<mesaj<<’\n’<<endl; if (p==null) cout << “Lista vida”<<endl; else for (; p!-null; p-p→next) afisNod(p); return; }2. if(vf < 0) // daca stiva este vida  cout<<"Stiva este vida,nu am putut extrage valoarea.\n"; else  e = S[vf--];

3. O variabilă se caracterizează prin 4 atribute. Acestea sunt:

Clasa de memorare

Vizibilitate

Durata de viaţă

Tipul variabilei.

Clasa de memorare precizează locul unde este memorată variabila respectivă. O variabilă poate fi memorată în segmentul de date, în cel de stivă, în heap sau într-un registru al microprocesorului.

Vizibilitatea precizeză liniile textului sursă din care variabila respectivă poate fi accesată. Există:

Vizibilitate la nivel de bloc (instrucţiune compusă). Vizibilitate la nivel de fişier – în cazul în care programul ocupă un

singur fişier sursă. Vizibilitate la nivel de clasă - în cazul programării pe obiecte.

Durata de viaţă reprezintă timpul în care variabila respectivă are alocat spaţiu în memoria internă. Există:

Durata statică – variabila are alocat spaţiu în tot timpul execuţiei programului.

Durata locală – variabila are alocat spaţiu în timpul în care se execută instrucţiunile blocului respectiv.

Durata dinamică – alocarea şi dezalocarea spaţiului necesar variabilei respective se face de către programator prin operatori sau funcţii speciale.

14

Page 15: Modulul IVd

6

5

4

3

21

Testul 4

Competenţe: Implementează structuri de date dinamice

Obiectivele evaluării:

- să identifice corect toate tipurile de grafuri şi arbori

- să recunoască toate elementele unui graf, arbore

- să cunoască toate modalităţile de parcurgere a grafurilor şi arborilor

Prezentarea testului: Testul poate fi utilizat în vederea evaluării obiectivelor

integratoare pentru tema Utilizarea grafurilor şi arborilor.

Tipul testului: probă scrisă

Durata evaluării: 50 minute

Enunţ:

1. Se dă graful:

Care dintre următoarele permutări ale mulţimii {1, 2, 3, 4, 5, 6} corespunde parcurgerii BF a grafului dat cu plecare din vârful 1?

a)1,2,3,4,5,6 b)1,2,3,4,6,5c)1,2,4,6,3,5 d)1,2,4,3,5,6

2. Considerăm un graf neorientat cu nodurile 1,2,3, 4, 5, 6 dat prin urmatoareamatrice de adiacenţă:

0 1 1 0 0 01 0 0 0 0 01 0 0 1 0 00 0 1 0 1 00 0 0 1 0 00 0 0 0 0 0

2.1. Stabiliţi dacă nodurile 2 şi 5a)sunt adiacenteb)sunt legate printr-un lanţc) sunt noduri izolated)nu aparţin aceleiaşi componente conexe

15

Page 16: Modulul IVd

2.2. Care este numărul minim de muchii care trebuie adăugate pentru a obţine un ciclu de lungime 6?a) 1 b) 2 c) 3 d) 02.3. Care este numărul minim de muchii care trebuie adăugate pentru a obţine un graf eulerian?a) 1 b) 2 c) 0 d) 3

3. Fie arborele binar dat prin vectorii st şi dr astfel:st: 0 3 1 10 6 0 8 11 0 0 0 0dr: 0 5 4 0 7 0 9 12 0 0 0 0Numărul de noduri cu un singur descendent direct este: a) 1 b) 3 c) 0 d) 6

4. Un arbore este:a.un graf neorientat fără cicluri;b.un graf neorientat conex;c.un graf neorientat conex şi fără cicluri;d.un graf orientat, tare conex şi fără cicluri

5. Fie urmatoarea reprezentare grafică pentru un graf neorientat G=(X,U):

5.1.Mulţimile X şi U sunt:a) X={1,2,3,4,5}, U={(1,3),(1,6),(6,5),(2,4),(2,7),(4,7)}b) X= {1,2,3,4,5,6,7}, U={(1,3),(1,6),(6,5),(5,2),(2,4),(3,4),(4,7)(1,7),(6,7)}c) X={1,2,3,4,5,6,7}, U={(1,3),(1,6),(6,5),(6,4),(2,7),(4,7)}d) X={1,2,3,4,5,6,7}, U={(1,3),(1,6),(6,5),(2,1),(2,7),(4,7)}

5.2.Stabiliţi valoarea de adevăr a fiecareia dintre propoziţii: 1) Nodurile 1 şi 5 sunt adiacente. 2) Nodul 6 are gradul 1. 3) G este un graf conex . 4) G este un graf complet

6. Care este suma gradelor vârfurilor unui graf neorientat cu n vârfuri şi m muchii ?a) 2m b) 2(m-1) c) 2n d) m

7. Câte noduri are un graf complet cu 15 muchii?a) 10 b) 6 c) 5 d) 12

8. Completaţi fiecare dreptunghi cu un termen aflat în dreptunghiurile colorate:

16

Page 17: Modulul IVd

9. Completaţi enunţurile următoare cu cuvintele sau expresiile potrivite: 1) Matricea………….corespunzătoare unui graf……….este simetrică. 2) Numărul nodurilor adiacente cu un nod x reprezintă ………. nodului x.

10. Pentru graful din desenul de mai jos să se scrie : a) matricea de adiacenţă , b) lista vecinilor ,

11. Să se adauge un număr minim de muchii grafului din desenul de mai jos astfel încât să devină conex.

Instrucţiuni pentru elevi

Orice eventual răspuns greşit se încercuieşte şi se taie cu un X şi se

înlocuieşte cu răspunsul considerat corect.

17

Page 18: Modulul IVd

Criteriile de evaluare şi notare

Se acordă 100 puncte din care 10 puncte din oficiu.

Barem de corectare şi notare1.c-5 puncte 6. a) - 10 puncte

2.1. 5 puncte a) Nu

b) Da

c) Da

d) Fals

7. b) - 10 puncte

2.2. b) - 5 puncte 8. 10 puncte

a) adiacente

b) terminal

c) gradul

d) izolat

e) incidente2.3. b) - 5 puncte 9. 6 puncte

1)Matricea de adiacenţă corespunzătoare unui graf neoreintat este simetrică.2)Numărul nodurilor adiacente cu un nod x reprezintă gradul nodului x

3. a) - 5 puncte 10. 8 punctea) 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0b)

Vârf Lista vecinilor

1 22 1,3,43 2,44 2,35 66 57 -

4. c) - 5 puncte 11. 6 puncteCa să devină conex, numărul minim

5.1. – b) - 5 puncte

18

Page 19: Modulul IVd

de noduri este 2. O muchie uneşte ori 8, ori 3 cu unul dintre nodurile 2,1,6,7,5 şi altă muchie uneşte pe 4 cu orice nod.

5.2. – 5 puncte

1) F

2) F

3) A

4) F

19

Page 20: Modulul IVd

Testul 5

Competenţe: Implementează structuri de date dinamice

Obiectivele evaluării:

Obiective:

- să implementeze şi să utilizeze listele liniare în rezolvarea problemelor

- să implementeze şi să utilizeze grafuri şi arbori în rezolvarea

problemelor

Prezentarea testului

Acest test poate fi utilizat în vederea evaluării rezultatelor învăţării pentru

tema: Structuri de date.

Tipul testului: probă practică

Durata evaluării

Timp de lucru: 90 minute

Enunţ:

Realizaţi un portofoliu care să conţină următoarele fişe de lucru, având ataşate pentru fiecare rezolvarea completă şi corectă.

Fişa 1:1. Fie arborele binar dat prin vectorii descendenţilor: st=(2,4,5,0,0,0,0) şi dr=(3,0,6,0,7,0,0).

a) determinaţi rădăcina arborelui b) reprezentaţi arborele prin vectorul taţilor c) parcurgeţi în inordine arborele d) parcurgeţi în postordine arborele e) parcurgeţi in preordine arborele

2. Încercuiţi răspunsul corect:

2.1Se consideră graful neorientat G=(V,E) unde |V|=9 şi E={(1,6), (1,2), (1,3), (2,6), (2,3), (3,4), (3,5), (3,8) }. Care este lungimea maximă a unui ciclu elementar dacă în graf se poate introduce o nouă muchie.

a. 5 b. 1 c. 4 d. 3

2.2 Se consideră un graf neorientat conex cu 7 noduri şi 8 muchii. Numărul minim de muchii ce pot fi eliminate astfel încât graful să fie conex aciclic este:

a. 4 b. 5 c. 2 d. 3 sau 4

20

Page 21: Modulul IVd

3 Se consideră graful neorientat având nodurile notate cu 1, 2, 3, 4, 5, corespunzător liniilor matricei de adiacenţă alăturate. Stabiliţi care dintre următoarele propoziţii este adevărată.

0 0 1 0 00 0 0 1 11 0 0 0 00 1 0 0 10 1 0 1 0

a. orice muchie s-ar elimina graful devine aciclic

b. graful este aciclic

c. orice nouă muchie s-ar adăuga graful devine conex

d. graful este conex

4 Se foloseşte o metodă de generare a numerelor de exact 4 cifre pare nenule care au prima cifră şi ultima cifră egale astfel încât ele se obţin în ordinea: 2222, 4224, 6226, 8228, 2242, 4244, 6246 etc. Dacă se foloseşte exact aceeaşi metodă pentru a genera numerele formate din exact 3 cifre impare care au prima şi ultima cifră egale stabiliţi care va fi cel de-al zecelea număr generat:

a. 393 b. 939 c. 515 d. 373

5 Identificaţi care din secvenţele următoare reprezintă şirul gradelor nodurilor unui graf complet:

a) 1 2 3 4 b) 5 5 5 5 5 c) 1 2 1 2 1 2 d) 4 4 4 4 4

6 . Se consideră graful neorientat G=(V,U), unde V=6 şi U={(1,6), (2,3), (2,5), (3,4), (4,6), (4,5)}. Identificaţi care este numărul minim de muchii care trebuie adăugate pentru ca graful să devină regulat:

a) 2 b) 1 c) 4 d) 3

7. Asociaţi fiecărui element din coloana A proprietatea corespunzătoare din coloana B:

Coloana A Coloana B1 nod izolat 1 Numărul muchiilor incidente unui nod2 adiacenţă 2 este incident cu o singură muchie3 incidenţă 3 se obţine prin eliminarea unor muchii4 grad 4 nu există muchii incidente cu el5 lanţ 5 se obţine prin eliminarea tuturor nodurilor6 subgraf 6 nodul extrem şi muchia corespunzătoare7 nod terminal 7 succesiune de noduri consecutive adiacente8 graf parţial 8 există muchie între două noduri

9 se obţine prin eliminarea unor noduri şi a muchiilor adiacente

8. Fie următoarea secvenţă de citire a unui graf:cin>>n>>m;for( k=1;k<=m;k++){cin>>i>>j;a[i][j]=1;a[j][i]=1;}

a) Modificaţi secvenţa pentru realizarea citirii din fişierul ‘in_graf.txt’ , unde pe prima linie se află numărul de noduri respectiv de muchii, iar pe

21

Page 22: Modulul IVd

4 51 2 3

4 5 61 2 3

următoarele linii perechi de valori întregi reprezentând muchiile grafului.

b) Scrieţi o secvenţă de program care va permite crearea unui graf complet cu n noduri.

Fişa 2:

1. Fie prim un pointer către primul nod al următoarei liste .

primSelectaţi opţiunea care corespunde conţinutului listei prin parcurgerea acesteia de la primul nod prim spre capătul listei, în urma apelului funcţiei ce().

void ce(){nod *p=prim;while(p->urm->n<4) p=p->urm;nod *q=new nod;q->n=10;q->urm=p->urm;p->urm=q;}

a) (1,2,10,3,4,5) b) (1,2,3,4,10,5) c) (1,2,3,10,4,5) d) (1,2,3,4,5,10)

2. Fie prim1, respectiv prim2 doi pointeri către primele noduri ale următoarelor liste de tip coadă: (1,3,7,2) şi (7,3,1,2,1,3,2,3) definite ca mai sus. Ce afişează următoarea secvenţă? void listare(nod* prim) {nod*p=prim1; while(p) { int a=0; nod*q=prim2; while(q) { if (q->info==p->info) a++; q=q->urm; } cout<<a<<” “; p=p->urm; } }

a) 1 2 1 2 b) 2 3 1 2 c) 2 2 3 1 d) 1 2 1 3

3. Fie prim un pointer către primul nod al următoarei liste .

prim Ce valoare va avea variabila s în urma execuţiei secvenţei următoare?

nod* p=prim;

22

Page 23: Modulul IVd

3

4

5

1

2

6

1 2 543 6 7

while(p->urm) { if(p->urm->urm->n%3==0){nod *q=p->urm;

p->urm=q->urm; delete q; }

p=p->urm; } int s=1;p=prim; while(p){s*=p->n;p=p->urm;}

a) 720 b) 40 c) 72 d) 240

4. Fie prim un pointer către nodul cu informaţia 1 al următoarei liste circulare. Care vor fi nodurile rămase în listă în urma execuţiei funcţiei elimina()?

a) 1 şi 6 b) 1 şi 2 c) 2 şi 5 d) 3 şi 4

5. Se consideră următoarea listă dublu înlănţuită. Ce va afişa funcţia ce_face() ?

prim ultim

void ce_face(){ nod *p=prim,*q=ultim;int s=0; while(q->n-p->n>2) {p=p->urm;q=q->prec;} while(p->n!=q->n) {s+=p->n+q->n;p=p->urm;q=q->prec;} cout<<s;}

a) 16 b) 8 c) 24 d) 32

Instrucţiuni pentru elevi

void elimina(){ nod *p=prim; for(int i=1;i<=4;i++) { for(int j=1;j<=3;j++) p=p->urm; nod *r=p->urm;p->urm=r->urm;delete r; }}

23

Page 24: Modulul IVd

Rezolvaţi toate problemele din fişele de lucru, apoi le reuniţi într-un portofoliu,

care va fi predat profesorului.

Criteriile de evaluare şi notare Se acordă 100 puncte din care 10 punct din oficiu şi Fişa 1 - 50 puncteFişa 2 - 40 puncte

Barem de corectare şi notare

Fişa 1

1. a) Răd. = 1

b) Tata = (0,1,1,2,3,3,5)

c) 4,2,1,5,7,3,6

d) 4,2,7,5,6,3,1

e) 1,2,4,3,5,7,6

2. 1.-a, 2.-c

3. a) F, b) F, c) A, d) F

4. b)-939

5. d)

6. d)

7.

Coloana A Coloana B1 42 83 64 15 76 97 28 3

8. a) fstream f(“in-graf.txt”, ios::in); f>>n>>m; while {f>>i>>j;) a[i][j]=1; a[j][i]=1; } fclose();

b)cin>>n; for (i=1;i<n;i++) for (j=i+1, j<=n;j++) {a[i][j]=1; a[j][i]=1; }

Fişa 2

1. c)

24

Page 25: Modulul IVd

2. b)

3. c)

4. a)

5. b)

Instrucţiuni pentru evaluatori

Răspunsurile aşteptate sunt termeni consacraţi astfel încât orice alt răspuns

este incorect.

25

Page 26: Modulul IVd

Testul 6

Competenţe: Implementează structuri de date dinamice

Obiectivele evaluării:

Obiective:

- să utilizeze grafurile în rezolvarea problemelor

- să implementeze şi să utilizeze arborii

Prezentarea testului

Acest test poate fi utilizat la sfârşitul unui grup de lecţii în vederea evaluării

obiectivelor integratoare pentru tema: Grafuri. Arbori

Tipul testului: probă scrisă

Durata evaluării

Timp de lucru: 50 minute

Enunţ:

Nr.item

Cerinţe (itemi) Barem de

Notare (pct)

Numărul 1 Numărul 2Fie graful din figură:

1. Construiţi:a) matricea de adiacenţăb) matricea de incidenţăc) matricea drumurilor

a) 0.5b) 0.5c) 0.5

2. Precizaţi care sunt:a) gradele interioare ale vârfurilor 5 şi 3b) gradele exterioare ale vârfurilor 5 şi 2c) mulţimea succesorilor vârfului 1d) mulţimea predecesorilor vârfului 2

a) 0.5b) 0.5c) 0.5d) 0.5

5

2

34

6

1

6

2

5

4

4

1

26

Page 27: Modulul IVd

3. Pentru graful din figura de mai sus precizaţi (dacă există):a) un ciclub) un drum ne-elementarc) un drum elementard) un circuit ne-elementare) un circuit elementar

a) 0.5b) 0.5c) 0.5d) 0.5e) 0.5

4. Se consideră un graf orientat cu 6 noduri etichetate cu 1,2,3,4,5,6 şi cu arcele date de funcţiaArc (i,j)= există , dacă ((i+j)%6)%2=0 şi i<j nu există, în caz contrar4.1 Câte circuite elementare conţine graful?4.2 Care este lungimea celui mai lung drum din graf?

0.5

5. Reţeaua străzilor auto din Bucureşti se reprezintă corect cu ajutorul structurii de date:a) graf neorientat; b) arbore; c) listă liniară; d) graf orientat

0.5

6. Fie G un graf neorientat, cu n vârfuri şi m muchii, reprezentat prin matricea de adiacenţă. Să se realizeze următoarele subprograme care:a) verifică dacă graful are toate vârfurile interioare (nu sunt nici terminale nici izolate);b) afişează vecinii unui nod dat.

1

7. Definiţi noţiunile de graf hamiltonian şi graf eulerian. Enunţaţi teorema lui Euler de caracterizare a grafurilor euleriene.

0.5

8. Un graf neorientat are 80 de vârfuri şi 80 de muchii. Numărul de noduri izolate este cel mult :a)67 ; b) 10 ; c) 90 ; d)66

1

9. Fie G un graf orientat cu n noduri numerotate 1,2,…,n, dat prin matricea de incidenţă 1 0 0 -1 1 a) Câte circuite elementare conţine graful? -1 1 0 0 0 b) Câte drumuri elementare de lungime 3 există? 0 -1 -1 1 0 0 0 1 0 -1

0.5

10. Se consideră graful neorientat G=(V,E) unde |V|=9 şi E={(1,6), (1,2), (1,3), (2,6), (2,3), (3,4), (3,5), (3,8) }.Care este lungimea maximă a unui ciclu elementar dacă în graf se poate introduce o nouă muchie.a) 5; b) 1; c) 4; d) 3.

1

11. Desenaţi şi parcurgeţi arborele binar ordonat ce se formează prin adăugarea umătoarelor valori în ordinea specificată: 12 8 10 6 7 11 4 9 20 16 24 14 15 4

2

12. Se consideră un arbore binar cu 8 noduri. Dacă parcurgerea în inordine a arborelui este 7,4,2,1,3,5,6,8 iar parcurgerea în preordine este 1,2,4,7,3,5,6,8 atunci parcurgerea în postordine este:a. 7,4,2,1,3,5,6,8 b. 1,2,3,4,5,6,7,8 c. 7,4,2,8,6,5,3,1 d. 8,6,5,3,2,4,7,1

1

27

Page 28: Modulul IVd

13. Fie arborele binar dat prin vectorii descendenţilor: st=(0,1,4,0,3,0,0) şi dr=(0,7,6,0,2,0,0).a) reprezentaţi grafic arborele b) determinaţi rădăcina arborelui c) reprezentaţi arborele prin vectorul taţilor )d) parcurgeţi în inordine arborele e) parcurgeţi în postordine arborele f) parcurgeţi in preordine arborele

a) 1 b) 1

c) 1d) 1e) 1f) 1

Instrucţiuni pentru elevi

Nu contează ordinea de rezolvare. Toate subiectele sunt obligatorii.

Criteriile de evaluare şi notare: se acordă 1 punct din oficiu

Barem de corectare şi notare

1. a) 0 0 1 0 0 0

1 0 0 0 0 0

0 1 0 0 0 0

0 0 1 0 1 0

1 1 0 1 0 0

0 0 0 1 1 0

b) Fie notaţiile următoarelor arce

u1=(1,3), u2=(2,1), u3=(3,2), u4=(4,3), u5=(4,5), u6=(5,1), u7=(5,2), u8=(5,4),

u9=(6,4), u10=(6,5)

Matricea de incidenţă va fi:

B= u1 u2 u3 u4 u5 u6 u7 u8 u9 u10

1 -1 0 0 0 -1 0 0 0 0

0 1 -1 0 0 0 -1 0 0 0

-1 0 1 -1 0 0 0 0 0 0

0 0 0 1 1 0 0 -1 -1 0

0 0 0 0 -1 1 1 1 0 -1

0 0 0 0 0 0 0 0 1 1

c) Matricea drumurilor

U = 1 1 1 0 0 0

1 1 1 0 0 0

1 1 1 0 0 0

1 1 1 1 1 0

1 1 1 1 1 0

28

Page 29: Modulul IVd

1 1 1 1 1 0

2. a) d-(5)=2 d-(3)=2

b) d+(5)=3 d+(2)=1

c) Γ+(1)={3}

d) Γ-(2)={5,3}

3. a) (2,1,3,2) sau (4,5,4)

b) (6,5,4,5,1,3,2,1)

c) (6,5,4,3,2,1)

d) (4,5,4)

e) (1,3,2,1)

4. 4.1. – nici unul

4.2. – 2

5. a)

6. Verifică în matricea de adiacenţă

a) Suma elementelor de pe fiecare linie este mai mare decât 1

b) Pentru fiecare vârf i afişează toate vârfurile j pentru care a[i][j] = 1

7. Într-un graf G=(X,U) se numeşte ciclu hamiltonian un ciclu elementar care

conţine toate vârfurile grafului.

Fie un graf G=(X,U). Se numeşte ciclu eulerian un ciclu care conţine toate

muchiile grafului. Un graf care conţine un ciclu eulerian se numeşte graf

eulerian.

8. d)

9. a) 2 - (1,4,3,1) şi (1,2,3,1)

b)

1- (4,3,2,1)

10. a)

11. Preordine 12,8,6,9,20,7,16,24,10,11,14,15,4,4

Inordine 9,6,20,8,16,7,24,12,14,11,15,10,4,4

Postordine 9,20,6,16,24,7,8,14,15,11,4,4,10,12

12. c)

13. b) răd=5

c) tata (2,5,5,3,0,3,2)

d) inordine 1,2,7,5,4,3,6

postordine 1,7,2,4,6,3,5

29

Page 30: Modulul IVd

preordine 5,2,1,7,3,4,6

Instrucţiuni pentru evaluatori

Pentru fiecare răspuns corect, indiferent de formulare sau formatul de scriere

(text, grafic, schemă logică etc.) se va acorda punctajul prevăzut.

30

Page 31: Modulul IVd

1 2

4 3

5 6

7

Testul sumativ 1

Competenţe:

a. Lucrează cu subprograme

b. Implementează structuri de date dinamice

c. Utilizează colecţii de date şi elemente predefinite din bibliotecile limbajului.

Tipul testului: probă scrisă

Durata evaluării

Timp de lucru: 100 minute

Enunţ:

I. Identificaţi elementele marcate în programul de mai jos.#include<stdio.h>#include<conio.h>void mesaj();void main(){clrscr();mesaj();getche();}void mesaj(){printf("\nEste o functie procedurala.");printf("\nNu intoarce nici un rezultat."); printf("\nAfiseaza un mesaj.");}

II. Fie graful din figură:

a) Scrieţi matricea de adiacenţă a grafului G. b) Folosind informaţiile din matricea de adiacenţă,determinaţi:

i. nodurile adiacente nodului 5, ii. succesorii şi predecesorii nodului 4

31

Page 32: Modulul IVd

iii. nodurile terminale,iv. nodurile izolate.

III.Fiind dat arborele sub forma SD (liste de descendenţi) efectuaţi:

1 2 3 4 5 6 7 8S 0 0 2 5 1 0 0 0D 6 7 8 3 0 0 0 0

a. Transcrieţi-l sub forma TF(vector de taţi).

1 2 3 4 5 6 7 8TF

b. Parcurgeţi-l :Preordine………………………………………….Inordine…………………………………………...Postordine………………………………………...

IV.Fie dată urmatoarea listă simplu înlănţuită:

Scrieți un subprogram care realizează introducerea nodul cu informaţia 100 după primul nod cu informaţie număr par din lista dată (grafic, punând în evidenţă formarea noilor legături şi ordinea lor de formare; scrieţi apoi subprogramul adecvat).

V. Scrieţi o funcţie care, pentru un graf orientat cu n (n număr natural, n<100) noduri, dat prin matricea de adiacenţă, returnează gradul interior al unui nod x, dat ca şi parametru.

VI. Scrieţi un subprogram care şterge toate elementele unei liste circulare. Subprogramul primeşte drept parametru un pointer la unul din nodurile listei.

Criteriile de evaluare şi notare

Se acordă 1 punct din oficiu. Subiectul I: 1,5 puncteSubiectul II: 2 puncteSubiectul III: 2,5 puncteSubiectul IV: 1 punctSubiectul V: 1 punctSubiectul VI: 1 punct

Barem de corectare şi notare

Subiectul I: 1,5 puncte , câte 0,5 pentru fiecare răspuns corect

#include<stdio.h>#include<conio.h>void mesaj();

13 8 11 9

prototip

32

Page 33: Modulul IVd

void main(){clrscr();mesaj();getche();}void mesaj(){printf("\nEste o functie procedurala.");printf("\nNu intoarce nici un rezultat."); printf("\nAfiseaza un mesaj.");}

Subiectul II – 2 punctea) Matricea de adiacenţă – 1 punct

M = 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

b) 1 punct, câte 0,25 pentru fiecare răspuns corect:i. nodurile adiacente nodului 5: {2,6}ii. succesorii și predecesorii nodului 4: Γ+(4)=0, Γ-(4)={1}iii. nodurile terminale, {4,6}iv. noduri izolate {3,7}

Subiectul III – 2, 5 punctea) 1 punct

T (5,3,4,0,4,1,2,3) F (-1,-1,1,0,-1,1,1,1)b) 1, 5 puncte, câte 0,5 puncte pentru fiecare parcurgere Preordine 4,5,1,6,3,2,7,8 Inordine 1,6,5,4,2,7,3,8 Postordine 6,1,5,7,2,8,3,4 Subiectul IV – 1 punct

void adaugare (Nod * prim, Nod * Ultim, intrval, intrval1){ Nod * c = prim, *d;whilw (c - > info %2==1)c=c - > adr_urm;d= new Nod;d - > info = 100;d - > adr_urm=c - > adr_urm;c - > adr_urm=d;}

Observaţie: struct Nod

Program principal

Apelul

Antetul funcţiei

afişează

Definiţiafuncţiei

33

Page 34: Modulul IVd

{ int info; Nod – adr_urm;};

Subiectul V – 1 punctvoid interior (int n; int x, int a[50][50]) { int i, gr; for (i=1; i<=n;i++) gr= gr+a[i,x]; return gr;}

Subiectul VI – 1 punctvoid sterg (Nod * prim) { Nod * c, d c=prim; while (c - > adr_urm!=prim) { d=c -> adr_urm c - > adr_urm=d_adr_urm delete d;} delete c; }

Instrucţiuni pentru evaluatori

Pentru fiecare răspuns corect, indiferent de formulare sau formatul de scriere (text,

grafic, schemă logică etc.) se va acorda punctajul prevăzut.

34

Page 35: Modulul IVd

Testul sumativ 2

Competenţe:

a. Lucrează cu subprograme

b. Implementează structuri de date dinamice

c. Utilizează colecţii de date şi elemente predefinite din bibliotecile limbajului.

Tipul testului: probă scrisă şi practică

Durata evaluării: 50 minute

Condiţiile în care se recomandă a fi realizată evaluarea

Testul va avea loc în laboratorul de informatică, fiecare elev va primi o foaie cu cerinţele

testului şi va rezolva individual subiectele.

Enunţ:

1.Care din următoarele operaţii nu se poate efectua într-un fişier text?a) deschiderea pentru adăugareb) deschiderea pentru modificare la mijlocul fişieruluic) testarea sfârşitului de linie pe ultima linie din fişierd) testarea sfârşitului de fişier.

2. Fie secvența:

FILE *f = fopen (“a.txt”, “w”); Int n; cin>>n; While (n) { if (feof (f)) fprint (f, ”%d”,n); cin >>n;}fclose(f);

Selectați elementul din listă care corespunde prelucrării realizate de secvența de mai sus: a) scrie un număr în fişierb) scrie în fişier numerele introduse până la 0c) afişează numerele nenule din fişierd) verifică dacă un număr se găseşte în fişier.

3. Cum se va modifica valoarea variabilei nume în urma apelului funcţiei modif(nume, ‘m’), ştiind că înainte de apel variabilei i s-a atribuit cuvâtul “informatica”?

void modif(char *s, char c)

35

Page 36: Modulul IVd

{ while (*s && *s!=c) { *s-=32; s++; }}

a)”INFORMATICA”b)”INFORmatica”c)”informatica”d)”matica”

4. Parametrii utilizți în definiţia unui subprogram se numesc:a) globalib) formalic) localid) actuali

5.Fie prim şi ultim doi pointeri către primul, respectiv ultimul nod al unei liste simplu înlănţiute de tip coadă cu informaţii numere întregi. Care dintre secvenţele de mai jos adaugă listei un nou element cu informaţia 10, ştiind că lista este nevidă?

1. nod *p=new nod; p - >n=10; p - >urm=ultim; ultim - > urm=NULL;

2. nod *ultim=new nod; ultim - > n=10;

3. nod *p = ultim; ultim = new nod; ultim - > n=10; ultim - >urm= NULL; p - >urm=ultim;

4. nod *p=new nod; p - >n=10; p - >urm=NULL; ultim - >urm=p; ultim=p;

a)1 şi 3; b) 1 şi 2; c) 2 şi 4; d) 1,2,3 şi 4

6. Câte grafuri neorientate cu 9 noduri admit următorul şir de garde : 1,2,3,4,5,6,7,7,8?

a) 1 graf

b) nu există nici un graf

c) 2 grafuri

d) 9! Grafuri

7. Se consideră un graf orientat cu 4 noduri numerotate cu 1,2,3,4 şi cu gradele :

d+(1)=1, d+(2)=1, d+(3)=2, d+(4)=1, d-(1)=2, d-(2)=1, d-(3)=1, d-(4)=1.

7.1.Câte astfel de grafuri există?

a) 3 ; b)1 ; c)0 ; d)2

36

Page 37: Modulul IVd

7.2.Câte circuite elementare conţine graful?

a) 1; b) minim 2; c) 0; d) 2.

8. În orice arbore binar nevid cu f frunze, numărul de noduri ce au 2 fii este:

a) f-1; b) f; c) 2f; d)nu depinde de numărul de frunze

9. Un arbore are 19 noduri, fiecare nod intern având el puţin 3 fii. Înălţimea maximă a

arborelui este:

a) 4; b)5; c)6; d) 7.

Instrucţiuni pentru elevi

Toate întrebările şi problemele sunt obligatorii.

Criteriile de evaluare şi notare

Se acordă 10 puncte din oficiu.

Barem de corectare si notare

Subiect Răspuns Punctaj

Observaţii

1) b) 102) b) 103) c) - până la caracterul m toate minusculele

sunt transformate în majuscule10

4) b) 105) c) 106) b) – suma gradelor trebuie să fie un număr

par(2m)10

7) 7.1) a) 5

7.2.) d) 58) a)Considerăm f numărul de frunze, n1

numărul nodurilor ce au un singur fiu şi n2

numărul nodurilor ce au doi fii. Ordinul grafului este atunci n= n1+ n2+f. Numărul de muchii este n-1 şi poate fi exprimat sub forma n1+ 2n2. Egalând cele două relaţii obţinem n-1= n1+ 2n2 şi deci n1+ n2+f-1= n1+ 2n2, de unde plin simplificare avem n2=f-

10

37

Page 38: Modulul IVd

1.9) c) - Pentru a obţine înălţimea maximă

construim arborele în care un singur nod de pe fiecare nivel (cu excepţia nivelului maxim) are 3 fii. Se obţine astfel un arbore cu înălţimea 6

10

Oficiu 10Total 100

puncteInstrucţiuni pentru evaluatori

Pentru fiecare răspuns corect, indiferent de formulare sau formatul de scriere (text,

grafic, schemă logică etc.) se va acorda punctajul prevăzut.

38

Page 39: Modulul IVd

Bibliografie

Programarea modulară

1.Standardul de Pregătire Profesională pentru calificarea Analist

programator www.tvet.ro

2.Curriculum pentru calificarea Analist programator, www.tvet.ro

Alte materiale documentare care pot fi utilizate:

3.Materiale de învăţare şi Materiale de predare, documente realizate în cadrul

proiectului Învăţământul profesional şi tehnic în domeniul TIC, proiect cofinanţat din

Fondul Social European în cadrul POS DRU 2007-2013

39