Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info 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 original

Subiectul · 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, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
1 din 3
Examenul de bacalaureat naţional 2018
Proba E. d)
Informatică
Limbajul Pascal
Varianta 2
Filiera teoretică, profilul real, specializările: matematică-informatică
matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
• 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, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
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. În declararea alăturată, variabila m
memorează, pentru fiecare dintre cele 20
de medicamente dintr-o farmacie, prețul,
precum și date despre substanța activă
specifică: doza și codul acesteia. O
expresie a cărei valoare reprezintă codul
substanţei active specifice din primul
medicament este: (4p.)
type medicament=record
pret:real;
substanta: record
cod, doza:integer
end
end;
var m:array[1..20] of medicament;
a. m[1].cod.substanta b. m[1].substanta.cod
c. m.cod.substanta[1] d. m.substanta.cod[1]
2. Într-un graf orientat cel puțin două vârfuri au gradul intern 2, cel puțin un vârf are gradul
intern 3 și cel puțin un vârf are gradul extern 3. Numărul minim de vârfuri ale grafului este:
(4p.)
a. 3 b. 4 c. 5 d. 6
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Un arbore are 9 noduri, numerotate de la 1 la 9, şi muchiile [1,2], [1,6], [1,8], [1,9],
[2,3], [2,7], [4,5], [5,7]. Scrieți trei noduri care ar putea fi alese drept rădăcină
astfel încât nodul 2 să aibă un număr minim de descendenți. (6p.)
4. Variabilele i şi j sunt de tip întreg, iar variabila a memorează un
tablou bidimensional cu 9 linii şi 9 coloane, numerotate de la 0 la
8, având iniţial toate elementele egale cu -1.
Fără a utiliza alte variabile, scrieţi secvenţa de instrucţiuni de mai
jos, înlocuind punctele de suspensie astfel încât, în urma
executării secvenţei obţinute, variabila a să memoreze tabloul
alăturat.
for i:=0 to 8 do
for j:=0 to 8 do
.................. (6p.)
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
5. Fiind dat un cuvânt s, format numai din litere, și un cod c, de aceeași lungime cu s, format
numai din cifre, numim codificare a lui s pe baza codului c operația de construire a unui
nou șir, în care inițial se copiază prima literă din s, apoi, parcurgând de la stânga la dreapta
restul șirului s, se adaugă litera curentă la începutul noului șir, dacă cifra corespunzătoare
de pe aceeași poziție în c este pară, sau la finalul noului șir, în caz contrar.
Exemplu: dacă șirul s este etalon, iar codul este 025843 se obține cuvântul oltean
(inițial șirul conține litera e, apoi se adaugă, în ordinea parcurgerii lui s, literele t, l și o la
început, iar restul literelor la final).
Scrieţi un program Pascal care citeşte de la tastatură două cuvinte, notate cu s și c, fiecare
având cel mult 102 caractere, s fiind format doar din litere mici ale alfabetului englez, iar c
fiind format doar din cifre. După primul cuvânt se tastează Enter. Programul construiește în
memorie și afișează pe ecran cuvântul obținut prin codificarea lui s pe baza lui c, dacă cele
două cuvinte au aceeași lungime, sau mesajul cod incorect, în caz contrar.
Exemplu: dacă se citesc cuvintele alăturate, se afişează pe ecran cuvântul
oltean (10p.)
etalon
025843

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, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
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. O companie organizează cursuri de programare în limbaje din mulțimea
{PHP, Java, Python, C#, SQL}, astfel încât o persoană poate opta pentru un curs în care
se studiază un număr par de limbaje, dar nu poate alege Java și Python în același curs.
Utilizând metoda backtracking se generează toate posibilitățile unei persoane de a opta
pentru un curs în cadrul ofertei companiei. Două cursuri sunt distincte dacă diferă prin cel
puțin un limbaj sau prin ordinea în care se studiază limbajele. Primele cinci soluții generate
sunt, în această ordine: (PHP, Java), (PHP, Java, C#, SQL), (PHP, Java, SQL, C#),
(PHP, Python), (PHP, Python, C#, SQL).
Soluția generată imediat după (Java, PHP, SQL, C#) este: (4p.)
a. (Java, C#) b. (Java, PHP, C#, SQL)
c. (SQL, Python) d. (SQL, Java, C#, PHP)
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Subprogramul f este definit alăturat.
Scrieți trei valori naturale pe care le
poate avea variabila întreagă x astfel
încât, în urma apelului de mai jos,
pentru fiecare dintre acestea, să NU se
afișeze niciun caracter *
f('e',x);
(6p.)
procedure f(ch:char; x:integer);
begin
write(ch);
if x=0 then
write('*')
else if ch='a' then
write(x)
else
f(chr(ord(ch)-1),x-1)
end;
3. Subprogramul resturi are patru parametri, n, x, y și r, prin care primeşte câte un număr
natural din intervalul [1,109], r<x<y<n. Subprogramul returnează 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.
Scrieţi definiţia completă a subprogramului.
Exemplu: pentru n=200, x=5, y=14 și r=2, subprogramul returnează numărul 3 (pentru
numerele 2, 72 și 142 atât restul împărțirii la 5, cât și restul împărțirii la 14, este 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 trei termeni
aflați pe poziții consecutive 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 trei 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 7 7 5 3 3 3 7 8 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 original

Baremul · pagina 1

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 2
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
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, specializările: matematică-informatică
matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
• 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 conform
cerinței
-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. b 4p.
2. b 4p.
3. Pentru rezolvare corectă 6p. Se acordă câte 2p. pentru fiecare nod
conform cerinței (oricare dintre nodurile
1,6,8,9).

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, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
Barem de evaluare şi de notare
2 din 2
4. Pentru rezolvare corectă
-acces la un element al tabloului
-atribuire a valorii 0 elementelor indicate (*)
-atribuire a valorilor nenule elementelor
indicate (**)
-corectitudine globală a programului1)
6p.
1p.
2p.
2p.
1p.
(*) Se acordă numai 1p. dacă au fost atribuite
valori doar elementelor uneia dintre
diagonale.
(**) Se acordă numai 1p. dacă s-au atribuit
valorile precizate unor elemente ale tabloului,
dar nu tuturor celor indicate în cerinţă.
5. Pentru program corect
-declarare a cel puțin unei variabile care să
memoreze un șir de caractere
-citire a şirurilor
-determinare a șirului conform cerinței (*)
-afişare date şi tratare caz cod incorect
-declarare variabile simple, corectitudine
globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect
al cerinței (identificare cifre pare/impare,
plasare a unor litere la începutul unui
cuvânt, plasare a unor litere la finalul unui
cuvânt, ordine a literelor, corespondență
plasare litere/paritate cifre, transformare în
memorie).
SUBIECTUL al III - lea (30 de puncte)
1. a 4p.
2. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare valoare
conform cerinței (orice număr mai mare sau
egal cu 5).
3. Pentru subprogram corect
-structură antet principial corectă a
unui subprogram de tipul cerut
-declarare corectă a parametrilor
-determinare a numărului cu
proprietatea cerută (*)
-returnare a rezultatului
-declarare a tuturor variabilelor
locale, corectitudine globală a
subprogramului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) 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).
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 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 tripletul format din ultimele valori
citite, lungimea secvenței curente, precum
și lungimea maximă determinată; pentru
fiecare valoare curentă citită se
actualizează tripletul, lungimea secvenței
curente, dacă tripletul are proprietatea
cerută și, după caz, lungimea maximă
cerută.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.