evaluarea sumativÃ
TRANSCRIPT
EVALUAREA SUMATIVĂCompetenţe
generale
Competenţe specifice Competenţe de evaluat
C2. Implementarea algoritmilor într-un limbaj de programare
C2.1.Utilizarea corectă a subprogramelor predefinite şi a subprogramelor definite de utilizator
Ce1. Elevul trebuie să fie capabil să aleagă subprogramul predefinit necesar în rezolvarea unei problemeCe2 Elevul trebuie să fie capabil să diferenţieze parametrii unui subprogram în funcţie de tipul acestora
C2.2. Construirea unor subprograme pentru rezolvarea subproblemelor unei probleme
Ce3 Elevul trebuie să fie capabil să împartă problema în subprobleme
C2.3. Aplicarea mecanismului recursivităţii prin crearea unor subprograme recursive
Ce4 Elevul trebuie să fie capabil să aplice mecanismul recursivităţii la un subprogram datCe5 Elevul trebuie să fie capabil să construiască un subprogram recursiv
C2.4. Compararea dintre implementarea recursivă şi cea iterativă a aceluiaşi algoritm
Ce6 Elevul trebuie să fie capabil să enumere avantajele sau dezavantajele implementării recursive în raport cu implementarea iterativă
Matricea de specificaţie pentru testul de evaluare Nivele taxono- miceConţinuturi
CunoaştereCe2
ÎnţelegereCe2, Ce4
AplicareCe1, Ce3
AnalizăCe4, Ce5
SintezăCe6
Total
Subprograme predefinite
10(1) 10(1)
Declarare, apel
10(1) 10(1)
Transfer parametri
10(1) 10(1) 20(2)
Returnarea valorii unui subprogram
20 (2) 20(2)
Variabile locale şi globale
10(1) 10(1)
Împărţirea problemei în subprobleme
10(1) 10(1) 20(2)
Subprograme recursive
10(1) 10(1)
Total 20(2) 30(3) 20(2) 20(2) 10(1) 100
Test de evaluare pentru clasa a-X-a,an şcolar 2008-2009
Toate subiectele sunt obligatorii. Se acordă 1 punct din oficiu. Timpul efectiv de lucru este de 1oră.Încercuiţi litera corespunzătoare răspunsului corect sau completaţi răspunsul în spaţiul corespunzător;
1. Se consideră programul C++ alăturat:
int a,b;void f(int x, int &y) {y=x+y;}void main(){int n=7, m=3; f(m,n); cout<<n;}
1.1. Variabilele globale existente în program sunt: (5p.)
a) a,b,m,n b) a,b c) a,b,x,z,m,n d) m,n
1.2. Care este valoarea de adevăr a următoarei propoziţii: (5p.)
„Funcţia f returnează o valoare prin intermediul
parametrului y”
Completaţi răspunsul pentru fiecare dintre cerinţele următoare în spaţiile corespunzătoare.
2. In secvenţa alăturată, variabila a memorează un şir cu cel mult 100 de caractere, iar variabila i este de tip întreg. Completaţi punctele de suspensie din secvenţă astfel încât aceasta să afişeze şirul de caractere #a##u#a#o#
(10p.)
strcpy(a,”calculator”);for(i=0;i<strlen(a);i++) if(...) cout<<...; else cout<<...;
Scrieţi răspunsul pentru fiecare dintre cerinţele următoare în spaţiul corespunzător.
3. Subprogramul max, care are antetul alăturat, returnează prin parametrul c cea mai mare dintre valorile parametrilor a şi b. De exemplu după apelul max(5,8,x) x va avea valoarea 8..
void max(int a, int b, int &c)
a. Stabiliţi valoarea parametrului q după apelurile max(51,12,q); max(q,6,q);(5p.)
b. Precizaţi valoarea de adevăr (A sau F) pentru următoarea afirmaţie: „b este un parametru transmis prin valoare”
(5p.)c Precizaţi (prin DA sau NU) dacă apelul următor este corect: max(2,7,9); (5p.)
Rezolvaţi practic, pe calculator, următoarele cerinţe.4. a) Scrieţi definiţia completă a unui subprogram recursiv nz cu un parametru întreg n
(0<n£30000) care returnează numărul zerourilor aflate la sfârşitul numărului n. (10p.)b)Scrieţi doar antetul unui subprogram citire cu 2 parametri n şi k care citeşte două numere întregi, cu maximum 4 cifre fiecare şi returnează numerele citite prin intermediul celor 2 parametri (5p.)c) Scrieţi programul principal care, folosind apeluri utile ale celor 2 subprograme, citeşte, de la tastatură, două numere naturale n şi k (n£30000, k£4) şi apoi n numere întregi, cu maximum 4 cifre fiecare. Programul determină câte dintre cele n numere întregi se divid cu 10k. Se va folosi un algoritm eficient din punct de vedere al spaţiului de memorie utilizat.
(15p.)d) Descrieţi în limbaj natural algoritmul utilizat şi precizaţi în ce constă eficienţa lui (5p.)
TEST EVALUARE SUMATIVĂ
BAREM DE CORECTARE ŞI DE NOTARE Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin
barem. Se vor puncta orice alte formulări şi modalităţi de rezolvare corectă a
cerinţelor, în acord cu ideile precizate în barem.SUBIECTUL 1
TOTAL: 10p.1.1. b 5p
5p
Pentru orice alt răspuns (chiar dacă acesta include şi litera corectă) se acordă 0 puncte1.2. A
SUBIECTUL 2 TOTAL: 10p.
-verificarea dacă a[i] este vocală (sau consoană)-afişarea caracterului a[i] (dacă verificarea a fost pt. vocale), respectiv afişarea caracterului # (dacă verificarea a fost pt. consoane)-afişarea caracterului # (dacă verificarea a fost pt. vocale), respectiv afişarea caracterului a[i] (dacă verificarea a fost pt. consoane)
5p.2,5p.
2,5p.
Pt. verificarea dacă un caracter este vocală pot fi folosite atât funcţii predefinite cât şi condiţii de verificare pt. fiecare vocală.
SUBIECTUL 3TOTAL: 15p.
a. 51 5p5p5p
Pentru orice alt răspuns se acordă 0 puncteb. A
c. NUSUBIECTUL 4 TOTAL: 55p.
a. -antet corect-returnare corectă a valorii-numărarea anumitor zerouri din număr-numărarea corectă a zerourilor de la sfârşitul numărului-condiţie corectă de oprire a recursivităţii-autoapel corect-corectitudine globală
1p.1p.1p.2p.
2p.2.p.1.p.2p.2p.1p.
1p.2p.2p.
2p.3p.2p.2p.1p.3p.2p.
* se consideră eficientă rezolvarea care presupune prelucrarea fiecărui număr imediat după citire, fără a memora toate cele n numere într-un tablou unidimensional.**se acordă punctajul pentru justificarea unor elemente de eficienţă chiar dacă nu s-a ales o rezolvare eficientă
b. -parametrii corecţi-returnarea corectă a rezultatului-corectitudine globală a antetului
c. Pentru program corect se acordă punctaj maxim- declarări corecte- apel corect şi util al subprogramului citire- apeluri corecte şi utile ale subprogramului nz- citiri corecte- determinarea tuturor valorilor cerute- afişarea rezultatului - eficienţa algoritmului*
- corectitudinea globală a rezolvăriid. -descrierea algoritmului
-justificarea eficienţei algoritmului**
Total test: 9 puncteSe acordă 1 punct din oficiu.