DauExamen
Bacalaureat 2016 Simulare Sn 3h

Informatică 2016

Informatică – Sn – Bacalaureat 2016, simulare

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++ Simulare 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. Indicaţi expresia C/C++ care are valoarea 1 dacă şi numai dacă numărul memorat în variabila întreagă x aparţine mulţimii {2015, 2016, 2017}. (4p.) a. x==2015 && !(x<2016 || x<2017) b. x==2015 && !(x<2016 && x<2017) c. x==2015 || !(x<2016 || x>2017) d. x==2015 || !(x<2016 && x>2017) 2. Se consideră algoritmul alăturat, reprezentat în pseudocod. m 0 S-a notat cu a%b restul împărţirii numărului natural a la numărul ┌repetă natural nenul b. │ citeşte x │ (număr natural) a) Scrieţi valoarea afişată dacă se citesc, în această ordine, │ y x numerele 29678, 125, 1233345, 2, 78664, 0. (6p.) │┌repetă b) Scrieţi un şir de date de intrare, format din numere naturale, ││ c y%10 astfel încât, în urma executării algoritmului, să se afişeze ││ y [y/10] valoarea 2016. (4p.) │└până când c≤y%10 │┌dacă y≠0 atunci c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, ││ m m*10+c înlocuind a doua structură repetă ...până când cu o │└■ structură repetitivă de alt tip. (6p.) └până când x=0 d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.) scrie m Probă scrisă la informatică Simulare 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 și y sunt de tip întreg și memorează câte un număr natural nenul. Indicați expresia C/C++ care are valoarea 1 dacă și numai dacă valorile variabilelor x și y sunt consecutive. (4p.) a. abs(x+y) b. abs(x-y) c. abs(x/y) d. abs(x%y) 2. Variabilele n și x sunt de tip întreg. Pentru ca în urma executării n=0; secvenței alăturate variabila n să memoreze numărul tuturor while(.........) valorilor naturale pătrate perfecte din intervalul [0,x], zona n=n+1; punctată poate fi înlocuită cu: (4p.) a. n<=x*x b. n*n<=x c. n<=(x-1)*(x-1) d. (n-1)*(n-1)<=x Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 3. Variabilele întregi baza1 şi inaltime1 memorează baza, respectiv, înălțimea unui triunghi, iar variabilele întregi baza2 şi inaltime2 memorează baza, respectiv, înălțimea unui alt triunghi. Scrieţi o secvență de instrucțiuni C/C++ care afișează pe ecran mesajul aceeasi arie, dacă cele două triunghiuri au arie egală, sau mesajul arii diferite, în caz contrar. (6p.) 4. Un număr natural nenul se numeşte sPar dacă atât el, cât și suma divizorilor săi proprii (divizori diferiţi de 1 şi de el însuși), sunt numere pare. Se citește un număr natural, n (n∈ ∈[1,109]), și se cere să se scrie cel mai mic număr sPar, strict mai mare decât n. Exemplu: dacă n=95 atunci se scrie 98 (atât 98, cât și 72=2+7+14+49, sunt numere pare). 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ă Simulare 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. În secvenţa de instrucţiuni de mai jos toate variabilele sunt de tip întreg. for(i=0;i<5;i++) ! ? ! ? ! { for(j=0;j<5;j++) ? ! ? ! ? if(.......) cout<<"! "; | printf("! "); ! ? ! ? ! else cout<<"? "; | printf("? "); ? ! ? ! ? cout<<endl; | printf("\n"); ! ? ! ? ! } Indicaţi o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării secvenţei obţinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine.(4p.) a. (i+j)%2==0 b. i%2+j%2==0 c. i%2+j==0 d. i+j%2==0 Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 2. Se consideră un tablou unidimensional în care elementele sunt, în această ordine, (2020,2016,2012,2008,2004,2000,1996). Pentru a verifica dacă în tablou există elementul cu valoarea x, se aplică metoda căutării binare. Scrieţi toate valorile pe care le poate avea x, astfel încât căutarea să se încheie după ce x a fost comparat cu exact două elemente ale tabloului. (6p.) 3. Două tablouri unidimensionale se numesc anagrame dacă elementele lor nenule sunt egale, dispuse eventual în altă ordine. Scrieţi un program C/C++ care citeşte de la tastatură numere naturale din intervalul [0,200]: pe prima linie două numere nenule, n și m, pe linia a doua cele n elemente ale unui tablou unidimensional, iar pe linia a treia cele m elemente ale unui alt tablou unidimensional. Numerele aflate pe aceeași linie sunt separate prin câte un spațiu. Programul afişează pe ecran mesajul DA, dacă cele două tablouri sunt anagrame, sau mesajul NU, în caz contrar. Exemple: dacă se citesc, în această ordine, numerele: 6 8 5 1 6 0 7 7 7 5 0 0 6 7 0 1 pe ecran se afişează mesajul DA iar dacă se citesc, în această ordine, numerele: 4 4 5 1 6 0 6 5 6 1 pe ecran se afişează mesajul NU. (10p.) 4. Un număr x se numește sufix al unui număr y dacă y se poate obține din x prin alipirea, la stânga sa, a cel puțin unei alte cifre. Fişierul bac.in conţine un şir de cel mult 109 numere naturale distincte din intervalul [0,109]. Numerele din şir sunt separate prin câte un spaţiu. Se cere să se afișeze pe ecran, în ordine strict crescătoare, toți termenii șirului aflat în fișier care aparţin intervalului [100,999] și sunt sufixe pentru cel puțin un alt termen al aceluiași șir. Numerele sunt afișate câte unul pe linie, iar dacă în șir nu există astfel de numere, se afișează pe ecran mesajul Nu exista. Pentru determinarea numerelor cerute se utilizează un algoritm eficient din punctul de vedere al timpului de executare. Exemplu: dacă fişierul bac.in are conţinutul 15502 49 54321 6149 76149 123 502 4321 321 atunci pe ecran se afişează numerele 321 502 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ă Simulare Limbajul C/C++ Filiera teoretică, profilul real, specializarea științe ale naturii 3

Alte subiecte la Informatică – Sn