Invatare Atomica

Primul program C++

Progres lectie:
0%
🎯

Obiectivul lectiei

Vei invata structura unui program C++, functiile cout si cin, si vei intelege diferentele fata de Python.

Continut EXCLUSIV intensiv informatica

In programa de clasa a IX-a, Python este limbajul de baza obligatoriu, iar C++ este al doilea limbaj, predat exclusiv la specializarea intensiv informatica. Daca esti la profilul standard, aceasta lectie este optionala — o poti parcurge ca extindere.

Dupa aceasta lectie vei putea:

  • Sa scrii structura completa a unui program C++ (include, using, main, return)
  • Sa afisezi text si valori cu cout si operatorul << (inserare)
  • Sa citesti date de la tastatura cu cin si operatorul >> (extractie)
  • Sa citesti un rand intreg cu getline si sa folosesti tipuri precum double (intensiv)
  • Sa compari sintaxa echivalenta Python vs C++ pentru operatii de baza

Incearca singur!

🎯 PREGATESTE-TE

Ai nevoie de un compilator C++:

Optiuni recomandate:

  • Code::Blocks - gratuit, simplu (recomandat pentru incepatori)
  • Dev-C++ - alternativa clasica
  • Visual Studio Code - cu extensia C/C++
  • Online: onlinegdb.com

Spre deosebire de Python (care se interpreteaza), C++ se compileaza: scrii codul, compilatorul il transforma intr-un fisier executabil, apoi il rulezi.

1

1. Structura unui program C++

// biblioteca pentru I/O (intrare/iesire)
#include <iostream>
using namespace std;  // ca sa scriem cout in loc de std::cout

int main() {
    cout << "Hello, World!" << endl;
    return 0;  // programul s-a terminat cu succes
}

Iesire reala (compilat cu g++ -std=c++17):

Hello, World!

Explicatie:
  • #include - importa o biblioteca
  • int main() - functia principala, punctul de pornire (obligatorie)
  • cout << - afiseaza pe ecran
  • endl - trece pe rand nou (end line)
  • return 0 - sfarsit cu succes
  • Fiecare instructiune se termina cu ;
2

2. Afisare cu cout

#include <iostream>
#include <string>  // necesar pentru tipul string
using namespace std;

int main() {
    // Afisare text
    cout << "Salut!" << endl;

    // Afisare variabile, inlantuite cu <<
    string nume = "Maria";
    int varsta = 15;
    cout << "Ma numesc " << nume << endl;
    cout << "Am " << varsta << " ani" << endl;

    return 0;
}

Iesire reala:

Salut!

Ma numesc Maria

Am 15 ani

💡
Buna practica

Cand folosesti tipul string, include explicit <string>. Unele compilatoare il aduc automat prin <iostream>, dar nu te baza pe asta — pe alt compilator codul ar putea sa nu se compileze.

3

3. Citire cu cin

#include <iostream>
#include <string>
using namespace std;

int main() {
    string nume;
    int varsta;

    cout << "Cum te cheama? ";
    cin >> nume;  // cin citeste pana la primul spatiu

    cout << "Cati ani ai? ";
    cin >> varsta;  // converteste automat textul la int

    cout << "Salut, " << nume << "!" << endl;
    cout << "Peste 5 ani vei avea " << varsta + 5 << " ani" << endl;

    return 0;
}

Iesire reala (intrare de la tastatura: Andrei apoi 15):

Cum te cheama? Cati ani ai? Salut, Andrei!

Peste 5 ani vei avea 20 ani

Atentie

cin >> nume citeste un singur cuvant: se opreste la primul spatiu. Pentru un nume cu mai multe cuvinte foloseste getline (vezi atomul urmator).

4

4. getline si tipul double intensiv

Sectiune EXCLUSIV intensiv

Acest atom extinde dincolo de minimul cerut: citire de randuri complete si numere reale.

#include <iostream>
#include <string>
using namespace std;

int main() {
    string nume_complet;
    cout << "Nume complet: ";
    getline(cin, nume_complet);   // citeste tot randul, inclusiv spatiile

    double nota;                  // double = numar real (cu zecimale)
    cout << "Nota: ";
    cin >> nota;

    cout << "Elevul " << nume_complet << " are nota " << nota << endl;
    return 0;
}

Iesire reala (intrare: Maria Ionescu apoi 9.75):

Nume complet: Nota: Elevul Maria Ionescu are nota 9.75

5

5. Python vs C++ - Comparatie

AspectPythonC++
Afisareprint("text")cout << "text";
Citireinput()cin >> var;
Declarare varx = 5int x = 5;
Sfarsit instructiunerand nou;
Tipuridinamicestatice (declarate)
Executieinterpretatcompilat
💡
De ce inveti ambele?

Python iti da viteza de scriere si idei clare; C++ iti da control si viteza de executie (programul compilat ruleaza rapid, fara interpretor). La olimpiade si concursuri de programare, C++ este foarte folosit tocmai pentru viteza.

Exercitii practice

Exercitiul 1 (Nivel minim) - Gaseste erorile

Acest cod C++ are 3 erori. Identifica-le si scrie varianta corecta:

using namespace std;

int main() {
    int x = 5
    cout >> "Valoarea este: " << x << endl;
    return 0;
}

Indiciu: una dintre erori e un #include lipsa (fara el, cout nu e cunoscut), una e un ; lipsa dupa int x = 5, iar una e un operator gresit la cout (trebuie <<, nu >>).

Exercitiul 2 (Nivel standard) - Completeaza programul

Completeaza programul ca sa citeasca un numar intreg si sa afiseze dublul lui:

#include <iostream>
using namespace std;

int main() {
    int n;
    cout << "Introdu un numar: ";
    // ... citeste n de la tastatura
    // ... afiseaza dublul lui n
    return 0;
}

Pentru un input de 7, programul trebuie sa afiseze: Dublul este: 14

Exercitiul 3 (Nivel performanta) - Proiect - Calculator

Scrie un program C++ care citeste 2 numere intregi si afiseaza suma si produsul lor. Pentru input 6 si 4, iesirea asteptata este:

Suma: 10

Produsul: 24

Ce ai invatat astazi

  • Structura unui program C++ (#include, using namespace std, main, return 0)
  • Afisare cu cout si operatorul <<
  • Citire cu cin si operatorul >>
  • getline si tipul double (intensiv)
  • Diferentele Python (interpretat) vs C++ (compilat)

Urmatoarea lectie

Continua cu evaluarea expresiilor, tip Bacalaureat.

Continua →