DauExamen
Bacalaureat 2018 Sesiunea iunie–iulie (rezervă) Sn 3h

Informatică 2018

Informatică – Sn – Bacalaureat 2018, sesiunea iunie–iulie (rezervă) (varianta 08)

Textul subiectului
Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Examenul de bacalaureat naţional 2018 Proba E. d) Informatică Limbajul C/C++ Varianta 8 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ă câte un număr natural. Indicați expresia C/C++ care are valoarea 1 dacă și numai dacă oricare două dintre variabilele precizate au valori distincte. (4p.) a. (x-y)*(y-z)*(z-x) != 0 b. !(x==y && y==z) c. x!=y || y!=z || z!=x d. (x<y || y<z) && (x>y || y>z) 2. Algoritmul alăturat este reprezentatcitește a,b în pseudocod. (numere naturale, a<b) a) Scrieţi ce se afişează dacă se citesc, în această u 0 ordine, numerele 2 și 6. (6p.) k a ┌cât timp k≤b execută b) Dacă pentru variabila b se citeşte numărul 20, │ s 0 scrieţi patru numere care pot fi citite pentru │ t 1 variabila a, astfel încât, în urma executării │┌cât timp t*t≤k execută algoritmului, pentru fiecare dintre acestea, să se ││ s s+t*t afișeze doar valoarea 30. (4p.) ││ t t+1 │└■ c) Scrieţi în pseudocod un algoritm echivalent cu │┌dacă s≠u atunci cel dat, înlocuind adecvat una dintre structurile ││ scrie s, ’ ’ cât timp...execută cu o structură de tip ││ u s pentru...execută. (6p.) │└■ d) Scrieţi programul C/C++ corespunzător │ k k+1 algoritmului dat. (10p.) └■ Probă scrisă la informatică Varianta 8 Limbajul C/C++ Filiera teoretică, profilul real, specializarea științe ale naturii 1 din 3 Ministerul Educaţiei Naționale 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. Variabila x este de tip real și poate memora un număr real din floor(sqrt(x)) intervalul [45,55]. Numărul valorilor distincte pe care le poate avea expresia C/C++ alăturată este: (4p.) a. 1 b. 2 c. 3 d. 4 2. În secvența C/C++ alăturată toate variabilele sunt întregi, iar r=0; m>n. Expresia care poate înlocui punctele de suspensie, x=n; astfel încât, în urma executării secvenţei obţinute, variabila r y=m; să memoreze diferenţa m-n este: do (4p.) { x=x+1; y=y-1; r=r+2; }while(x<y); if(x!=y)r=...; a. r-2 b. r-1 c. r+1 d. r+2 Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 3. Variabilele ora_decolare, minut_decolare și durata sunt întregi și memorează date referitoare la un zbor al unui avion, derulat în totalitate în aceeași zi, pe teritoriul României: ora și minutul decolării, respectiv durata zborului, exprimată în minute. Ora este un număr din intervalul [0,23], iar minutul un număr din intervalul [0,59]. Scrieţi o secvenţă de instrucţiuni în urma executării căreia să se memoreze în variabilele întregi ora_aterizare și minut_aterizare ora, respectiv minutul aterizării avionului. (6p.) 4. Se citesc două numere naturale n, cu cifre distincte și nenule (10<n), și k (k∈ ∈[0,9]) și se cere să se transforme numărul n, rotind circular spre stânga cifrele acestuia, astfel încât cifra k să devină cifra unităților lui n, ca în exemplu. Dacă cifra k nu este printre cifrele lui n sau dacă este cifra unităţilor acestuia, numărul rămâne nemodificat. Numărul obținut se afișează apoi pe ecran. Exemplu: dacă n=3125847 și k=2, se obține numărul n=5847312, iar dacă n=3125847 și k=6, se obține numărul 3125847. 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 8 Limbajul C/C++ Filiera teoretică, profilul real, specializarea științe ale naturii 2 din 3 Ministerul Educaţiei Naționale 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 verifica dacă în tabloul unidimensional (7,9,11,14,16,18,20) există elementul cu valoarea x, număr natural, se aplică metoda căutării binare. Pentru ca succesiunea de elemente ale tabloului a căror valoare se compară cu valoarea lui x pe parcursul aplicării metodei indicate să fie 14, 18, 16, mulțimea tuturor valorilor posibile ale lui x este: (4p.) a. {16} b. {14,16,18} c. {15,16,17} d. {20} 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 nr=.........; întreg, iar numerele citite sunt naturale. for(i=1;i<=10;i++) Scrieţi secvența înlocuind punctele de suspensie { cin>>x; | scanf(“%d”,&x); astfel încât, în urma executării secvenţei ....... obţinute, valoarea variabilei nr să fie egală cu } numărul valorilor citite care sunt strict mai mici decât 2018. (6p.) 3. ∈[2,102]), și Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈ 4 alte numere naturale din intervalul [0,10 ]: cele n elemente ale unui tablou unidimensional, apoi două numere distincte x și y. Programul modifică tabloul în memorie înlocuind cu valoarea lui y fiecare număr x din tabloul citit și cu valoarea lui x fiecare număr y din tabloul citit, celelalte elemente rămânând nemodificate. Programul afişează apoi pe ecran elementele tabloului obținut, separate prin câte un spațiu, sau mesajul nemodificat dacă nu s-a realizat nicio modificare. Exemplu: pentru n=7, tabloul (0, 7, 0, 1, 0, 5, 1), x=0 și y=1 se obține tabloul (1, 7, 1, 0, 1, 5, 0). (10p.) 4. Se citeşte de la tastatură un număr natural, n (n∈ ∈[1,109]), şi se cere să se scrie în fişierul text bac.txt, cel mai mare număr natural p cu proprietatea că numărul 4p este divizor al numărului obținut prin evaluarea produsului 1·2·3·...·n. Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al memoriei utilizate. Exemplu: dacă n=10, fişierul conţine numărul 4. a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.) b) Scrieţi programul C/C++ corespunzător algoritmului descris. (8p.) Probă scrisă la informatică Varianta 8 Limbajul C/C++ Filiera teoretică, profilul real, specializarea științe ale naturii 3 din 3

Alte subiecte la Informatică – Sn