Sunteți pe pagina 1din 257

Cuprins

Introducere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Capitolul 1. VOCABULARUL ŞI SINTAXA LIMBAJULUI


1.1. Initiere in limbajul PASCAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2. Metalimbajul BNF ............................................ 8
1.3. Diagrame sintactice........................................... 1O
1.4. Alfabetul limbajului. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5. Vocabularul limbajului. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6. Simbolurile speciale şi cuvintele-cheie ............................. 14
1.7. ldentificatori. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........... "16
1.8. Numere................................................... 17
1.9. Şiruri de caractere ............................................ 20
1.10. Etichete................................................... 21
1.11. Directive .................................................. 21
1.12. Separatori. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Capitolul 2. TIPURI DE DATE SIMPLE


2.1. Conceptul de dată ............................................ 24
2.2. Tipul de date i nteger. ....................................... 25
2.3. Tipul de date real. .......................................... 27
2.4. Tipul de date boolean ........................................ 30
2.5. Tipul de date char ........................................... 32
2.6. Tipuri de date enumerare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.7. Tipuri de date subdomeniu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.8. Generalităti despre tipurile ordinale de date......................... 40
2.9. Definirea tipurilor de date. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.1 O. Declaratii de variabile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.11. Definitii de constante ......................................... 51

Capitolul 3. INSTRUCŢIUNI
3.1. Conceptul de actiune.......................................... 56
3.2. Expresii .................................................... 57
3.3. Evaluarea expresiilor.......................................... 62
3.4. Tipul expresiilor PASCAL. ...................................... 64
3.5. Instrucţiunea de atribuire....................................... 67
3.6. lnstructiunea apel de procedură. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.7. Afişarea informatiei alfanumerice ................................. 71
3.8. C1tirea datelor de la tastatură .................................... 74
3.9. lnstructiunea de efect nul. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.10. lnstructiunea i f ............................................ 77
3.11. lnstructiunea case. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.12. Instrucţiunea for. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.13. lnstructiunea compusă. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.14. lnstructiunea whi le. . . . .................................... 91
3.15. lnstructiunea repeat. ...................................... 95
3.16. lnstructiunea goto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
3.17. Generalităti despre structura unui program PASCAL. . . . . . . . . . . . . . . . . 102

Capitolul 4. TIPURI DE DATE STRUCTURATE


4.1. Tipuri de date tablou (array) ................................... 105
4 2. Tipuri de date şir de caractere ................................... 112

3
4.3. Tipuri de date articol (record). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
4.4. Instrucţiunea with. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.5. Tipuri de date mulţime (set) .................................... 124
4.6. Generalităti despre fişiere ...................................... 128
4.7. Fişiere secventiale.......... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.8. Fişiere cu acces direct. ........................................ 135
4.9. Fişiere text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

Capitolul 5. FUNCŢII ŞI PROCEDURI


5.1. Subprograme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.2. Functii. .................................................... 145
5.3. Proceduri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
5.4. Parametri formali funcţie 1 procedură. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
5.5. Domenii de vizibilitate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
5.6. Comunicarea prin variabile globale............................... 161
5.7. Efecte colaterale ............................................. 163
5.8. Recursia ................................................... 167
5.9. Declaratii anticipate ........................................... 170
5.10. Sintaxa declaratiilor şi apelurilor de subprograme. . . . . . . . . . . . . . . . . . . 172

Capitolul 6. STRUCTURI DINAMICE DE DATE


6.1. Variabile dinamice. Tipul referinţă. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
6.2. Structuri de date. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
6.3. Liste unidirectionala........................................... 181
6.4. Prelucrarea listelor unidirectionala ................................ 186
6.5. Liste bidirectionale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
6.6. Stiva ...................................................... 197
6.7. Cozi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
6.8. Arbori binari. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
6.9. Parcurgerea arborilor binari. .................................... 213
6.10. Arbori binari de căutare ....................................... 218
6.11. Arbori de ordinul m .......................................... 224
6.12. Tipul de date pointer ....................................... 230

Capitolul 7. METODE DE ELABORARE A PRODUSELOR


PROGRAM
7 .1. Programarea modulară. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
7.2. Testarea şi depanarea programelor............................... 245
7.3. Elemente de programare structurată .............................. 249

Anexa 1. Vocabularul limbajului PASCAL. ............................. 252


Anexa 2. Sintaxa limbajului PASCAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Bibliografie..................................................... 256

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