BACALAUREAT 2000 INFORMATICA
(profilul informatica)
Programa pentru sustinerea probei care corespunde ariei Tehnologii

OBIECTIVE
1. Candidatii trebuie sa fie capabili sa recunoasca o rezolvare corecta pentru o problema data
2. Candidatii trebuie sa fie capabili sa analizeze o problema si sa aleaga metoda potrivita pentru rezolvarea ei
3. Candidatii trebuie sa fie capabili sa reprezinte algoritmi de rezolvare ai problemelor
4. Candidatii trebuie sa fie capabili sa foloseasca corect elementele unui limbaj de programare
5. Candidatii trebuie sa fie capabili sa transpuna pasii unui algoritm în structuri de control specifice unui limbaj
6. Candidatii trebuie sa fie capabili sa organizeze informatiile în diferite structuri de date
7. Candidatii trebuie sa fie capabili sa scrie sub forma modularizata programele
8. Candidatii trebuie sa fie capabili sa utilizeze datele stocate pe suport extern
9. Candidatii trebuie sa fie capabili sa foloseasca tehnici si metode de programare studiate în liceu
10. Candidatii trebuie sa fie capabili sa enumere avantajele si dezavantajele metodelor de programare studiate în liceu
11. Candidatii trebuie sa fie capabili sa aleaga metoda de programare potrivita pentru rezolvarea problemelor
12. Candidatii trebuie sa fie capabili sa foloseasca structurile dinamice de date în rezolvarea problemelor.
13. Algoritmi
1.1. Notiunea de algoritm, caracteristici
1.2. Obiectele cu care lucreaza algoritmii (date, variabile, expresii, operatii)

2. Principiile programarii structurate
2.1. Structuri de baza;
- structurile liniara, alternativa si repetitiva
- descrierea algoritmilor cu ajutorul schemelor logice si în pseudocod;

3. Elementele de baza ale unui limbaj de programare ( Pascal sau C)
3.1. Vocabularul limbajului
3.2. Constante
3.3. Notiunea de tip de data
3.4. Variabile; declararea variabilelor
3.5. Definirea constantelor
3.6. Expresii
3.7. Citirea/scrierea datelor

4. Structuri de control
4.1. Structura liniara; instructiunile de atribuire si compusa
4.2. Structura alternativa;
4.3. Structura repetitiva;
5. Algoritmi simpli (care nu necesita utilizarea datelor structurate)
Reprezentare în pseudocod si/sau scheme logice
5.1. Probleme care opereaza asupra cifrelor unui numar
5.2. Numere prime
5.3. Algoritmul lui Euclid
5.4. Sirul lui Fibonacci (fara array)

6. Tipuri structurate de date
6.1. Tipul tablou
6.2. Tipul înregistrare
6.3. Tipul multime


7. Aplicatii cu tipuri de date structurate
7.1. Tablouri
7.1.1. Determinare minim/maxim
7.1.2. Ordonare (o metoda de ordonare :bulelor, insertie, selectie, numarare)
7.1.3. Interclasare
7.1.4. Cautare binara
7.1.5. Prelucrari de siruri de caractere
7.2. Înregistrari
7.3. Multimi
7.3.1. Operatii cu multimi (reuniune, intersectie, diferenta)

8. Subprograme
8.1. Domeniul de vizibilitate al identificatorilor
8.2. Dezvoltare ascendenta si dezvoltare descendenta a programelor
8.3. Proceduri
8.3.1. Declarare si apel
8.3.2. Parametri formali si parametri efectivi
8.3.3. Parametri transmisi prin valoare si parametri transmisi prin referinta
8.4. Functii; declarare si apel
8.5. Proceduri si functii predefinite


9. Aplicatii care necesita utilizarea subprogramelor
9.1. Scrierea modularizata a programelor
9.2. Programe ce evidentiaza rolul parametrilor
9.3. Programe care utilizeaza functii si proceduri predefinite


10. Fisiere. Aplicatii.
10.1. Notiunea de fisier. Validare date
10.2. Fisiere text

11. Metoda Greedy
11.1. Prezentarea generala a metodei
11.2. Probleme


12. Metoda backtracking (iterativa sau recursiva)
12.1. Prezentare generala
12.1.1. Problema celor opt regine
12.1.2. Generarea partitiilor unui numar natural
12.1.3. Plata unei sume cu bancnote de valori date
12.1.4. Labirint
12.1.5. Algoritm de acoperire a tablei de sah prin saritura calului
12.1.6. Orice aplicatie asemanatoare celor de mai sus

13. Recursivitate
13.1. Prezentare generala
13.2. Functii recursive
13.2.1. Exemple la recursivitatea directa prin comparare cu metoda iterativa
- factorial
- sirul lui Fibonacci
- cel mai mare divizor comun
13.3. Proceduri recursive
- inversarea elementelor dintr-un sir

13.4. Metoda Divide et impera
- determinarea maximului si minimului unui sir
- cautare binara
- turnurile din Hanoi

14. Probleme de combinatorica
14.1. Generarea produsului cartezian
14.2. Generari de submultimi
14.3. Generarea aranjamentelor
14.4. Generarea permutarilor

15. Structuri dinamice de date (alocare dinamica)
15.1. Tipul referinta
15.2. Notiunea de variabila dinamica
15.3. Structuri de date înlantuite
15.3.1. Liste
- operatii elementare: inserare, cautare, eliminare element
- stive, cozi, liste dublu înlantuite, liste circulare; operatii specifice

Recomandari bibliografice

1. Rancea, Doina- Limbajul PASCAL, Editura Libris, Cluj, 1993-1996
2. Tudor, Sorin- Algoritmi si limbaje de programare,Editura L&S, Bucuresti, 1995
3. Tudor, Sorin- Tehnici de programare, Editura TEORA, Bucuresti,1995
4. Tudor, Sorin-Bazele programarii în C++, Editura L&S, Bucuresti
5. Niculescu, Stelian si Eftene, Sorin - Algoritmi si limbaje de programare, Editura Didactica si Pedagogica, Bucuresti, 1995, 1997
6. Patrut, Bogdan- Învatati limbajul PASCAL în 12 lectii, Editura TEORA, Bucuresti,1997
7. Patrut Bogdan- Algoritmi si limbaje de programare, Editura Teora, Bucuresti, 1998
8. Ivasc Cornelia si Pruna Mona- Bazele informaticii clasa a X-a, Editura Petrion, Bucuresti, 1996
9. Ivasc Cornelia si Pruna Mona- Bazele informaticii, Caiet de laborator, Editura Petrion, Bucuresti, 1997
10. Daniela Sârbu-Algoritmi si limbaje de programare, E.D.P, Bucuresti, 1998
11. Stoilescu Dorian-Manual de C/C++ pentru licee, Editura Radial Galati
12. Atanasiu Adrian, Pintea Rodica-Culegere de probleme Pascal, Editura Petrion, Bucuresti, 1996
13. S.Niculescu, E. Cerchez, D.Lica, M.Serban, D. Mânz, D.Popescu, A.Voicu, E.Onea- Bacalaureat si atestat la informatica, Editura L&S, Bucuresti 1999
14. D. Oprescu, C.Bâlanescu, R.Pintea, D. Grigoriu, A. Voicu-Teste de sinteza în programare, Editura L&S, Bucuresti 1999
15. *** - Culegere de probleme, Editura Computer Libris Agora, Cluj, 1998
16. Gazeta de informatica, Editura Computer Libris Agora, Cluj