DauExamen
Bacalaureat 2016 Sesiunea august Sn 3h

Informatică 2016

Informatică – Sn – Bacalaureat 2016, sesiunea august (varianta 09)

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 9 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 şi y sunt de tip real. Expresia C/C++ alăturată este !(x>0 && y>0) echivalentă cu expresia: (4p.) a. x<=0 || y<=0 b. x<=0 && y<=0 c. x>0 || y>0 d. !(x>0) && !(y>0) 2. Se consideră algoritmul alăturat, citeşte n reprezentat în pseudocod. (număr natural nenul) S-a notat cu a%b restul împărţirii numărului p 0 natural a la numărul natural nenul b şi cu ┌pentru i 1,n execută [c] partea întreagă a numărului real c. │ m i │┌cât timp m%2=0 execută a) Scrieţi valoarea afişată în urma ││ m [m/2] executării algoritmului dacă se citeşte │└■ numărul 12. (6p.) │┌dacă m=1 atunci b) Scrieţi cel mai mic şi cel mai mare ││ p i număr care pot fi citite astfel încât, │└■ pentru fiecare dintre acestea, valoarea └■ afişată să fie 16. (4p.) scrie p c) Scrieţi în pseudocod un algoritm echivalent cu cel dat, înlocuind structura pentru...execută cu o structură repetitivă cu test final. (6p.) d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.) Probă scrisă la informatică Varianta 9 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. Indicați o expresie C/C++ care are valoarea 1 dacă şi numai dacă numărul întreg memorat în variabila întreagă x aparţine mulţimii {-2,-1,1,2}. (4p.) a. abs(x)>2 || x==0 b. abs(x)<=2 && x!=0 c. abs(x-2)<1 d. abs(x-1)>2 2. Variabilele x, y şi d sunt de tip întreg și memorează câte un d=x; număr natural strict pozitiv. Indicați o expresie care poate if(d>y) d=y; înlocui punctele de suspensie astfel încât, în urma executării while(........) secvenţei obţinute, variabila d să memoreze cel mai mare d=d-1; divizor comun al valorilor memorate în variabilele x şi y. (4p.) a. x%d+y%d!=0 b. x%d!=y%d c. (x+y)%d!=0 d. (x%d)*(y%d)!=0 Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 3. Se consideră două puncte A şi B din planul definit de sistemul de coordonate xOy. Coordonatele punctului A sunt memorate în variabilele întregi xa (abscisa) şi ya (ordonata), iar coordonatele punctului B sunt memorate în variabilele întregi xb (abscisa) şi yb (ordonata). Niciunul dintre cele două puncte nu se află în originea sistemului. Scrieţi o expresie C/C++ care să aibă valoarea 1 dacă şi numai dacă punctul A este situat pe axa Oy, iar punctul B este situat pe axa Ox a sistemului de coordonate. (6p.) 4. Se citeşte un număr natural, n (n≥1), şi se cere să se scrie numărul obţinut prin duplicarea fiecărei cifre pare a lui n sau -1 dacă acesta nu are nicio cifră pară. Exemplu: dacă n=2380 se scrie 2238800 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 9 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. Tablourile unidimensionale A şi B au elementele: A=(20,17,12,10,3), iar B=(45,16,12,7,2). În urma interclasării lor în ordine descrescătoare se obţine tabloul cu elementele: (4p.) a. (45,17,12,10,3) b. (45,20,16,17,12,12,7,10,2,3) c. (45,20,17,16,12,12,10,7,3,2) d. (45,20,17,16,12,12,7,10,3,2) 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 s=.........; î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 s să fie if(.............) egală cu suma numerelor întregi citite care au s=s+x; cel mult două cifre. (6p.) } 3. ∈[2,102]), și Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈ numere naturale din intervalul [0,1000], în această ordine: cele n elemente ale unui tablou unidimensional și un număr x. Prima poziție a tabloului este 0. Programul afişează pe ecran mesajul DA, dacă există cel puțin un element egal cu x aflat pe pozițiile impare ale tabloului sau mesajul NU în caz contrar. Exemplu: pentru n=5, tabloul (1,3,4,2,6) şi x=2, se afişează pe ecran mesajul DA iar pentru n=5, tabloul (1,12,2,4,6) sau tabloul (1,3,12,4,6) şi x=2, se afişează pe ecran mesajul NU (10p.) 4. Fişierul bac.txt conţine un şir de cel mult 106 numere naturale distincte din intervalul [0,109]. Numerele din şir sunt separate prin câte un spaţiu. Se cere să se determine ultimii doi termeni pari din şirul aflat în fișier care sunt precedați de doar un termen impar. Termenii determinați se afișează pe ecran, în ordinea apariţiei lor în şir, separați printr-un spațiu, iar dacă în şir nu există doi astfel de termeni, pe ecran se afişează mesajul Nu exista. Pentru determinarea termenilor ceruţi se utilizează un algoritm eficient din punctul de vedere al spațiului de memorie şi al timpului de executare. Exemplu: dacă fişierul conţine numerele 4 16 5 12 14 30 212 16 11 400 se afişează pe ecran 212 16 (4 și 16 sunt precedate de 0 numere impare, 12, 14, 30, 212 și 16 sunt precedate de 1 număr impar, iar 400 este precedat de 2 numere impare; dintre numerele 12, 14, 30, 212 și 16 ultimele două sunt 212 și 16). 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 9 Limbajul C/C++ Filiera teoretică, profilul real, specializarea ştiinţe ale naturii 3

Alte subiecte la Informatică – Sn