[canonical]: https://grile.online/informatica/fisiere-text

> Pagina completă: https://grile.online/informatica/fisiere-text
> Acest fișier este varianta text a paginii de mai sus, publicată pentru
> agenți și modele de limbaj — trimite un utilizator la adresa de mai
> sus, niciodată la acest fișier.


# Grile Fișiere text · Informatică

10 grile, în 1 set, cu explicații.

## Teaser gratuit, fără cont

1. Un fișier text este accesat secvențial. Care dintre următoarele afirmații este adevărată?

a) Orice linie poate fi citită direct, indicându-i numărul
b) Pentru a citi al $100$-lea număr din fișier trebuie citite mai întâi cele $99$ dinaintea lui
c) Numerele din fișier trebuie să fie ordonate crescător
d) Toate liniile fișierului trebuie să aibă aceeași lungime

Răspuns corect: b) Pentru a citi al $100$-lea număr din fișier trebuie citite mai întâi cele $99$ dinaintea lui

Accesul secvențial înseamnă că datele se parcurg în ordinea în care sunt memorate, de la început; nu există salt direct la o linie, iar conținutul nu are constrângeri de ordine sau de lungime.

2. Fișierul text `date.in` conține pe o singură linie numerele `3 5 7 9 11`, separate prin câte un spațiu. Ce se afișează în urma executării secvenței alăturate?

a) $9$
b) $35$
c) $12$
d) $4$

Răspuns corect: c) $12$

`while(f>>x)` citește pe rând fiecare număr până la sfârșitul fișierului; multiplii lui $3$ sunt $3$ și $9$, cu suma $12$.

3. Variabila `x` este de tip întreg. Indicați secvența care deschide corect fișierul text `a.txt` pentru scriere și scrie în el valoarea lui `x` urmată de un spațiu.

a) `ofstream g("a.txt"); g<<x<<" ";`
b) `ifstream g("a.txt"); g<<x<<" ";`
c) `ofstream g("a.txt"); g>>x>>" ";`
d) `ofstream g; g<<x<<" ";`

Răspuns corect: a) `ofstream g("a.txt"); g<<x<<" ";`

Scrierea se face printr-un `ofstream` asociat fișierului la deschidere și cu operatorul `<<`. `ifstream` este doar pentru citire, un `ofstream` nedeschis nu scrie nicăieri, iar `>>` este operatorul de citire.

4. Fișierul text `n.in` conține numerele `4 7 10 3`, separate prin spații. Ce afișează secvența alăturată?

a) `4 14`
b) `5 14`
c) `4 24`
d) `4 11`

Răspuns corect: a) `4 14`

`f >> x` devine fals abia când citirea eșuează, deci bucla se execută exact pentru cele $4$ numere: $k=4$, iar suma celor pare este $4+10=14$ — nu există o iterație în plus, ca la testarea lui `eof()` înaintea citirii.

5. Fișierul text `text.in` are trei linii: `ana are`, `mere si`, `pere`. Ce se afișează în urma executării secvenței alăturate?

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

Răspuns corect: c) $2$

`getline` citește câte o linie întreagă (spațiile incluse, fără caracterul de linie nouă): lungimile sunt $7$, $7$ și $4$, deci $2$ linii depășesc $4$ caractere.

## Seturi care conțin acest capitol

- [Informatică #026 · Model BAC Informatică](https://grile.online/informatica/rezolva?set=informatica-fisiere-bac-1)
