DauExamen
Bacalaureat 2016 Model de subiect Sn 3h

Informatică 2016

Informatică – Sn – 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, specializarea științe ale naturii • 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, specializarea științe ale naturii 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. Variabila x este de tip real. O instrucţiune C/C++ incorectă din punct de vedere sintactic 1. este: (4p.) a. x=fabs(x); b. x=fabs(-fabs(-2016)); c. cin>>fabs(x); | scanf(”%f”,&fabs(x)); d. cout<<fabs(-2016)+1; | printf(”%f”,fabs(-2016)+1); 2. O secvenţă de instrucţiuni C/C++ care realizează interschimbarea valorilor variabilelor întregi x şi y este: (4p.) a. x=x+y; y=x-y; x=y-x; b. x=x+y; y=y-x; x=x-y; c. x=x-y; y=y-x; x=x+y; d. x=x-y; y=x+y; x=y-x; Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 3. Variabilele pret_vechi și pret_majorat, de tip întreg, memorează prețul vechi al unei cărți și respectiv prețul majorat, al aceleiași cărți. Scrieţi o secvență de instrucțiuni C/C++ în urma executării căreia să se afișeze pe ecran mesajul dublu, dacă prețul majorat este obținut prin dublarea prețului vechi, sau valoarea cu care s-a modificat prețul cărții, în caz contrar. (6p.) Se citește un număr natural n și se cere să se scrie numărul cifrelor care apar o singură 4. dată în scrierea lui n. Exemplu: dacă n=9272017, se afișează 3. a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.) b) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.) Probă scrisă la informatică Model Limbajul C/C++ Filiera teoretică, profilul real, specializarea științe ale naturii 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. Variabilele i şi j sunt de tip întreg. Indicați expresia care poate înlocui punctele de suspensie astfel încât, în urma executării secvenţei obţinute, să se afișeze numerele de mai jos. for(i=1;i<=5;i++) 0 3 0 5 0 { for(j=1;j<=5;j++) 3 0 5 0 7 if(......) cout<<i+j<<” ”; | printf(”%d ”,i+j); 0 5 0 7 0 else cout<<”0 ”; | printf(”0 ”); 5 0 7 0 9 cout<<endl; | printf(”\n”); 0 7 0 9 0 } (4p.) a. i%2<j%2 b. i%2!=j%2 c. i%2==j%2 d. i%2>j%2 Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 2. Pentru a verifica dacă în tabloul unidimensional (0,1,8,9,12,21,63) există elementul cu valoarea x=8, se aplică metoda căutării binare. Scrieți succesiunea de elemente ale tabloului a căror valoare se compară cu valoarea lui x pe parcursul aplicării metodei indicate. (6p.) 3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈ ∈[2,20]), apoi cele n elemente ale unui tablou unidimensional, numere naturale din intervalul [0,109]. Programul transformă în memorie tabloul, eliminând un număr minim de elemente ale acestuia, astfel încât el să conțină doar numere impare şi, eventual, numărul 2016. Programul afișează pe ecran elementele tabloul obținut, separate prin câte un spațiu, sau mesajul nu exista dacă nu se poate obține un astfel de tablou. Exemplu: pentru n=7 și tabloul (2016,1,12,7,2016,2017,20) sau pentru n=5 și tabloul (2016,1,7,2016,2017) se afişează pe ecran: 2016 1 7 2016 2017 iar pentru n=3 și tabloul (2016,12,20) se afişează mesajul nu exista (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 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. Dacă nu există un astfel de subșir, 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 2 1 6 3 5 4 7 se afişează pe ecran mesajul DA 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, specializarea științe ale naturii Pagina 3 din 3

Alte subiecte la Informatică – Sn