Sunteți pe pagina 1din 2

Examen de bacalaureat Prob scris la INFORMATIC, Varianta Pascal Sesiunea special 2005

Proba E

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

I. Pentru fiecare dintre itemii de la 1 la 8, scriei pe foaia de examen litera corespunztoare rspunsului
1. tiind c i este o variabil ntreag, se constat c secvena Pascal alturat este incorect sintactic. Care este eroarea? lipsa delimitatorilor begin-end n structura for caracterul ; plasat incorect scrierea instruciunii if n linie cu instruciunea for delimitatorii ' (apostrof) folosii incorect Orice arbore cu n noduri are cel mult n-2 muchii b. exact n muchii c. exact n-1 muchii d. cel puin n muchii Numrul minim de noduri dintr-un graf neorientat cu 12 muchii, fr noduri izolate, graf format din exact 3 componente conexe este: 7 8 9 10 b. c. d. Variabila s:string[7] memoreaz irul ARIADNA. Instruciunea care afieaz litera D este: write(s[4]) write(s(4)) write(s[5]) write(s(5)) b. c. d. Se consider algoritmul care determin toate permutrile distincte de n obiecte (numerotate de la 1 la n) n care nu exist puncte fixe. O permutare (p1, p2, .., pn) are puncte fixe dac exist cel puin o component pi=i. De exemplu, pentru n=5, permutarea (2,3,5,4,1) are puncte fixe deoarece p4=4. Pentru n=4, stabilii cte permutri fr puncte fixe exist. 9 10 12 b. c. d. 8 Care este antetul corect al subprogramului calc, astfel nct secvena readln(n); calc(n,k); alturat s realizeze afiarea sumei cifrelor numrului natural n citit? writeln(k) procedure calc(k:longint; var n:integer); procedure calc(n:longint; k:integer); function calc(n:longint):integer; function calc(n:longint; var k:integer); ntr-o list dublu nlnuit cu cel puin 4 elemente, fiecare element reine n cmpurile adp i adu adresa elementului precedent i respectiv adresa elementului urmtor din list. Dac p reprezint adresa primului element din list, iar q este de acelai tip cu p, atunci secvena alturat realizeaz: interschimbarea primelor dou componente eliminarea celui de-al doilea element b. d. q:=p^.adu^.adp; p:=q^.adu; p^.adp:=nil; dispose(q) for i:=1 to 100 do if i mod 2=0 then write('*'); else write('-')

a. b. c. d. 2. a. 3. a. 4. a. 5.

a. 6. a. b. c. d. 7.

a. c. 8.

eliminarea primului element eliminarea ultimului element

a. b. c. d.

Este definit funcia max ce returneaz valoarea maxim dintre cele dou valori transmise ca parametri. Pentru un numr natural de cel mult dou cifre memorat n variabila ntreag n, stabilii care este expresia ce returneaz cea mai mare cifr a numrului n. max(n mod 10,n mod 100) max(n mod 10,n div 100) max(n div 10,n mod 10) max(n div 10,n mod 100) 1 Proba E

INFORMATIC, Varianta Pascal

II.

Se consider programul pseudocod alturat : S-a notat cu x|y relaia x divide pe y sau y este divizibil cu x. S-a folosit notaia [x] pentru a desemna partea ntreag a numrului real x. Ce valoare se afieaz pentru n=72? (5p.)

1. 2.

3. 4.

Determinai o valoare de dou cifre pentru variabila n astfel nct valoarea corespunztoare afiat s fie cu unu mai mare dect valoarea citit. (3p.) Scriei programul Pascal echivalent cu algoritmul dat. (10p.) Scriei cte numere naturale din intervalul nchis [20,40] pot fi introduse pentru variabila n astfel nct numrul afiat s reprezinte suma divizorilor numrului citit. (2p.)

citete n (nr. natural, n>0) S 0 ; i 1 ct timp i[n/i] execut dac i|n atunci s s+i+[n/i] i i+1 scrie s

III.
1. Se citesc de la tastatur un numr natural n(1<n<22) i apoi 3 numere naturale de cel mult 3 cifre fiecare a,b,c. S se construiasc n memorie tabloul cu n linii i n coloane care are pe ambele diagonale valoarea a, deasupra diagonalei principale (cu excepia diagonalei secundare) valoarea b i sub diagonala principal (cu excepia diagonalei secundare) valoarea c. Tabloul se va afia pe ecran, cte o linie a tabloului pe cte o linie a ecranului, cu spaii ntre elementele fiecrei linii. De exemplu, pentru n=5 i numerele 2, 5, 3, se construiete n memorie i se afieaz tabloul 2 5 5 5 2 3 2 5 2 5 3 3 2 5 5 3 2 3 2 5 2 3 3 3 2 (10p.) Se citesc de la tastatur un numr natural n (0<n<15000) i apoi un ir cresctor format din n numere naturale de cel mult 9 cifre fiecare. a) Scriei programul Pascal care determin i afieaz numrul de termeni ai irului dat care au proprietatea c aparin irului lui Fibonacci (f1=1, f2=1 i fi=fi-1+fi-2 pentru orice i>2). Alegei o metod eficient de rezolvare (ca timp de executare i gestionare a memoriei). (8p.) b) Descriei pe scurt metoda folosit explicnd eficiena acesteia (3-4 rnduri). (2p.) De exemplu, pentru n=6 i numerele 2, 5, 10, 13, 13, 25 se afieaz valoarea 4, deoarece termenii 2, 5, 13 i 13 fac parte din irul lui Fibonacci. Scriei programul Pascal care citete de la tastatur un ir de cel mult 20 de caractere i creeaz fiierul text BAC.TXT ce conine irul de caractere dat i toate permutrile circulare ale acestuia, fiecare pe cte o linie. De exemplu, dac se citete irul magma, atunci BAC.TXT va conine (nu neaprat n aceast ordine) permutrile circulare: magma amagm mamag gmama agmam (10p.)

2.

3.

INFORMATIC, Varianta Pascal

Proba E

S-ar putea să vă placă și