Textul subiectului și baremului
Subiect BAC Informatică Științe ale Naturii Pascal 2018 – 28 iunie 2018, varianta 2
Acesta este textul selectabil extras automat din documentele PDF ale acestei variante. Pentru formule, tabele, pseudocod sau grafice, verifică pagina originală din PDF înainte de a rezolva exercițiile.
Subiectul
Deschide PDF-ul originalSubiectul · pagina 1
Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Varianta 2 Limbajul Pascal Filiera teoretică, profilul real, specializarea științe ale naturii 1 din 3 Examenul de bacalaureat naţional 2018 Proba E. d) Informatică Limbajul Pascal Varianta 2 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 întreg și memorează câte un număr natural nenul. O expresie echivalentă cu cea alăturată poate fi: (4p.) not((x mod y<>0) or (y<2)) a. (x mod y=y mod x) and (y>1) b. ((x+y) mod y=0) or (y>=1) c. ((x div y)*y=x) and (y>=2) d. (x mod y=0) or (y>2) 2. Algoritmul alăturat este reprezentat în pseudocod. S-a notat cu a%b restul împărţirii numărului natural a la numărul natural nenul b şi cu [a] partea întreagă a numărului real a. citeşte n (număr întreg nenul) ┌dacă n<0 atunci │ n-n └■ s0 ┌repetă │ xn%10 │┌pentru i1,x execută ││ ss+x │└■ │ n[n/10] └până când n=0 scrie s a) Scrieţi numărul afişat dacă se citeşte valoarea 2018. (6p.) b) Scrieţi patru numere distincte din intervalul [10,103] care pot fi citite astfel încât, în urma executării algoritmului, pentru fiecare dintre acestea, să se afișeze valoarea 100. (4p.) c) Scrieţi în pseudocod un algoritm echivalent cu cel dat, înlocuind adecvat structura pentru...execută cu o atribuire. (6p.) d) Scrieţi programul Pascal corespunzător algoritmului dat. (10p.)
Subiectul · pagina 2
Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Varianta 2 Limbajul Pascal Filiera teoretică, profilul real, specializarea științe ale naturii 2 din 3 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 memorează un număr real din intervalul [1,2]. Indicați numărul de valori posibile ale expresiei Pascal alăturate. (4p.) round(x)+trunc(x) a. 1 b. 2 c. 3 d. 4 2. În secvențele de mai jos, notate cu S1, S2 și S3, toate variabilele sunt întregi, iar n și k memorează câte un număr natural nenul. //S1 nr:=0; for i:=n downto 1 do begin p:=i; while p>=k do p:=p-k; if p=0 then nr:=nr+1 end; //S2 nr:=0; for i:=1 to n do if i mod k=0 then nr:=nr+1; //S3 nr:=n div k; Variabila nr memorează numărul multiplilor lui k din intervalul [1,n] în urma executării, independent, a secvențelor: (4p.) a. S1 și S2 b. S1 și S3 c. S2 și S3 d. S1, S2 și S3 Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 3. Pentru un medicament se memorează prețul, precum și date despre substanța activă specifică: doza și codul acesteia. Variabilele întregi pret1, doza1 și cod1 memorează prețul, respectiv date despre substanța activă specifică unui medicament, iar variabilele întregi pret2, doza2 și cod2 memorează prețul, respectiv date despre substanța activă specifică unui alt medicament. Două medicamente distincte pot avea aceeași substanță activă specifică, însă numai în doze diferite. Să se scrie o secvenţă de instrucţiuni Pascal în urma executării căreia să se afişeze prețul medicamentului cu doză mai mare de substanță activă specifică, dacă ele au o aceeaşi astfel de substanţă, sau mesajul ALTA CATEGORIE în caz contrar. (6p.) 4. Se citesc patru numere naturale nenule, n, x, y și r (r<x<y<n) și se cere să se afișeze numărul de valori naturale din intervalul [1,n] pentru care atât restul împărțirii la x, cât și restul împărțirii la y, sunt egale cu r. Exemplu: pentru n=200, x=5, y=14 și r=2, se afișează numărul 3 (pentru numerele 2, 72 și 142 restul împărțirii la 5, cât și restul împărțirii la 14, este 2). 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.)
Subiectul · pagina 3
Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Varianta 2 Limbajul Pascal Filiera teoretică, profilul real, specializarea științe ale naturii 3 din 3 SUBIECTUL al III-lea (30 de puncte) Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect. 1. Variabilele i şi j sunt de tip întreg. Indicați expresia care poate înlocui punctele de suspensie, astfel încât, în urma executării secvenţei obţinute, să se afișeze numerele alăturate. for i:=0 to 8 do begin for j:=0 to 8 do if i=j then write(’0 ’) else write(......,’ ’) writeln end; (4p.) 0 1 2 3 4 5 6 7 0 1 0 3 4 5 6 7 0 1 2 3 0 5 6 7 0 1 2 3 4 5 0 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 0 3 4 5 6 7 0 1 2 3 0 5 6 7 0 1 2 3 4 5 0 7 0 1 2 3 4 5 6 7 0 a. (i-j) mod 8 b. (i+j) mod 8 c. (i-j) div 8 d. (i+j) div 8 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 întreg, iar numerele citite sunt naturale. Scrieţi secvența înlocuind punctele de suspensie astfel încât, în urma executării secvenţei obţinute, valoarea variabilei bun să fie 0 dacă toate valorile citite au fost diferite de 2018, sau 1 altfel. (6p.) bun:=.........; for i:=1 to 20 do begin read(k); ....... end; 3. Fiind date două șiruri de valori naturale, s și c, cu număr egal de termeni, numim codificare a lui s pe baza codului c operația de construire a unui nou șir, în care inițial se copiază prima valoare din s, apoi, parcurgând de la stânga la dreapta restul șirului s, se adaugă valoarea curentă din s la începutul noului șir, dacă termenul de pe aceeași poziție în c este par, sau la finalul noului șir, în caz contrar. Exemplu: dacă șirul s este 7, 3, 6, 2, 8, iar codul c este 0, 12, 5, 23, 14 se obține șirul codificat 8, 3, 7, 6, 2 (inițial șirul conține termenul 7, apoi se adaugă, în ordinea parcurgerii lui s, termenii 3 și 8 la început, iar restul termenilor la final). Scrieţi un program Pascal care citeşte de la tastatură numere naturale din intervalul [0,102]: ns, nc (ns≥2, nc≥2), cei ns termeni ai șirului s, apoi cei nc termeni ai șirului c. Programul afișează pe ecran, separați prin câte un spațiu, termenii șirului obținut prin codificarea lui s pe baza lui c, dacă cele două șiruri au același număr de termeni, sau mesajul cod incorect, în caz contrar. Exemplu: dacă ns=5, nc=5, s=(7,3,6,2,8), iar c=(0,12,5,23,14), se afişează: 8 3 7 6 2 (10p.) 4. Numim secvență neuniformă a unui șir de numere naturale un subșir al acestuia, format din termeni aflați pe poziții consecutive în șirul dat, cu proprietatea că oricare doi termeni aflați pe poziții vecine sunt diferiți. Lungimea secvenței este egală cu numărul de termeni ai acesteia. Fișierul bac.txt conține un șir de cel mult 106 numere naturale din intervalul [0,9]. Numerele sunt separate prin câte un spațiu, iar în șir există cel puțin doi termeni diferiți pe poziții consecutive. Se cere să se afișeze pe ecran lungimea maximă a unei secvențe neuniforme a șirului aflat în fișier. Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al memoriei utilizate. Exemplu: dacă fişierul bac.txt conţine numerele 7 7 1 3 1 1 7 3 3 3 7 3 9 atunci pe ecran se afișează valoarea 4 a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.) b) Scrieţi programul Pascal corespunzător algoritmului descris. (8p.)
Baremul
Deschide PDF-ul originalBaremul · pagina 1
Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Varianta 2 Filiera teoretică, profilul real, specializarea ştiinţe ale naturii Barem de evaluare şi de notare 1 din 2 Examenul de bacalaureat naţional 2018 Proba E. d) Informatică Barem de evaluare și de notare (comun pentru limbajele C/C++ şi Pascal) Varianta 2 Filiera teoretică, profilul real, specializarea ştiinţe ale naturii • Se punctează oricare alte modalităţi de rezolvare corectă a cerinţelor. • Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin barem. Nu se acordă fracţiuni de punct. • Se acordă 10 puncte din oficiu. Nota finală se calculează prin împărţirea punctajului total acordat pentru lucrare la 10. • Utilizarea unui tip de date care depăşeşte domeniul de valori precizat în enunţ este acceptată dacă acest lucru nu afectează corectitudinea în funcţionarea programului. • Se vor lua în considerare atât implementările concepute pentru compilatoare pe 16 biţi, cât şi cele pentru compilatoare pe 32 de biţi. SUBIECTUL I (30 de puncte) 1. c 4p. 2. a) Răspuns corect: 69 6p. b) Pentru răspuns corect 4p. Se acordă câte 1p. pentru fiecare număr conform cerinței (de exemplu 68, 86, 608, 806, 680, 860). c) Pentru algoritm pseudocod corect -echivalenţă a prelucrării realizate, conform cerinţei (*) -corectitudine globală a algoritmului1) 6p. 5p. 1p. (*) Se acordă numai 2p. dacă algoritmul are o atribuire conform cerinței, principial corectă, dar algoritmul nu este echivalent cu cel dat. O soluție posibilă înlocuiește, în cadrul algoritmului, structura precizată cu atribuirea ss+x*x d) Pentru program corect -declarare a tuturor variabilelor -citire date -afişare date -instrucţiune de decizie corectă -instrucţiuni repetitive corecte (*) -atribuiri corecte -corectitudine globală a programului1) 10p. 1p. 1p. 1p. 2p. 3p. 1p. 1p. (*) Se acordă numai 2p. dacă doar una dintre instrucțiunile repetitive este conform cerinței. SUBIECTUL al II - lea (30 de puncte) 1. c 4p. 2. d 4p. 3. Pentru rezolvare corectă -identificare a substanțelor active specifice identice -determinare a dozei maxime -afișare preț/mesaj -corectitudine globală a secvenţei1) 6p. 1p. 2p. 2p. 1p.
Baremul · pagina 2
Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Varianta 2 Filiera teoretică, profilul real, specializarea ştiinţe ale naturii Barem de evaluare şi de notare 2 din 2 4. a) Pentru rezolvare corectă -citire a datelor -determinare a numărului cu proprietatea cerută (*) -afișare a datelor -scriere principial corectă a structurilor de control (**) 10p. 1p. 6p. 1p. 2p. (*) Se acordă câte 2p. pentru fiecare aspect al cerinței (identificare a unui număr cu proprietatea cerută pentru resturi, algoritm de numărare principial corect, numere din intervalul cerut). (**) Se va puncta orice formă corectă de structură repetitivă sau decizională. b) Pentru răspuns corect -precizare a rolului variabilelor utilizate (*) -date de intrare identificate corect -date de ieşire identificate corect 6p. 2p. 2p. 2p. (*) Se acordă numai 1p. dacă s-au identificat doar o parte din variabilele utilizate sau dacă nu pentru toate variabilele este corect precizat rolul acestora. SUBIECTUL al III - lea (30 de puncte) 1. b 4p. 2. Pentru răspuns corect -instrucţiune de iniţializare a variabilei bun -instrucţiune de actualizare a variabilei bun -corectitudine globală a secvenţei1) 6p. 2p. 3p. 1p. 3. Pentru program corect -declarare a cel puțin unei variabile de tip tablou -citire a elementelor tablourilor -determinare și afișare a valorilor conform cerinței (*) -tratare caz cod incorect -declarare variabile simple, corectitudine globală a programului1) 10p. 1p. 2x1p. 5p. 1p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect al cerinței (identificare valori pare/impare, plasare/afișare a unor valori din tablou la începutul șirului, plasare/afișare a unor valori din tablou la finalul șirului, ordine a valorilor, corespondență plasare valori/paritate cod). 4. a) Pentru răspuns corect -coerenţă a explicării metodei (*) -justificare a unor elemente de eficienţă, conform cerinței 2p. 1p. 1p. (*) Se acordă punctajul chiar dacă metoda aleasă nu este eficientă. b) Pentru program corect -operaţii cu fişiere: declarare, pregătire în vederea citirii, citire din fişier -determinare a valorii cerute (*, **) -utilizare a unui algoritm eficient (***) -afișare a tuturor datelor, declarare a tuturor variabilelor, corectitudine globală a programului1) 8p. 1p. 5p. 1p. 1p. (*) Se acordă punctajul chiar dacă soluţia propusă nu prezintă elemente de eficienţă. (**) Se acordă numai 3p. dacă algoritmul este principial corect, dar nu oferă rezultatul cerut pentru toate seturile de date de intrare. (***) Se acordă punctajul numai pentru un algoritm liniar, care utilizează eficient memoria. O soluţie posibilă parcurge datele din fișier, memorând perechea formată din ultimele valori citite, lungimea secvenței curente, precum și lungimea maximă determinată; pentru fiecare valoare curentă citită se actualizează perechea, lungimea secvenței curente, dacă perechea are proprietatea cerută și, după caz, lungimea maximă cerută. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.