DauExamen
Bacalaureat 2016 Sesiunea specială Sn 3h

Informatică 2016

Informatică – Sn – Bacalaureat 2016, sesiunea specială (varianta 04)

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 4 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. Variabilele x, y și z sunt de tip întreg și memorează numere naturale din intervalul [1,103]. Indicați o expresie C/C++ care are valoarea 1 dacă și numai dacă valoarea variabilei x este strict mai mare decât valoarea oricăreia dintre variabilele y și z. (4p.) a. x*y>y*z && x*z>y*z b. x*z>x*y && y*z>y*x c. y*z>x*z && y*x>z*x d. y*z>y*x && y*z>z*x 2. Se consideră algoritmul alăturat, reprezentat citeşte n în pseudocod. (număr natural nenul) S-a notat cu a%b restul împărţirii numărului natural a k 1 la numărul natural nenul b şi cu [c] partea întreagă m 1 a numărului real c. ┌cât timp n>9 execută │┌dacă n%10=[n/10]%10 atunci a) Scrieţi valoarea afişată în urma executării ││ k k+1 algoritmului dacă se citeşte numărul ││┌dacă k>m atunci 81112337. (6p.) │││ m k b) Scrieţi numărul de valori din intervalul ││└■ [10000,99999] care să înceapă cu cifra 1, ││altfel care pot fi citite pentru variabila n, astfel încât, ││ k 1 în urma executării algoritmului, pentru fiecare │└■ dintre acestea, să se afişeze valoarea 4. (4p.) │ n [n/10] └■ scrie m c) Scrieţi în pseudocod un algoritm echivalent cu cel dat, înlocuind structura 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ă Varianta 4 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 A, B și C sunt de tip real și memorează coeficienții unei ecuații de gradul al II-lea Ax2+Bx+C=0, cu două rădăcini reale distincte. Indicați o expresie C/C++ a cărei valoare este egală cu valoarea uneia dintre cele două rădăcini. (4p.) a. -B+pow(sqrt(B)-4*A*C,2)/2*A b. (-B+pow(sqrt(B)-4*A*C,2))/(2*A) c. -B+sqrt(pow(B,2)-4*A*C)/2*A d. (-B+sqrt(pow(B,2)-4*A*C))/(2*A) 2. În secvența alăturată toate variabilele sunt întregi și z=0; memorează valori naturale. Indicați o expresie care poate while(x>=y) înlocui punctele de suspensie, astfel încât, în urma { x=........; executării secvenţei obţinute, variabila z să memoreze z=z+1; câtul împărțirii numărului memorat inițial în x la numărul } nenul memorat în y. (4p.) a. x+y b. x-y c. x/10 d. x%10 Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 3. Într-un cartier sunt două zone de parcare, pentru fiecare cunoscându-se numărul de locuri închiriate pe parcursul orei curente, precum și prețul practicat de zona respectivă pentru închirierea unui loc pentru o oră. Varabilele întregi n1 și p1 memorează numărul de locuri închiriate, respectiv prețul de închiriere pentru o oră în prima zonă, iar variabilele întregi n2 și p2 memorează numărul de locuri închiriate, respectiv prețul de închiriere pentru o oră în cea de a doua zonă. Scrieţi o secvenţă de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran suma totală obținută în urma închirierii locurilor de parcare din cele două zone pe parcursul orei curente. (6p.) 4. Se citește un număr natural, n (n≥2) și se cere să se scrie cel mai mic număr natural care are aceiași divizori primi ca n. Exemplu: dacă n=75, se scrie numărul 15, iar dacă n=7, se scrie numărul 7. 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 4 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. Variabilele din secvența alăturată sunt de tip u=αα; întreg, iar numerele citite sunt naturale. for(i=1;i<=10;i++) Indicați expresiile care pot înlocui simbolurile { cin>>x; | scanf("%d",&x); α și β astfel încât, în urma executării if(x==2016) secvenței obținute, variabila u să memoreze β; u=β ultima poziție pe care apare numărul 2016 } în șirul de numere citite de la tastatură sau valoarea 0 dacă acesta nu apare în șir. (4p.) a. α=0 și β =i b. α=1 și β =i c. α=0 și β =x d. α=1 și β =x Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 2. Elementele unui tablou unidimensional sunt, în această ordine, (1,4,6,10,56,57,76). Pentru a verifica dacă în tablou există elementul cu valoarea x=57, se aplică metoda căutării binare. Scrieţi succesiunea de elemente cu care se compară valoarea 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,102]), apoi numere naturale din intervalul [0,109], în această ordine: cele n elemente ale unui tablou unidimensional și un număr x. Cel puţin unul dintre elementele tabloului are valoarea x. Programul modifică ordinea valorilor din tablou, astfel încât toate valorile având aceeași paritate ca a lui x să ocupe primele poziţii din tablou, iar celelalte valori să se regăsească în continuarea acestora, într-o ordine oarecare. Elementele tabloului obținut sunt afișate pe ecran, separate prin câte un spaţiu. Exemplu: pentru n=9, tabloul (20, 11, 0, 1, 75, 0, 11, 4, 53) şi x=11, unul dintre tablourile obținute poate fi: (11, 1, 75, 11, 53, 20, 0, 0, 4). (10p.) 4. Se consideră șirul 1, -1, 2 ... definit astfel: f1=1, f2=-1, iar fn=1-2·fn-1-fn-2, dacă n≥3 (unde n este un număr natural). Se citesc de la tastatură două numere întregi din intervalul [-109,109], x și y, reprezentând, în această ordine, doi termeni ai șirului aflați pe poziții consecutive în acesta. Se cere să se scrie în fișierul text bac.out, separați prin câte un spațiu, în ordine inversă apariției lor în șir, cei doi termeni citiți, precum și toți ceilalți termeni care îi preced pe aceștia în șir, ca în exemplu. Pentru determinarea și afișarea numerelor cerute, se utilizează un algoritm eficient din punctul de vedere al spațiului de memorie și al timpului de executare. Exemplu: dacă x=-1 și y=2 fişierul conţine valorile 2 -1 1 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 4 Limbajul C/C++ Filiera teoretică, profilul real, specializarea ştiinţe ale naturii 3

Alte subiecte la Informatică – Sn