Informatica. Curs pentru clasele a 9-a si a 10-a (profilul real-intensiv) - Sorin Tudor
39.12 RON
NFORMATICA, curs pentru clasele a IX-a si a X-a (profilul real-intensiv) - Invata limbajul c++ standard!
Include continuturile manualelor pentru clasele a IX-a si a X-a,
respectand programa scolara aflata in vigoare.
Motivul aparitiei prezentului curs este dat de dorinta autorului de a prezenta unitar atat algorimii si structurile de date cerute de programa, cat si limbajul actual C++. Pentru a scapa de constrangerile programei, se pare, gandita mai mult pentru limbajul Pascal, s-a preferat introducerea unor notiuni strict necesare intelegerii limbajului C++. Desigur, cursul poate fi parcurs fara aceste notiuni, ca pana acum, dar... este pacat.
Iata cateva dintre motivele care au determinat aparitia acestui curs:
1) In C/C++ se lucreaza cu functii. Chiar "programul principal" este o functie. In schimb, conform programei scolare, subprogramele se studiaza in clasa a X-a. Pana atunci, elevii trebuie sa foloseasca functii de mai multe ori, cum ar fi, de exemplu, pentru prelucrarea sirurilor de caractere. De asemenea, poate si din perspectiva algoritmilor, ar fi util sa se studieze functiile mai din timp.
Avem o problema pentru care trebuie sa se elaboreze un algoritm. Nu este mai bine ca, mai intai, aceasta sa fie descompusa in subprobleme pentru care, la implementare, sa utilizam functii?
2) Studiul pointerilor si referintelor nu este de neglijat. In absenta acestui studiu, este dificil ca elevii sa inteleaga, de exemplu, functiile care prelucreaza un sir de caractere. Dincolo de utilitate, studiul lor reprezinta un exercitiu excelent de logica.
3) In actuala programa studiul POO se face, optional, in clasa a XII-a. Nu este cam tarziu? Daca ar fi studiata din timp, ma refer la incapsulare, atunci s-ar intelege cum se efectueaza scrierile / citirile in C++. De asemenea, se poate lucra foarte usor cu metodele unei clase numita STRING. Cu ajutorul lor, se prelucreaza cu mult mai simplu sirurile de caractere, ca in Pascal.
4) Studiul limbajului in mediul Borland este dezavantajos. Mai intai pentru ca programul dispune de putina memorie, iar in cazul unui concurs de programare, acesta este un dezavantaj foarte mare. De altfel, nici nu stiu in ce masura mai este permisa participarea la un concurs utilizand mediul Borland. Apoi, pentru ca C++ Standard contine cu mult mai mult decat ce permite cel utilizat in Borland. Cel mai important este faptul ca putem folosi STL-ul. Nu este de negiljat ca exista implementati in limbaj algoritmi de sortare, de identificare a unei subsecvente dintr-un sir, de generare a urmatoarei valori in ordine lexicografica, de utilizare a min sau max Heap-ului, toate in timp optim.
CUPRINS
Capitolul 1. Elemente de baza ale limbajului C++ 3
1. 1. Despre limbajul C++ 3
1. 2. Structura programelor C++ 4
1. 3. Vocabularul limbajului 5
1. 4. Despre variabile 6
1. 5. Citiri, scrieri 7
1. 6. Tipuri de date fundamentale 9
1. 7. Literali 10
1. 8. Expresii 12
1. 8. 1. Generalitati 12
1. 8. 2. Operatori C++ 13
1. 8. 2. 1. Operatori aritmetici 13
1. 8. 2. 2. Operatori relationali 15
1. 8. 2. 3. Operatori de egalitate 16
1. 8. 2. 4. Operatori de incrementare si decrementare 16
1. 8. 2. 5. Operatori logici 17
1. 8. 2. 6. Operatori logici pe biti 18
1. 8. 2. 7. Operatori de atribuire 19
1. 8. 2. 8. Operatorul ',' (virgula) 21
1. 8. 2. 9. Operatorul conditional 21
1. 8. 2. 10. Operatorul sizeof 22
1. 8. 2. 11. Operatorul de conversie explicita 22
Probleme propuse 23
Raspunsuri 26
Capitolul 2. Instructiunile limbajului C++ 27
2. 1. Instructiunea expresie 27
2. 2. Instructiunea IF 28
2. 3. Instructiunea compusa 30
2. 4. Instructiunea SWITCH 30
2. 5. Instructiunea WHILE 31
2. 6. Instructiunea DO WHILE 33
2. 7. Instructiunea FOR 34
2. 8. Instructiunile "BREAK” si "CONTINUE” 37
Probleme propuse 38
Raspunsuri 44
Capitolul 3. Tablouri 45
3. 1. Tablouri in C++ 45
3. 2. Algoritmi fundamentali care lucreaza cu vectori 47
3. 2. 1. Maxim, minim 47
3. 2. 2. Elemente distincte 48
3. 2. 3. Multimi 49
3. 2. 4. Metode de sortare 55
3. 2. 5. Interclasare 60
3. 2. 6. Cautare binara 62
3. 3. Aplicatii cu matrice 63
3. 4. Sortarea fara comparatii 65
Probleme propuse 67
Capitolul 4. Subprograme 73
4. 1. Notiunea de subprogram 73
4. 2. Exemple de utilizare a functiilor 74
4. 3. Structura functiilor si apelul lor 76
4. 3. 1. Generalitati 76
4. 3. 2. Declararea variabilelor 78
4. 3. 3. Transmiterea parametrilor 81
4. 5. Definirea si declararea unui subprogram 84
4. 6. Aplicatii care folosesc subprograme 85
319
4. 7. Functii "matematice" 89
4. 8. Generarea numerelor aleatoare 90
4. 9. Supraincarcarea functiilor 91
4. 10. Functii cu un numar variabil de parametri 92
Probleme propuse 94
Raspunsuri 107
Capitolul 5. Pointeri si referinte 108
5. 1. Pointeri 108
5. 2. Referinte 111
5. 3. Modificatorul "const” 113
5. 4. Legatura intre masive si pointeri 118
5. 5. Operatii cu pointeri 121
5. 6. Expresii indexate 122
5. 7. Pointeri catre ...
N/A