DauExamen
Bacalaureat 2016 Model de subiect Mi 3h

Informatică 2016

Informatică – Mi – Bacalaureat 2016, model de subiect

Textul subiectului
Ministerul Educaţiei și Cercetării Științifice Centrul Naţional de Evaluare şi Examinare Examenul de bacalaureat naţional 2016 Proba E. d) Informatică Limbajul C/C++ MODEL Filiera teoretică, profilul real, specializările: matematică-informatică matematică-informatică intensiv informatică Filiera vocaţională, profilul militar, specializarea matematică-informatică • Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu. • Timpul de lucru efectiv este de 3 ore. • În rezolvările cerute, identificatorii utilizaţi trebuie să respecte precizările din enunţ (bold), iar în lipsa unor precizări explicite, notaţiile trebuie să corespundă cu semnificaţiile asociate acestora (eventual în formă prescurtată). • În programele cerute, datele de intrare se consideră corecte, validarea acestora nefiind necesară. SUBIECTUL I (30 de puncte) Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect. 1. Expresia C/C++ alăturată are valoarea: (4p.) 3+5%10/2 a. 3 b. 4 c. 5 d. 5.5 2. Se consideră algoritmul alăturat, citeşte n,k reprezentat în pseudocod. (numere naturale nenule, k>1) S-a notat cu a%b restul împărţirii numărului pn 0 natural a la numărul natural nenul b şi cu [c] ┌cât timp pn=0 execută partea întreagă a numărului real c. │ x n │┌cât timp x%k=0 execută a) Scrieţi valoarea afişată dacă se citesc, în ││ x [x/k] această ordine, numerele 48 și 6. (6p.) │└■ b) Dacă pentru k se citeşte numărul 5, scrieţi │┌dacă x=1 atunci toate numerele care pot fi citite pentru n ││ pn n astfel încât, în urma executării algoritmului, │└■ pentru fiecare dintre acestea, valoarea │ n n-1 afişată să fie 1. (4p.) └■ scrie pn c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, înlocuind prima structură cât timp...execută cu o structură repetitivă de alt tip. (6p.) d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.) Probă scrisă la informatică Model Limbajul C/C++ Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică Filiera vocaţională, profilul militar, specializarea matematică-informatică Pagina 1 din 3 Ministerul Educaţiei și Cercetării Științifice Centrul Naţional de Evaluare şi Examinare SUBIECTUL al II-lea (30 de puncte) Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera corespunzătoare răspunsului corect. struct carte 1. Variabila c, declarată alăturat, memorează codul şi { int cod; preţul unei cărţi. Expresia C/C++ a cărei valoare float pret; reprezintă dublul preţului cărţii respective este: (4p.) }c; a. c.pret*2 b. c[pret]*2 c. pret^c*2 d. pret(c)*2 2. Un graf orientat cu 5 vârfuri, numerotate de la 1 la 5, are arcele (1,4), (1,5), (2,1), (2,3), (3,1), (3,4), (4,2), (5,1), (5,3). Numărul maxim de arce care se pot elimina, astfel încât graful parţial obţinut să fie tare conex este: (4p.) a. 5 b. 4 c. 3 d. 2 Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 3. Un arbore cu 10 noduri, numerotate de la 1 la 10, este reprezentat prin vectorul de „taţi” (8,5,6,8,8,4,4,0,6,5). Enumeraţi toate nodurile arborelui care au exact doi fii. (6p.) 4. Variabilele i şi j sunt de tip întreg, iar variabila a memorează un tablou bidimensional cu 5 linii şi 5 coloane, numerotate de la 1 la 5, având iniţial toate elementele nule. Fără a utiliza alte variabile decât cele menționate, scrieţi secvenţa de 0 3 0 5 0 instrucţiuni de mai jos, înlocuind punctele de suspensie astfel încât, în 3 0 5 0 7 urma executării secvenţei obţinute, variabila a să memoreze tabloul 0 5 0 7 0 alăturat. 5 0 7 0 9 for(i=1;i<=5;i++) 0 7 0 9 0 for(j=1;j<=5;j++) .................. (6p.) 5. Se consideră un cuvânt format din cel puțin două și cel mult 100 de caractere, numai litere mici ale alfabetului englez. Scrieţi un program C/C++ care citeşte de la tastatură un cuvânt de tipul precizat și îl transformă în memorie, eliminând un număr minim de litere, astfel încât el să conțină doar vocale şi, eventual, consoana m. Programul afișează pe ecran cuvântul obținut, sau mesajul nu exista dacă nu se poate obține un astfel de cuvânt. Exemplu: pentru cuvintele amnistie, amintire sau amiie se afișează amiie pentru cuvântul ploaie se afişează oaie iar pentru cuvântul mrrr se afişează mesajul nu exista (10p.) Probă scrisă la informatică Model Limbajul C/C++ Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică Filiera vocaţională, profilul militar, specializarea matematică-informatică Pagina 2 din 3 Ministerul Educaţiei și Cercetării Științifice Centrul Naţional de Evaluare şi Examinare SUBIECTUL al III-lea (30 de puncte) Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect. 1. Subprogramul F este incomplet definit alăturat. void F(char c) Indicați expresia cu care pot fi înlocuite { if(c<’e’) punctele de suspensie, astfel încât, în urma { F(......); apelului de mai jos, să se afișeze dcba. cout<<c; | printf(”%c”,c); F(’a’); (4p.) } } a. c-4 b. c-1 c. c+1 d. c+4 Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 2. Utilizând metoda backtracking, se generează toate parfumurile formate prin amestecarea a câte 3 esențe distincte din mulţimea {ambră, cedru, iris, mosc, santal}. Primele cinci soluţii obţinute sunt, în această ordine: (ambră, cedru, iris), (ambră, cedru, mosc), (ambră, cedru, santal), (ambră, iris, mosc) şi (ambră, iris, santal). Scrieți a șasea și a șaptea soluție, în ordinea generării acestora. (6p.) 3. Subprogramul Cifre are un singur parametru, n, prin care primește un număr natural ∈[0,109]). Subprogramul returnează numărul cifrelor care apar o singură dată în (n∈ scrierea lui n. Scrieţi definiţia completă a subprogramului. Exemplu: dacă n=9272017, subprogramul returnează valoarea 3. (10p.) 4. Fişierul date.in conţine un şir de cel mult un milion de numere naturale din intervalul [0,109], separate prin câte un spațiu. Șirul are cel puțin doi termeni pari și cel puțin doi termeni impari. Se cere să se afișeze pe ecran mesajul DA dacă șirul aflat în fișier are un subșir ordonat strict crescător, format din toți termenii impari ai săi, și un subșir ordonat strict descrescător, format din toți termenii pari ai săi. Dacă nu există două astfel de subșiruri, programul afișează pe ecran mesajul NU. Pentru verificarea proprietății cerute utilizați un algoritm eficient din punctul de vedere al timpului de executare și al memoriei necesare. Exemplu: dacă fişierul conţine numerele 8 1 6 3 5 4 7 se afişează pe ecran mesajul DA iar dacă fișierul conține numerele 2 1 6 3 5 4 7 se afişează pe ecran mesajul NU a) Descrieți în limbaj natural algoritmul utilizat, justificând eficiența acestuia. (4p.) b) Scrieți programul C/C++ corespunzător algoritmului descris. (6p.) Probă scrisă la informatică Model Limbajul C/C++ Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică Filiera vocaţională, profilul militar, specializarea matematică-informatică Pagina 3 din 3

Alte subiecte la Informatică – Mi