[canonical]: https://grile.online/informatica/subiecte/admitere-politehnica-bucuresti-2024-informatica-varianta-a-iulie

> Pagina completă: https://grile.online/informatica/subiecte/admitere-politehnica-bucuresti-2024-informatica-varianta-a-iulie
> 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 Politehnica București 2024 — Informatică, Varianta A (iulie) · Informatică #167

10 grile din Tablouri, Subprograme, Șiruri de caractere, cu explicații. Transcrise din Admitere Politehnica București 2024 — Informatică, Varianta A (iulie). Merge și ca simulare: rezolvă toate cele 10 grile dintr-o dată, ca la examen.

Subiect oficial (Admitere Politehnica București 2024 — Informatică, Varianta A (iulie))

## Teaser gratuit, fără cont

1. Fie o matrice `a` cu $4$ linii și $4$ coloane, inițializată cu următoarele valori, pe linii: `{1,2,3,4}`; `{5,6,7,8}`; `{9,1,2,3}`; `{4,5,6,7}`. Ce valoare va avea variabila `n` după rularea următoarei secvențe de cod?

a) $4$
b) $6$
c) $13$
d) $2$
e) $1$
f) $5$

Răspuns corect: b) $6$

Secvența numără perechile $(i,j)$ pentru care `a[i][j] == a[j][i]`. Cele $4$ elemente de pe diagonala principală verifică mereu condiția.

În afara diagonalei, o pereche simetrică se numără de două ori, ca $(i,j)$ și $(j,i)$. Comparând: `a[0][1]=2` cu `a[1][0]=5`, `a[0][2]=3` cu `a[2][0]=9`, `a[0][3]=4` cu `a[3][0]=4`, `a[1][2]=7` cu `a[2][1]=1`, `a[1][3]=8` cu `a[3][1]=5`, `a[2][3]=3` cu `a[3][2]=6` — doar `a[0][3]` și `a[3][0]` sunt egale. Deci `n` $=4+2=6$.

Subiect oficial · Admitere UPB 2024, AC/ETTI, Informatică, Varianta A (22 iulie), itemul 1 · cheie din baremul oficial

2. Fie funcția dată prin următorul pseudocod (`%` reprezintă restul împărțirii întregi). Care dintre următoarele apeluri au ca rezultat numai valori pare?

a) `f(117, 200)`, `f(222, 300)`, `f(322, 485)`, `f(422, 653)`
b) `f(116, 100)`, `f(220, 181)`, `f(321, 281)`, `f(420, 551)`
c) `f(117, 130)`, `f(222, 461)`, `f(323, 771)`, `f(422, 891)`
d) `f(117, 240)`, `f(222, 480)`, `f(322, 795)`, `f(422, 833)`
e) `f(116, 150)`, `f(222, 81)`, `f(321, 331)`, `f(420, 671)`
f) `f(118, 241)`, `f(222, 291)`, `f(322, 481)`, `f(422, 451)`

Răspuns corect: b) `f(116, 100)`, `f(220, 181)`, `f(321, 281)`, `f(420, 551)`

La fiecare pas `n` scade cu $1$ și `y` crește cu $1$, iar valoarea curentă a lui `y` se adună doar când `n` este par. Pentru `f(n, y)` cu $p=\lfloor n/2\rfloor$ pași pari rezultă $f(n,y)=py+p(p-1)$ dacă $n$ este par și $f(n,y)=py+p^2$ dacă $n$ este impar.

Cum $p(p-1)$ este mereu par, pentru $n$ par $f$ are paritatea lui $py$, iar pentru $n$ impar paritatea lui $p(y+1)$; în ambele cazuri un $p$ par dă un rezultat par. Apelurile `f(116, 100)`, `f(220, 181)`, `f(321, 281)`, `f(420, 551)` au toate $p$ par ($58$, $110$, $160$, $210$), deci toate valorile sunt pare (de exemplu `f(116, 100)` $=9106$).

Fiecare dintre celelalte liste conține un apel cu rezultat impar: `f(322, 485)` $=103845$, `f(222, 461)` $=63381$, `f(322, 795)` $=153755$, `f(222, 81)` $=21201$, `f(118, 241)` $=17641$.

Subiect oficial · Admitere UPB 2024, AC/ETTI, Informatică, Varianta A (22 iulie), itemul 2 · cheie din baremul oficial

3. Specificați ce afișează următoarea secvență de cod.

a) `01234516171819202122232425`
b) `012345`
c) `11121314`
d) `67891011`
e) `1112131415`
f) `678910`

Răspuns corect: b) `012345`

Primele $6$ caractere, `examen`, sunt litere mici, deci se afișează indicii $0, 1, 2, 3, 4, 5$.

La `i=6` caracterul `I` nu este literă mică, așa că se scrie `'\0'` pe poziția $6$. Acum `strlen(sir)` devine $6$, condiția `7 < 6` este falsă și bucla se oprește. Se afișează `012345`.

Subiect oficial · Admitere UPB 2024, AC/ETTI, Informatică, Varianta A (22 iulie), itemul 3 · cheie din baremul oficial

4. Definim un tip înregistrare pentru reținerea unei fracții de forma `a/b` unde `a` este numărătorul și `b` este numitorul. Fie un vector care reține $31$ de fracții în care primul element este pe poziția $0$ și reține fracția `1/1`. Definim restul elementelor din vector după următoarele formule, unde `i>=0`.

Ce fracție va reține elementul de pe poziția $9$ din vector (adică `v[9]`)?

a) $5/3$
b) $5/2$
c) $3/5$
d) $7/4$
e) $2/7$
f) $4/3$

Răspuns corect: c) $3/5$

Din `v[i]` $=a/b$ se obțin `v[2i+1]` $=a/(a+b)$ și `v[2i+2]` $=(a+b)/b$. Cum $9=2\cdot4+1$, $4=2\cdot1+2$ și $1=2\cdot0+1$, se merge pe lanțul `v[0]` → `v[1]` → `v[4]` → `v[9]`.

`v[0]` $=1/1$, `v[1]` $=1/2$, `v[4]` $=(1+2)/2=3/2$, iar `v[9]` $=3/(3+2)=3/5$.

Subiect oficial · Admitere UPB 2024, AC/ETTI, Informatică, Varianta A (22 iulie), itemul 5 · cheie din baremul oficial

5. Pătratul oricărui număr prim `n` mai mare decât $3$ poate fi scris în forma `24k+1`, cu `k` număr natural. Care dintre următoarele expresii verifică dacă numărul `n` are această proprietate?

a) `I2` și `I6`
b) `I1` și `I4`
c) `I4` și `I6`
d) `I1` și `I3`
e) `I3` și `I4`
f) `I1` și `I5`

Răspuns corect: f) `I1` și `I5`

Proprietatea înseamnă $n^2-1=(n-1)(n+1)$ divizibil cu $24$, adică exact ce testează `I1` și `I5`.

`I2` se evaluează de la stânga la dreapta ca `((n-1)*(n+1)) % 24 == 1`, fals pentru orice prim $n>3$ (restul este $0$). `I3` cere ca $24$ să dividă simultan $n-1$ și $n+1$, imposibil. `I4` cere ca unul dintre ei să fie multiplu de $24$ (fals pentru $n=5$, deși $25=24+1$). `I6` compară $24n^2-1$ cu $0$, niciodată adevărat.

Subiect oficial · Admitere UPB 2024, AC/ETTI, Informatică, Varianta A (22 iulie), itemul 6 · cheie din baremul oficial
