Sunteți pe pagina 1din 4

Simularea examenului de bacalaureat 2004 Prob scris la INFORMATIC, profil matematicinformatic Varianta Pascal

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n programele cerute la cerinele subiectului III, identificatorii utilizai trebuie s respecte precizrile din enun (cursive), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat).

I. Pentru fiecare din itemii de la 1 la 10, scriei pe foaia de examen litera corespunztoare rspunsului corect. Fiecare rspuns corect se noteaz cu 4 puncte.
1.

a. c.
2.

tiind c variabila x este utilizat pentru a memora i utiliza n calcule media obinut de un elev la bacalaureat, medie calculat cu dou zecimale exacte, atunci declararea corect a variabilei x este: var x:string; b. var x:real; var x:byte; d. var x:array[1..2]of real; Algoritmul lui Euclid este utilizat pentru : calculul celui mai mare divizor comun a dou numere naturale calculul numrului de divizori ai unui numr natural descompunerea n factori primi a unui numr natural calculul numrului de multipli ai unui numr natural procedure fa(x:byte); var i:byte; n subprogramul alturat, i este: begin for i:=1 to x do write(i:4) end; parametru de intrare b. variabil global parametru de ieire d. variabil local Cineva dorete s obin i s prelucreze toate numerele formate din 3 cifre din irul 2,9,4 i le genereaz exact n ordinea: 222, 229, 224, 292, 299, 294, 242, 249, 244, 922, 929, 924, 992, 999, 994, 942, 949, 944, 422, 429, 424, 492, 499, 494, 442, 449, 444. Dac dorete s obin prin acelai procedeu numerele formate din 4 cifre, atunci dup numrul 4944 va urma: 4422 b. 4949 c. 9222 d. 4924 Se poate obine printr-o formul de calcul cel mai mare numr natural divizibil cu k, numr care s fie mai mic sau egal cu n (pentru orice numere naturale nenule k i n) ? Care este aceasta? nu se poate printr-o simpl formul de calcul b. n - n mod k k * n div k d. n mod k + n div k Pentru definiia alturat a subprogramului sk, stabilii cte asteriscuri se afieaz la apelul sk(6)? procedure sk(x:byte); var i:byte; begin for i:=1 to x div 2 do sk(i); write('*') end; un numr impar de asteriscuri 6 citete n {numr real} dac n 0 atunci x"+" altfel x"-" sfrit dac pentru i=1,|n| execut scrie x,i sfrit pentru if n>=0 then x:='+'; else x:='-' for i:=1 to abs(n) do write(x,i)

a. b. c. d.
3.

a. c.
4.

a.
5.

a. c.
6.

a. 4 c. 2
7.

b. d.

n secvena pseudocod alturat s-a folosit notaia |n| pentru valoarea absolut (modulul) numrului n. Instruciunea de decizie corespunztoare se scrie n limbajul Pascal astfel:

a. if n>=0 then x:='+' else x:='-' c. readln(n)


8.

b. d.

a. c.

Dac un ir conine numere naturale oarecare de cel mult 4 cifre, numere aflate n ordine descresctoare, atunci cel mai eficient algoritm care verific dac o valoare oarecare de 3 cifre exist sau nu n ir presupune: o cutare secvenial de la stnga la dreapta b. o cutare prin testri pe poziii aleatoare o cutare binar d. o cutare secvenial de la dreapta la stnga 1 Informatic, profil matematic-informatic, varianta Pascal

Simulare bacalaureat 2004

9.

Stabilii care dintre grafurile urmtoare este un arbore:

a.

b.

c.

d.

10.

a. 0 0 1

Care este matricea de adiacen a unui graf neorientat cu 4 noduri, 2 muchii i cel puin un nod izolat? b. 0 1 1 0 c. 0 1 0 1 d. 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 Se consider programul pseudocod alturat n care s-a folosit notaia x%y pentru restul mpririi ntregi a lui x la y: citete n (numr natural) in ; s0 ct timp i>0 execut ss+i dac i%2=0 atunci ii-1 altfel ii-2 scrie s

II.

4p. 2p. 2p. 8p. 4p.


III.

1. Ce se va afia pentru n=11? 2. tiind c valoarea lui n nu poate depi 30, stabilii dac, n
programul Pascal corespunztor, declararea var n,i:byte; s:integer; este corect. Justificai.

3. Dac exist, scriei o valoare pentru variabila n astfel nct s 4. 5. Scriei algoritmul pseudocod corespunztor care utilizeaz un
alt tip de structur repetitiv se afieze valoarea 24. Scriei programul Pascal corespunztor algoritmului dat.

5p.

1. tiind c este definit tipul vector=array[1..1000] of integer, scriei un subprogram care


construiete (fr a afia) vectorul v care conine, n ordine descresctoare, cele mai mici n numere naturale pare. De exemplu, pentru n=7 vectorul v va conine valorile 12,10,8,6,4,2,0. Valoarea lui n (n<100) se transmite ca parametru, vectorul v fiind i el parametru al subprogramului.

5p. 10p.

2. Scriei un program care, pentru un numr real r dat de la tastatur, afieaz prima sa zecimal. De
exemplu, pentru r=4.315, se afieaz 3.

3. Se tie c este definit o funcie nrap care:


primete prin intermediul parametrului nr un numr natural de cel mult 9 cifre i prin intermediul parametrului cif o cifr ntre 0 i 9; returneaz numrul de apariii ale cifrei cif n scrierea numrului nr n baza 10. De exemplu, pentru numrul 2535 i cifra 5, se returneaz 2, iar pentru 2535 i cifra 7, se returneaz 0. a) Scriei antetul subprogramului nrap. b) Scriei declarrile de date i programul principal n care se verific dac un numr natural k citit de la tastatur are toate cifrele distincte sau nu, folosind apeluri ale subprogramului nrap.

10p.

4. Se citesc din fiierul BAC.TXT mai multe iruri de numere naturale nenule, sfritul fiecrui ir fiind marcat
de o valoare 0 (care nu se consider c face parte din vreun ir). tiind c fiecare dintre iruri este un ir strict cresctor i c n total sunt cel mult 5000 de numere, scriei un program care s realizeze afiarea tuturor numerele nenule distincte din fiier n ordinea cresctoare a valorilor lor. De exemplu, dac fiierul conine: 4 9 12 30 0 5 7 10 12 14 20 0 4 9 10 0 atunci irul afiat este: 4 5 7 9 10 12 14 20 30 a) Descriei dou metode de rezolvare, una dintre metode fiind eficient ca timp de executare. b) Scriei programul Pascal corespunztor metodei eficiente descrise la a).

Simulare bacalaureat 2004

Informatic, profil matematic-informatic, varianta Pascal

Simularea examenului de bacalaureat 2004 Prob scris la INFORMATIC, profil matematicinformatic Varianta C/C++

Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n programele cerute la cerinele subiectului III, identificatorii utilizai trebuie s respecte precizrile din enun (cursive), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Au fost folosite n enunuri funciile scanf i printf pentru citirea i respectiv scrierea datelor, fr a influena calitatea rspunsurilor celor care utilizeaz alte metode pentru citire i scriere.

I. Pentru fiecare din itemii de la 1 la 10, scriei pe foaia de examen litera corespunztoare rspunsului corect. Fiecare rspuns corect se noteaz cu 4 puncte.
1. tiind c variabila x este utilizat pentru a memora i utiliza n calcule media obinut de un elev la bacalaureat, medie calculat cu dou zecimale exacte, atunci declararea corect a variabilei x este: char x; b. float x; c. unsigned int x; d. float x[2]; Algoritmul lui Euclid este utilizat pentru : calculul celui mai mare divizor comun a dou numere naturale calculul numrului de divizori ai unui numr natural descompunerea n factori primi a unui numr natural calculul numrului de multipli ai unui numr natural n subprogramul alturat, i este: void fa(unsigned int x) {unsigned int i; for(i=1;i<=x;i++) printf("%d",i);} b. variabil global d. variabil local

a.
2.

a. b. c. d.
3.

a. parametru de intrare c. parametru de ieire


4.

a.
5.

Cineva dorete s obin i s prelucreze toate numerele formate din 3 cifre din irul 2,9,4 i le genereaz exact n ordinea: 222, 229, 224, 292, 299, 294, 242, 249, 244, 922, 929, 924, 992, 999, 994, 942, 949, 944, 422, 429, 424, 492, 499, 494, 442, 449, 444. Dac dorete s obin prin acelai procedeu numerele formate din 4 cifre, atunci dup numrul 4944 va urma: 4422 b. 4949 c. 9222 d. 4924 Se poate obine printr-o formul de calcul cel mai mare numr natural divizibil cu k, numr care s fie mai mic sau egal cu n (pentru orice numere naturale nenule k i n) ? Care este aceasta? nu se poate printr-o simpl formul de calcul b. nn%k (kn)/k d. n%k + n/k Pentru definiia alturat a subprogramului sk, stabilii cte asteriscuri se afieaz la apelul sk(6)? void sk(unsigned int x) {unsigned int i; for(i=1;i<=x/2;i++) sk(i); printf("*"); } un numr impar de asteriscuri 6 citete n {numr ntreg} dac n 0 atunci x"+" altfel x"-" sfrit dac pentru i=1,|n| execut scrie x,i sfrit pentru if n>=0 x:='+'; else x:='-'; for(i=1;i<=abs(n);i++) printf("%c%d",x,i)

a. c.
6.

a. 4 c. 2
7.

b. d.

n secvena pseudocod alturat s-a folosit notaia |n| pentru valoarea absolut (modulul) numrului n. Instruciunea de decizie corespunztoare se scrie n limbajul C/C++ astfel:

a. if(n>=0) x='+'; else x='-'; c. scanf("%d",&n);

b. d.

Simulare bacalaureat 2004

Informatic, profil matematic-informatic, varianta C/C++

8.

a. c.
9.

Dac un ir conine numere naturale oarecare de cel mult 4 cifre, numere aflate n ordine descresctoare, atunci cel mai eficient algoritm care verific dac o valoare oarecare de 3 cifre exist sau nu n ir presupune: o cutare secvenial de la stnga la dreapta b. o cutare prin testri pe poziii aleatoare o cutare binar d. o cutare secvenial de la dreapta la stnga Stabilii care dintre grafurile urmtoare este un arbore:

a.

b.

c.

d.

10.

a.

Care este matricea de adiacen a unui graf neorientat cu 4 noduri, 2 muchii i cel puin un nod izolat? 0 0 1 b. 0 1 1 0 c. 0 1 0 1 d. 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 Se consider programul pseudocod alturat n care s-a folosit notaia x%y pentru restul mpririi ntregi a lui x la y: citete n (numr natural) in ; s0 ct timp i>0 execut ss+i dac i%2=0 atunci ii-1 altfel ii-2 scrie s

II.

4p. 2p. 2p. 8p. 4p.


III.

1. Ce se va afia pentru n=11? 2. tiind c valoarea lui n nu poate depi 30, stabilii dac, n
programul C/C++ corespunztor, declararea unsigned int n,i,s; este corect. Justificai.

3. Dac exist, scriei o valoare pentru variabila n astfel nct s 4. 5. Scriei algoritmul pseudocod corespunztor care utilizeaz un
alt tip de structur repetitiv se afieze valoarea 24. Scriei programul C/C++ corespunztor algoritmului dat.

5p.

1. Scriei un subprogram care construiete (fr a afia) vectorul v care conine, n ordine descresctoare,
cele mai mici n numere naturale pare. De exemplu, pentru n=7 vectorul v va conine valorile 12,10,8,6,4,2,0. Valoarea lui n (n<100) se transmite ca parametru, vectorul v fiind i el parametru al subprogramului.

5p. 10p.

2. Scriei un program care, pentru un numr real r dat de la tastatur, afieaz prima sa zecimal. De
exemplu, pentru r=4.315, se afieaz 3.

3. Se tie c este definit o funcie nrap care:


primete prin intermediul parametrului nr un numr natural de cel mult 9 cifre i prin intermediul parametrului cif o cifr ntre 0 i 9; returneaz numrul de apariii ale cifrei cif n scrierea numrului nr n baza 10. De exemplu, pentru numrul 2535 i cifra 5, se returneaz 2, iar pentru 2535 i cifra 7, se returneaz 0. a) Scriei antetul subprogramului nrap. b) Scriei declarrile de date i programul principal n care se verific dac un numr natural k citit de la tastatur are toate cifrele distincte sau nu, folosind apeluri ale subprogramului nrap.

10p.

4. Se citesc din fiierul BAC.TXT mai multe iruri de numere naturale nenule, sfritul fiecrui ir fiind marcat
de o valoare 0 (care nu se consider c face parte din vreun ir). tiind c fiecare dintre iruri este un ir strict cresctor i c n total sunt cel mult 5000 de numere, scriei un program care s realizeze afiarea tuturor numerele nenule distincte din fiier n ordinea cresctoare a valorilor lor. De exemplu, dac fiierul conine: 4 9 12 30 0 5 7 10 12 14 20 0 4 9 10 0 atunci irul afiat este: 4 5 7 9 10 12 14 20 30 a) Descriei dou metode de rezolvare, una dintre metode fiind eficient ca timp de executare. b) Scriei programul C/C++ corespunztor metodei eficiente descrise la a).

Simulare bacalaureat 2004

Informatic, profil matematic-informatic, varianta C/C++