Info - XI
Pagina conține materia pentru Informatică, profilul Mate-Info, Clasa a XI-a
Pagina conține materia pentru Informatică, profilul Mate-Info, Clasa a XI-a
2025-2026
Modulul 1
Recapitulare
Capitolul de recapitulare reia conceptele fundamentale despre vectori și matrici, evidențiind modul de declarare, parcurgere și prelucrare a acestora. Sunt prezentate exemple simple de algoritmi pentru operații de bază, utile ca fundament pentru teme mai avansate.
Vectori de Frecvență
Capitolul despre vectori de frecvență prezintă metoda de numărare a aparițiilor elementelor prin folosirea unui tablou auxiliar. Se arată cum se declară și se inițializează vectorul, cum se parcurg datele și se actualizează frecvențele. Exemplele includ șiruri de numere sau caractere, fiind utile pentru identificarea valorilor cele mai frecvente sau pentru compararea colecțiilor de date.
Șiruri de Caractere (Char)
Capitolul despre șiruri de caractere prezintă modul de reprezentare a textelor sub forma unui tablou de tip char, terminat cu caracterul nul '\0'. Se explică declararea și inițializarea șirurilor, modalitățile de citire și parcurgere, precum și accesul la elementele individuale. Sunt oferite exemple de funcții uzuale din biblioteca <cstring>, utile pentru copiere, concatenare, comparare sau căutare în texte.
Pointeri la Caractere
Capitolul despre pointeri la caractere prezintă modul de lucru cu adresele elementelor unui șir de tip char. Un pointer char* poate fi folosit pentru a parcurge șirul prin incrementare, accesând caracterele succesiv până la '\0'. Se explică diferența dintre numele șirului și un pointer explicit, precum și posibilitatea de a calcula distanța dintre doi pointeri din același text. Sunt oferite exemple practice de acces direct la caractere și de folosire a funcțiilor din <cstring> (strchr, strstr, strtok) care returnează pointeri.
Modulul 2
Fișiere Text
Fișierele text în C++ sunt folosite pentru a stoca și prelucra date în afara memoriei programului, permițând salvarea informațiilor chiar și după închiderea aplicației. Ele pot fi citite și scrise ușor, conținând date în format lizibil (numere, caractere, cuvinte). Sunt utile pentru lucrul cu volume mari de date, salvarea rezultatelor unor calcule, configurări sau schimb de informații între programe.
Subprograme
Subprogramele sunt fragmente de cod independente, care pot fi apelate din programul principal sau din alte subprograme. Ele au rolul de a împărți un program mare în părți mai mici și mai ușor de înțeles. Prin folosirea lor, codul devine mai organizat, mai clar și mai ușor de reutilizat. Există două tipuri principale: funcții (care returnează o valoare) și proceduri (care nu returnează valoare). În practică, subprogramele sunt folosite pentru a rezolva sarcini repetitive sau complexe printr-o singură apelare.
Recursivitate & Backtracking
Recursivitatea este o tehnică de programare în care o funcție se apelează pe ea însăși pentru a rezolva o problemă mai simplă. Orice funcție recursivă trebuie să aibă o condiție de oprire pentru a evita apelurile infinite. Backtracking-ul este o metodă de rezolvare care testează sistematic toate posibilitățile unei probleme. Când o soluție parțială nu este corectă, algoritmul revine la pasul anterior și încearcă altă variantă. Recursivitatea și backtracking-ul sunt folosite frecvent pentru probleme cu multe soluții posibile, precum permutările sau combinările.
Modulul 3
Structuri
Structurile sunt tipuri de date compuse care permit gruparea mai multor variabile de tipuri diferite sub un singur nume. Ele sunt folosite pentru a reprezenta entități reale, precum un elev, un produs sau un punct din plan, fiecare având mai multe caracteristici. Accesul la câmpurile unei structuri se face folosind operatorul punct. Structurile ajută la organizarea clară a datelor și la scrierea unor programe mai ușor de înțeles și întreținut. Sunt utilizate frecvent atunci când lucrăm cu date complexe sau colecții de informații legate între ele.
Liste
Listele sunt structuri de date dinamice formate din elemente legate între ele prin pointeri. Fiecare element al unei liste se numește nod și conține o valoare, precum și adresa următorului element. Spre deosebire de vectori, listele permit adăugarea și eliminarea elementelor fără a muta restul datelor din memorie. Parcurgerea unei liste se face secvențial, de la primul nod către ultimul. Listele sunt folosite atunci când dimensiunea datelor se modifică frecvent sau când inserările și ștergerile sunt importante.