LIMBAJUL C++

INTRODUCERE IN C++

Ce este C++?

C++ este un limbaj de programare. C++ este limbajul de programare în care vom transcrie algoritmii de rezolvare a problemelor pe care le vom studia în continuare. Trebuie să știm că C++, la fel ca și alte limbaje de programare, are o sintaxă specifică prin care putem să transmitem instrucțiunile pe are dorim să le execute calculatorul. Limbajul C++ are o serie de cuvinte rezervate, cuvinte pe care nu le putem folosi în alt sens decât cel reglementat de C++. Unul dintre aceste cuvinte este main. Cuvântul main este rezervat pentru funcția principală a unui program C++, fără de care programul nu poate funcționa.

Să luăm un exemplu de program scris în limbajul C++:

#include
using namespace std;
int main()
{
cout << "Bună ziua!";
return 0;
}

Pentru ca acest program să poată fi executat este necesar în primul rând să avem instalat pe calculator un compilator. Vă recomand să instalați Code::Blocks (instrucțiuni pentru instalare găsiți aici). După ce am reușit să creăm un proiect vom vedea în partea stângă un panou. Căutăm tab-ul Projects unde vom găsi proiectul pe care tocmai l-am creat. În proiectul nostru, în folder-ul Sources găsim un fișier care se numește main.cpp. Dăm dublu-click pe acesta și vom vedea conținutul lui în fereastra din dreapta (spațiul de lucru). Înlocuim codul cu cel pe care l-am scris mai sus și dăm click pe Build and Run (sau apăsăm F9 de la tastatură). Rezultatul codului va apărea într-o fereastră neagră și... da, ați ghicit! Scrie pe ecran textul "Bună ziua!". 

Acum, hai să înțelegem câteva dintre liniile de cod ale programului:

  • #include este o directivă care îi spune compilatorului să introducă în programul nostru toate liniile de cod din fișierul specificat (iostream). Vom scrie câte o directivă #include pentru fiecare fișier pe care vrem să îl includem în proiectul nostru.
  • este numele fișierului pe care vrem să îl includem în proiectul nostru. Acest fișier este, de fapt, o bibliotecă unde putem să găsim scrierea explicită a unor funcții de care avem nevoie în cadrul proiectului. include, printre altele, definiția lui cout și cin.
  • using namespace std; indică programului unde să caute domeniul de valabilitate pentru anumite "funcții" cum ar fi cout, cin, endl, și altele. Observație: trebuie obligatoriu să includem și să folosim using namespace std; pentru ca operațiile cin și cout să funcționeze.

Notă: Nu vă faceți griji dacă nu înțelegeți prea bine ce fac acestea, trebuie să știți doar că sunt obligatorii atunci când folosiți cout sau cin.

  • int (de la int main) specifică prototipul funcției main (este obligatoriu să îl scriem, de înțeles veți înțelege mai târziu)
  • după main punem obligatoriu ()
  • funcția main va conține un set mai mult sau mai puțin amplu de instrucțiuni, iar orice set de instrucțiuni trebuie inclus între acolade. Așadar, după () vom deschide o acoladă ("{"), iar la sfârșit, după ce am scris ultima instrucțiune din funcția main vom închide acolada ("}")
  • cout este operația pe care o vom folosi pentru afișarea datelor pe ecran. cout se folosește întotdeauna împreună cu semnul <<.
  • cin este operația pe care o vom folosi pentru citirea datelor de la tastatură. cin se folosește întotdeauna împreună cu semnul >>.
  • return 0 este obligatoriu să fie scrisă ca ultimă instrucțiune din funcția main, vom învăța mai târziu ce face acesta.
  • Observați că unele dintre rânduri se termină cu semnul punct și virgulă ( ; ). Vom folosi acest semn la sfârșitul oricărui rând. Totuși, sunt câteva excepții, astfel că nu vom folosi semnul ; în următoarele cazuri:
    • după directiva #include
    • înainte și după acoladă deschisă ( { )
    • după acoladă închisă ( { ).

Cuvintele using, namespace, int, main, cout, return sunt cuvinte rezervate în limbajul C++ și nu pot fi folosite în alte scopuri decât cele specificate în cadrul limbajului.

Tipuri de date

Orice program preia, prelucrează și furnizează date. Pentru a putea crea programe care să prelucreze eficient date trebuie să știm care sunt, de fapt, tipurile de date cu care putem să lucrăm. Voi încerca să prezint mai jos câteva din tipurile de date folosite frecvent în C++:

  • Char - cuvântul char este o prescurtare de la character, care înseamnă caracter. Astfel, datele de tip char pot să conțină un caracter (literă, cifră, altfel de caracter)
  • String - reprezintă o înșiruire de caractere, grupate într-o singură entitate.
  • Int - int este o prescurtare de la integer și reprezintă un număr întreg cuprins între -2,147,483,648 și 2,147,483,647. Putem să spune că tipul int cuprinde valori din intervalul aproximativ -2*109 și aproximativ 2*109. Tipul int poate fi modificat cu ajutorul următorilor termeni:
    • short (sau short int) - reprezintă un număr întreg cuprins între -32,768 și 32,767
    • long (sau long int) - odată cu crearea arhitecturilor de procesoare pe 32 biți int a ajuns la aceleași valori cu long int
    • long long - reprezintă un număr întreg cuprins între -9,223,372,036,854,775,808 și -9,223,372,036,854,775,807
    • unsigned - elimină valorile negative și dublează valorile pozitive (ex: unsinged short: 0 - 65,535, unsigned int: 0 - 4,294,967,295, long long: 0 - 18,446,744,073,709,551,615)
  • Boolean - este un tip de date care conține doar două valori: true (adevărat) sau false (fals).

Vom folosi pentru început tipurile de date de tip întreg (în special int și long long). De asemenea, trebuie să amintesc aici și tipurile de date de tip real: float și double, dar despre acestea vom vorbi după ce vom ajunge și la matematică la nivelul acesta de cunoștințe.

Variabile

Ca să putem să înțelegem ce este o variabilă, să luăm următorul exemplu de la matematică: x + 3 = 0.
Vom face calculul și vom ajunge la concluzia că x = -3. Așadar necunoscuta x va avea valoarea -3. În cazul de față, necunoscuta x este o variabilă. Să mergem mai departe și să scriem forma generală a unei ecuații de gradul 1: a * x + b = 0.
În acest caz, atât x, cât și a și b sunt variabile, deoarece fiecare dintre ele pot lua alte valori la un exercițiu diferit.

O variabilă poate să aibă orice nume dacă respectă următoarele reguli:

  • numele va conține doar litere, cifre și semnul _
  • numele unei variabile începe cu o literă
  • variabila nu poate să aibă ca nume un cuvânt rezervat

O variabilă poate primi o valoare prin citire de la tastatură, citire din fișier sau atribuire.

Să luăm ca exemplu următoarea problemă: Se citesc de la tastatură numerele întregi a și b. Să se calculeze S, suma lor, și să se afișeze pe ecran.

Identificăm în cadrul problemei 3 variabile de tip întreg: a, b și S. Variabilele a și b vor primi o valoare prin citire de la tastatură, iar variabilei S i se va atribui valoarea rezultată din adunarea a + b.

Cu cât înaintăm în elaborarea algoritmilor pentru rezolvarea unor probleme observăm că avem nevoie să folosim anumiți operatori pentru evaluarea unor expresii. De exemplu, în rezolvarea Problemei 1 de aici am folosit expresia S = a + b; Putem observa că în această expresie găsim doi operatori:
= este operatorul de atribuire.
+ este operatorul aritmetic de adunare.
Prin urmare, expresia S = a + b se traduce astfel: Variabilei S i se atribuie rezultatul adunării a + b.

Pe lângă operatorul de atribuire ( = ) avem și următorii operatori în C++:

  • Operatori aritmetici
    • + (adunare)
    • - (scădere)
    • * (înmulțire)
    • / (împărțire)
    • / (câtul împărțirii a două numere întregi)
    • % (restul împărțirii a două numere întregi)
  • Operatori relaționali
    • < (mai mic)
    • > (mai mare)
    • <= (mai mic sau egal)
    • >= (mai mare sau egal)
    • == (egal)
    • != (diferit)
  • Operatori logici
    • ! (negație sau NOT)
    • && (ȘI logic sau AND)
    • || (SAU logic sau OR)

Pentru a înțelege cum se evaluează expresiile cu operatori logici trebuie să înțelegem următoarele tabele:

ȘI true false
true true false
false false false

Explicație: Două propoziții legate prin ȘI logic ( && ) vor da o valoare adevărat dacă și numai dacă ambele propoziții sunt adevărate.

SAU true false
true true true
false true false

Explicație: Două propoziții legate prin SAU logic ( || )vor da o valoare adevărat dacă cel puțin una din cele două propoziții este adevărată.

Valoare true false
NOT false true

Explicație: Operatorul de negare ( ! ) inversează valoarea de adevăr a propoziției negate.

Exemple:
Fie a = 4, b = 5, c = 6.
(a < b) && (b < c) = TRUE (a < b = TRUE, b < c = TRUE, TRUE && TRUE = TRUE)
(b < a) || (b < c) = TRUE (b < a = FALSE, b < c = TRUE, FALSE || TRUE = TRUE)
!(b < c) = FALSE (b < c = TRUE, !TRUE = FALSE)

La fel ca și la matematică, și în programare trebuie să ținem cont de ordinea efectuării operațiilor. Pentru aceasta voi scrie mai jos operațiile în ordinea descrescătoare a priorității:

  1. Negația logică ( ! )
  2. Operatori aritmetici multiplicativi ( * , / , % )
  3. Operatori aritmetici aditivi ( + , - )
  4. Operatori relaționali
  5. ȘI logic ( && )
  6. SAU logic ( || )

IMPORTANT: În programare parantezele pătrate și acoladele au un rol specific, astfel că acestea nu pot fi folosite în expresii matematice. Voi scrie o expresie matematică în două moduri:

  • matematic: {5x[4×3+2x(7+9)]}
  • informatic: (5*(4*3+2*(7+9)))

Așadar, atenție la închiderea parantezelor!

Prof. Emilia Constantinescu 
Creat cu Webnode
Creați un site gratuit! Acest site a fost realizat cu Webnode. Creați-vă propriul site gratuit chiar azi! Începeți