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

> Pagina completă: https://grile.online/informatica/subiecte/admitere-academia-fortelor-aeriene-2022
> 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 2022 · Informatică #110

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

Subiect oficial (Admitere Academia Forțelor Aeriene 2022)

## Teaser gratuit, fără cont

1. Indicați care dintre expresiile logice următoare, scrise în pseudocod, are valoarea `TRUE`, știind că variabilele întregi `x` și `y` au valorile $x=11$ și $y=20$.

a) `y mod 10 > x div 7`
b) `(x ≠ y) and (x > y)`
c) `not FALSE and (x div 10 < y)`
d) `not TRUE OR (x + y < 10)`

Răspuns corect: c) `not FALSE and (x div 10 < y)`

`y mod 10 > x div 7`: $20\bmod10=0$, iar $11\operatorname{div}7=1$, deci $0>1$ este fals. `(x ≠ y) and (x > y)`: $11>20$ este fals, deci conjuncția este falsă. `not FALSE and (x div 10 < y)`: `not FALSE` este `TRUE`, iar $11\operatorname{div}10=1<20$ este adevărat, deci expresia este `TRUE`. `not TRUE OR (x + y < 10)`: `not TRUE` este `FALSE`, iar $11+20<10$ este fals, deci expresia este falsă.

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

2. Secvența de program de mai jos determină în variabila `x` numărul tuturor elementelor ce memorează o valoare pozitivă de cel puțin trei cifre dintre cele $15$ elemente întregi ale tabloului unidimensional `v` (`v[1]` este primul element al tabloului unidimensional).

Indicați cu ce pot fi înlocuite punctele de suspensie, în ordinea în care apar.

a) `x` și `-1`
b) `v[i]` și `-i`
c) `v[i]` și `1`
d) `v[i]` și `-1`

Răspuns corect: d) `v[i]` și `-1`

Se pornește cu $x=15$ (toate elementele) și se scade $1$ pentru fiecare element care nu este un număr pozitiv de cel puțin trei cifre, adică pentru fiecare `v[i]` cu $v[i]\le99$ (inclusiv numerele negative). Așa se ajunge la $15-$ numărul elementelor $\le99$ = numărul elementelor $\ge100$. Aceasta înseamnă `if(99>=v[i]) x=-1+x;`. Cu `1` în loc de `-1`, $x$ ar crește; cu `x` sau cu `-i`, condiția nu mai privește valoarea elementului.

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

3. Se consideră secvența de program de mai jos în care `h`, `i`, `j` și `k` sunt variabile de tip întreg, iar `x` este un tablou bidimensional pătratic cu $n$ linii și $n$ coloane ($n=7$ și `x[1][1]` este primul element al tabloului bidimensional) și conține elementele:

$$\begin{matrix}1&4&3&2&1&0&1\\2&5&0&1&2&3&2\\3&6&1&8&7&4&3\\4&7&2&9&6&5&4\\5&8&3&4&5&6&5\\6&9&0&9&8&7&6\\7&8&9&0&9&8&7\end{matrix}$$

Indicați ce valori se vor afișa după executarea secvenței date.

a) `4 3 2 1 0 0 1 2 8`
b) `4 0 9 8 8 9 0 9 8`
c) `2 3 6 4 7 2 5 8 6`
d) `2 4 3 6 5 4 6 5 6`

Răspuns corect: a) `4 3 2 1 0 0 1 2 8`

Cu $n=7$, ciclul după `h` se execută pentru $h=1,2,3$. Pentru $h=1$: $k$ de la $2$ la $6$, linia $1$: `4 3 2 1 0`. Pentru $h=2$: $k$ de la $3$ la $5$, linia $2$: `0 1 2`. Pentru $h=3$: $k$ de la $4$ la $4$, linia $3$: `8`. Se afișează `4 3 2 1 0 0 1 2 8`.

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

4. Se consideră următorul subprogram. Știind că inițial `x` este $1234567$, indicați care este valoarea lui `x` după apelul `f(4,x);`.

a) `1357246`
b) `4567123`
c) `5671234`
d) `7531246`

Răspuns corect: c) `5671234`

Ciclul numără cifrele lui `n`: pentru $1234567$ sunt $7$, deci $y=10^7$, iar `x` se înmulțește cu $10$ doar la primele $k=4$ cifre: $x=10^4$. Apoi $y=y/x=10^3$. Atribuirea `n=n%y*x+n/y` devine $n=(n\bmod10^3)\cdot10^4+\lfloor n/10^3\rfloor=567\cdot10^4+1234=5671234$. Practic ultimele $3$ cifre sunt mutate în fața celorlalte.

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

5. Se consideră următoarea secvență de program. Indicați ce se va afișa după executarea secvenței de program de mai jos.

a) `iminentkil`
b) `iminentpol`
c) `arinentpol`
d) `arinentkil`

Răspuns corect: b) `iminentpol`

`strncpy` copiază primele $8$ caractere (`strlen("academia")=8`): `pilotimi`, iar `s[8]=0` îl încheie. `strstr(s,"il")` arată spre `ilotimi`; adunând $5-1=4$ ajunge la `imi`, la care `strcat` adaugă `nent`: se afișează `iminent`, iar `s` este acum `pilotiminent`. Apoi `s[1]=s[6]+2` face `'m'+2='o'`: `polotiminent`; `x` primește `s+7`, adică `inent`; `strchr(s,'l')+1` este poziția $3$, unde se copiază `inent`: `polinent`. În sfârșit `s[strlen(s)-5]=0` taie șirul la $3$ caractere: `pol`. În total se afișează `iminentpol`.

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