Sunteți pe pagina 1din 2

Nume....................................... Clasa......................... Data...................

Test

1. Definiți noțiunea de stream. (1p)

2. Care este principalul avantaj pe care îl aduce stream-ul ?Justificați răspunsul. (1p)

3. Fişierul text NUMERE.IN conţine pe prima linie un număr natural nenul n (1≤n≤1000000) şi pe
următoarea linie n numere reale pozitive ordonate crescător, separate prin câte un spaţiu. Scrieţi un
program C/C++ care citeşte din fişierul NUMERE.IN numărul natural n, şi determină, utilizând un
algoritm eficient din punct de vedere al timpului de executare şi al memoriei utilizate, numărul de valori
reale distincte de pe linia a doua din fişier. (3p)
Exemplu: dacă fişierul NUMERE.IN are conţinutul:
6
2.3 2.3 2.8 5.7 5.7 6.3
atunci se afişează valoarea 4 (sunt 4 valori distincte: 2.3, 2.8, 5.7, 6.3).

4. Pe prima linie a fişierului numere.txt se află două numere naturale n şi m (având cel mult 4 cifre
fiecare, m≤n), despărţite printr-un spaţiu, iar pe următoarea linie, în ordine strict crescătoare, n numere
naturale cu cel mult două cifre, despărţite prin câte un spaţiu. Scrieţi în limbajul C/C++ un algoritm
eficient din punct de vedere al gestionării memoriei şi al timpului de executare, care citeşte din fişier
datele existente şi afişează cea mai mare sumă a m numere aflate pe a doua linie a fişierului. (3p)

5. Fişierul text numere.txt conţine pe prima linie un număr natural n (0<n<1000000), iar pe a doua linie
un şir de n numere naturale de o singură cifră, separate prin câte un spaţiu. Şirul conţine cel puţin o
valoare pară şi una impară. Scrieţi un program C/C++ care determină în mod eficient, din punct de vedere
al timpului de executare, cea mai mare cifră pară şi cea mai mică cifră impară dintre cele situate pe a doua
linie a fişierului. Cifrele determinate vor fi afişate pe ecran, pe o singură linie, separate printr-un spaţiu.
Exemplu: dacă fişierul numere.txt are următorul conţinut: (3p)
7
3521631
atunci pe ecran se vor afişa valorile: 6 1.

Obs. Alegeți două dintre problemele de la punctele 3, 4, 5. Se acordă 2 puncte din oficiu.
Nume....................................... Clasa......................... Data...................

BAREM

Probleme, itemi Punctaj Observații


1. 0,5p Un stream (flux) este o abstracţiune, care reprezintă un
dispozitiv pe care operaţiunile de intrare (input) şi ieşire
(ouput) sunt efectuate. Un stream poate fi practic
reprezentat ca o sursă/destinaţie de la care se
primesc/trimit caractere (date).
0,5p Stream-urile sunt asociate cu o sursă/destinaţie fizică
cum ar fi: tastatura, consola, fişier …

2. 1p Avantajul acestei aproximări este că, pentru


programator, toate perifericele apar ca fiind la fel.
Este mult mai ușor să învățăm să lucrăm cu un periferic
nou.
3. declarații, deschidere fișier 0,5p
Citire corectă date fără vectori 0,5p
Algoritm ce determină corect 1,5p Se folosesc 2 variabile ce memorează 2 valori
nr. de elem. distincte consecutive...
Corectitudine sintactică 0,5p
4. declarații, deschidere fișier 0,5p
Citire corectă date fără vectori 0,5p
Algoritm ce determină corect 1,5p Suma ultimelor m numere
suma
Corectitudine sintactică 0,5p
5. declarații, deschidere fișier 0,5p
Citire corectă date cu 1p
incrementare in vector
Determinare maxim 0,5p
Determinare minim 0,5p
Corectitudine sintactică 0,5p

S-ar putea să vă placă și