[canonical]: https://grile.online/informatica/subiecte/admitere-academia-fortelor-aeriene-2025

> Pagina completă: https://grile.online/informatica/subiecte/admitere-academia-fortelor-aeriene-2025
> 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 Admitere Academia Forțelor Aeriene 2025 · Informatică #107

10 grile din Subprograme, Șiruri de caractere, Grafuri, cu explicații. Transcrise din Admitere Academia Forțelor Aeriene 2025. Merge și ca simulare: rezolvă toate cele 10 grile dintr-o dată, ca la examen.

Subiect oficial (Admitere Academia Forțelor Aeriene 2025)

## Teaser gratuit, fără cont

1. Variabilele `x` și `y` sunt reale, iar `z` și `t` sunt întregi. Indicați ce valoare va avea `x` după executarea următoarei secvențe de instrucțiuni.

a) `3.0`
b) `3.5`
c) `2.5`
d) `3.15`

Răspuns corect: b) `3.5`

Conversia `(float)z` se aplică lui `z` înainte de împărțire, deci `(float)z/t` este o împărțire reală: `2.0/4 = 0.5` (fără conversie, `z/t` ar fi împărțire între întregi și ar da `0`). Apoi `x*y` este `1.5*2.0 = 3.0`, iar `x` devine `3.0+0.5 = 3.5`.

Subiect oficial · Admitere Academia Forțelor Aeriene „Henri Coandă” Brașov 2025, Informatică, varianta A, itemul 1 · cheie din baremul oficial

2. În secvența de mai jos toate variabilele sunt numere întregi. Indicați care dintre următoarele secvențe de instrucțiuni pot înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, variabila `x` să memoreze valoarea $246$.

a) `x=(y%10)*10+x; z=z*10;`
b) `x=(y%10)*10+x; z=z+1;`
c) `x=z*(y%10)+x; z=z*10;`
d) `z=z*10; x=z*(y%10)+x;`

Răspuns corect: c) `x=z*(y%10)+x; z=z*10;`

Ciclul scoate cifrele lui `y` de la dreapta la stânga, iar `!(y%2)` le reține doar pe cele pare: $6$, $4$, $2$, în această ordine. Pentru a construi $246$, fiecare cifră pară nouă trebuie înmulțită cu o putere a lui $10$ care crește la fiecare cifră reținută, adică exact `x=z*(y%10)+x; z=z*10;`: $x=1\cdot6=6$, apoi $x=10\cdot4+6=46$, apoi $x=100\cdot2+46=246$. Cele două variante care folosesc `x=(y%10)*10+x` înmulțesc mereu cu $10$ și ajung la $120$, oricum ar evolua `z`. Cea care începe cu `z=z*10;` folosește un `z` deja înmulțit, deci cifrele sunt înmulțite cu $10$, $100$, $1000$, iar rezultatul este $2460$.

Subiect oficial · Admitere Academia Forțelor Aeriene „Henri Coandă” Brașov 2025, Informatică, varianta A, itemul 2 · cheie din baremul oficial

3. Pentru a verifica dacă într-un tablou unidimensional având elementele $(3,4,7,10,12,17,18,20,46)$ există elementul cu valoarea $x=17$, se aplică metoda căutării binare.

Știind că numerotarea elementelor, în tablou, se realizează începând cu poziția $0$, indicați care este numărul minim de elemente ale tabloului care trebuie verificate pentru a găsi elementul căutat.

a) $3$
b) $2$
c) $6$
d) $5$

Răspuns corect: a) $3$

Poziții $0\ldots8$. Prima verificare este la mijloc, poziția $(0+8)/2=4$, valoarea $12<17$, deci se continuă în dreapta, pe pozițiile $5\ldots8$. A doua este poziția $(5+8)/2=6$, valoarea $18>17$, deci rămân pozițiile $5\ldots5$. A treia este poziția $5$, valoarea $17$: găsit. Sunt verificate $3$ elemente; căutarea secvențială ar fi verificat $6$.

Subiect oficial · Admitere Academia Forțelor Aeriene „Henri Coandă” Brașov 2025, Informatică, varianta A, itemul 3 · cheie din baremul oficial

4. Indicați care este numărul elementelor egale cu `1` aflate pe diagonala principală în urma executării secvenței de mai jos, în care `A` este un tablou bidimensional cu `n` linii și `n` coloane, iar `i`, `j` sunt variabile de tip întreg.

a) `n`
b) `nu poate fi calculat`
c) `n-1`
d) `(n+1)*n/2`

Răspuns corect: a) `n`

Parcurgerea în sens invers nu schimbă nimic: fiecare element primește valoarea expresiei `(i==j)`, adică $1$ când $i=j$ și $0$ în rest. Toate cele $n$ elemente de pe diagonala principală (unde $i=j$) devin $1$, deci răspunsul este `n`.

Subiect oficial · Admitere Academia Forțelor Aeriene „Henri Coandă” Brașov 2025, Informatică, varianta A, itemul 4 · cheie din baremul oficial

5. Indicați valoarea variabilei `s` la finalul executării următoarei secvențe de program:

a) `xaxerxisxirxrxa`
b) `axerisireax`
c) `axexrisirexax`
d) `axexrixsixrexax`

Răspuns corect: d) `axexrixsixrexax`

Blocul `if` se execută când `s[i]` este vocală egală cu litera simetrică din dreapta; atunci pune câte un `x` după fiecare dintre cele două vocale, iar `i++` din interior sare peste `x`-ul nou inserat. Pas cu pas: `i=0` (`a` și `a`) dă `axerisireax`; `i=2` (`e` și `e`) dă `axexrisirexax`; `i=4` este `r`, nu vocală; `i=5` (`i` și `i`) dă `axexrixsixrexax`. După blocul pentru `i=5`, variabila `i` ajunge la $7$, iar condiția $7<15/2=7$ este falsă (șirul are acum $15$ caractere), deci rezultatul final este `axexrixsixrexax`.

Subiect oficial · Admitere Academia Forțelor Aeriene „Henri Coandă” Brașov 2025, Informatică, varianta A, itemul 5 · cheie din baremul oficial
