Simulare Bac Info Ianuarie
Simulare Bac Info Ianuarie
Simulare Bac Info Ianuarie
d) - SIMULARE
Informatică - Limbajul C/C++
2. Știind că x este un tablou bidimensional cu 5 linii și 5 coloane (numerotate de la 1 la 5) și elemente de tip întreg, iar a
și i sunt variabile de tip întreg, să se precizeze care va fi conținutul tabloului după executarea secvenței de instrucțiuni
de mai jos dacă, inițial, fiecare linie a tabloului conține numerele de la 1 la 5 în această ordine, de la stânga la dreapta?
for (i=1; i<=5; i++) {
a = x[3][i];
x[3][i]= x[i][4];
x[i][4] = a;
}
unde a și i sunt variabile de tip întreg. (6 p)
3. La sfârșitul semestrului dirigintele trebuie să realizeze o situație a absențelor elevilor clasei. Pentru aceasta cere
acestora să-l ajute cu un program. Programul folosește o structură ELEV care reține numele complet al unui elev, șir de
maxim 50 de caractere, numărul de absențe motivate, numărul de absențe nemotivate, nota la purtare.
Să se scrie definiția structurii, declarațiile necesare și secvența de program care calculează nota la purtare a elevului p,
știind că acesta nu are alte abateri și că la 10 absențe nemotivate nota la purtare scade cu un punct. Dacă numărul de
absențe nemotivate depășește 49, media la purtare este 6. (6 p)
1. Scrieți un program în C/C++ care citește un text de maxim 25 de caractere care reprezintă un text codificat în care
fiecare caracter care nu este cifră este urmat de un caracter cifră și determină și afișează pe ecran textul necodificat.
Codificarea textului s-a realizat astfel: pentru fiecare caracter care nu e literă s-a precizat caracterul și numărul de
repetări consecutive ale sale, iar pentru caracterele de tip literă s-a precizat predecesorul său urmat de numărul de
apariții consecutive. Dacă litera este ‘a’ sau ’A’, atunci predecesorul este ’z’, respectiv ’Z’. (10 p)
Exemplu: pentru textul y3#2z4*1k2 se va determina și afișa: zzz##aaaa*ll
2. Scrieți definiția completă a subprogramului bac care primește prin intermediul parametrului x un număr natural de
maxim 9 cifre, x > 1, și returnează prin intermediul celui de-al doilea parametru, y, cel mai mare divizor prim care
apare la o putere impară în descompunerea lui x în factori primi. Dacă nu există, y va furniza valoare -1.
Exemplu: dacă x=75, atunci y=5. (10 p)
3. Din fişierul BAC.TXT se citesc cel puțin 3 și cel mult 10# numere întregi din intervalul [-1000,1000], separate prin
câte un spaţiu. Scrieţi un program eficient ca timp de executare și ca spațiu de memorie, care să afişeze pe ecran, în ordine
crescătoare, trei numere din șirul dat, cu proprietatea că produsul lor este maxim.
De exemplu, dacă fişierul conţine:
-2 -3 -3 0 65 10 0 0 -25 atunci se vor afişa: -25 -3 65.
a) Descrieţi în limbaj natural algoritmul utilizat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris la punctul a. (8p.)