DauExamen
Bacalaureat 2016 Sesiunea iunie–iulie Sn 3h

Informatică 2016

Informatică – Sn – Bacalaureat 2016, sesiunea iunie–iulie (varianta 10)

Textul subiectului
Ministerul Educaţiei Naționale ș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++ Varianta 10 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. Variabila x este de tip întreg. Indicaţi o expresie C/C++ care are valoarea 1 dacă şi numai dacă valoarea variabilei x are exact trei cifre. (4p.) a. x%1000==0 || x%100!=0 b. x/1000==0 || x/100!=0 c. x%1000==0 && x%100!=0 d. x/1000==0 && x/100!=0 2. Se consideră algoritmul alăturat, reprezentat în citeşte m,n,x pseudocod. (numere natural nenule, m<n) S-a notat cu a%b restul împărţirii numărului natural a p 0 la numărul natural nenul b. ┌cât timp m<n şi p=0 execută │┌dacă m%x=0 şi n%x=0 atunci a) Scrieţi valorile afişate în urma executării ││ p x algoritmului dacă se citesc, în această ordine, ││altfel numerele 11, 30 și 7. (6p.) ││┌dacă m%x=0 atunci b) Scrieţi un set de valori care pot fi citite pentru │││ n n-1 variabilele m, n şi x, astfel încât, în urma │││altfel executării algoritmului, să se afişeze două │││ m m+1 numere egale. (4p.) ││└■ │└■ c) Scrieţi în pseudocod un algoritm echivalent cu └■ cel dat, înlocuind structura cât scrie m,’ ’,n 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ă Varianta 10 Limbajul C/C++ Filiera teoretică, profilul real, specializarea ştiinţe ale naturii 1 Ministerul Educaţiei Naționale ș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. 1. Variabilele x, y, z şi p sunt de tip real. O transcriere ∙ − ∙ − ∙ − în limbajul C/C++ a expresiei alăturate este: (4p.) a. pow(p(p-x)(p-y)(p-z),1/2) b. pow(p*p-p*x,1/2)*pow(p-y)*pow(p-z) c. sqrt(p)*(p-x)*(p-y)*(p-z) d. sqrt(p*(p-x)*(p-y)*(p-z)) 2. Variabilele x, y şi z sunt de tip întreg şi memorează z=0; numere naturale, iar x şi y au inițial valori nenule. Indicați o while(x>0) expresie care poate înlocui punctele de suspensie astfel { z=..........; încât, în urma executării secvenței obţinute, variabila z să x=x-1; memoreze produsul valorilor memorate inițial în x și y. } (4p.) a. z+y b. z-y c. z+x d. z-x Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 3. O persoană deține două mașini, pentru fiecare cunoscându-se codul și anul fabricației. Cele două mașini sunt fabricate în ani diferiți. Variabilele întregi an1 și cod1 memorează anul fabricației, respectiv codul primei mașini, iar variabilele întregi an2 și cod2 memorează anul fabricației, respectiv codul celei de a doua mașini. Scrieți o secvență de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran date despre mașina cea mai nouă dintre cele două menționate mai sus: anul fabricației, urmat de mesajul prototip, în cazul în care codul acesteia este 0, sau de mesajul produs de serie, altfel. (6p.) 4. Se citeşte un număr natural cu toate cifrele nenule, n, şi se cere să se scrie numărul obţinut prin eliminarea tuturor cifrelor impare din n, respectiv -1 dacă nu există astfel de cifre sau dacă toate cifrele lui n sunt impare. Exemplu: dacă n= 23541 se scrie 24, iar dacă n=28 se scrie -1. 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ă Varianta 10 Limbajul C/C++ Filiera teoretică, profilul real, specializarea ştiinţe ale naturii 2 Ministerul Educaţiei Naționale ș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. Pentru a calcula cel mai mare divizor comun al unui şir de numere naturale nenule citite de la tastatură, se poate aplica: (4p.) a. algoritmul de determinare a unui element b. algoritmul lui Euclid din şirul lui Fibonacci c. metoda bulelor d. metoda interclasării Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 2. În secvenţa alăturată toate variabilele sunt de tip p=............; întreg. Scrieţi secvența înlocuind punctele de for(i=1;i<=10;i++) suspensie astfel încât, în urma executării { cin>>x; | scanf(”%d”,&x); secvenţei obţinute, valoarea variabilei p să fie 1, .............. dacă s-au citit doar numere strict pozitive, sau 0 } altfel. (6p.) 3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈ ∈[2,102]), și construieşte în memorie un tablou unidimensional cu n elemente, numerotate de la 1 la n, astfel: • primul element este nul; • elementele de pe poziții pare sunt egale cu valoarea poziției pe care se află; • oricare alt element este obţinut prin însumarea celor două elemente aflate imediat înaintea sa, ca în exemplu. Elementele tabloului obținut sunt afișate pe ecran, separate prin câte un spaţiu. Exemplu: pentru n=11 se obține tabloul (0,2,2,4,6,6,12,8,20,10,30) (10p.) 4. Fişierul numere.in conţine un şir de numere naturale din intervalul [1,109]. Numerele din şir sunt ordonate strict crescător şi sunt separate prin câte un spaţiu. Se cere să se determine valorile naturale distincte din intervalul închis delimitat de prima și ultima valoare din șir care NU se găsesc în fișier. Valorile determinate se afişează pe ecran în ordine strict crescătoare, separate prin câte un spaţiu. Dacă nu există astfel de valori, se afişează pe ecran mesajul Nu exista. Pentru determinarea valorilor cerute se utilizează un algoritm eficient din punctul de vedere al memoriei şi al timpului de executare. Exemplu: dacă fişierul conţine numerele 2 3 6 8 se afişează pe ecran valorile 4 5 7 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ă Varianta 10 Limbajul C/C++ Filiera teoretică, profilul real, specializarea ştiinţe ale naturii 3

Alte subiecte la Informatică – Sn