vineri, 5 decembrie 2014

O scurta introducere in cel mai puternic limbaj de programare: C++


Copilul tau merita ce este mai bun. Primul curs online de programare web pentru copii
Introducere in programare
Despre notiunile cu care vom opera

1.Variabile
Ce este o variabila?
Este o locatie de memorie unde se pot retine date.
Ca sa le identificam si mai ales sa le deosebim unele de altele, o variabila trebuie denumita.
Numele unei variabile este format din cifre, litere si caracterul _ (underscore), si începe totdeauna cu o litera sau caracterul _.
Literele mari sunt diferite de cele mici. O variabila poate retine date numai de un anumit tip. Inainte de a fi folosita, orice variabila trebuie declarata. Instructiunea de declarare a tipului are forma:
tip lista de variabile;
Lista de variabile este formata din nume de variabile separate de virgule.

int a;
char b;
declara o variabila a de tipul int (in care se pot retine numere de tip intreg )si o variabila b de tipul char (in care se pot retine caractere: cifre, litere mari, litere mici, semen de punctuatie, samd). Conform instructiunii de declarare a tipului de mai sus, mai multe variabile de acelasi tip pot fi declarate cu o singura instructiune, scriind numele lor separate de virgule. De exemplu, instructiunea int n1, n2; declara doua variabile de tipul int.
Obligatoriu, declararea unei variabile trebuie sa se incheie cu “;”. O variabila poate fi initializata la declararea tipului ei.
De exemplu, instructiunea
int d = 1;
declara o variabila de tip int pe care o initializeaza la valoarea 1.

De ce sunt denumite variabile?
Pentru ca in orice punct al programului, valoarea retinuta in variabila se poate modifica. De exemplu, la inceputul unui program, putem declara:

int f=1;
Pe parcursul executiei programului, valoarea retinuta in variabila f se poate modifica:
f=12;
Tipurile principale de date sunt:
-intreg (int), este un intreg cu semn, care poate lua valori intre -32768 si 32767.
-Character (char) poate retine caractere
-Real, adica numar cu zecimale (float)
-Real, numar cu zecimale dar de precizie de doua ori mai mare decat a tipului float (double)

2.Constante
Uneori, in programe, avem nevoie de anumite valori pe care le folosim in mod repetat. Pentru a nu scrie valoarea in sine de fiecare data, putem folosi constante. Exemplu:

# define PI 3.14
Defineste constanta PI cu valoarea 3.14. In program vom scrie de fiecare data in locul de 3.14, PI.

3. Expresii aritmetice
Expresiile aritmetice sunt formate din constante, variabile si functii. Operatorii sunt +, -* si /, si în cazul operanzilor de tip întreg, si % (restul împartirii a doua numere întregi). Restul împartirii a doua numere întregi, a si b, se defineste astfel

a % b = a – (a / b) * b

De exemplu,
15 % 4 = 3
11 % 5 = 2

Functia floor(x) calculeaza valoarea celui mai mare numar întreg cuprins în x, iar functia ceil(x) calculeaza valoarea celui mai mic numar întreg mai mare ca x).

4. Tablouri
Un tablou este o multime de elemente de acelasi tip.
Tablourile sunt tipuri structurate simple. Instructiunea de declarare a unui tablou cu o dimensiune este urmatoarea:
tip numetablou [numar_întreg] ;
unde numar_întreg reprezinta numarul de elemente ale tabloului. Elementele tabloului sunt numetablou[0], numetablou[1], …, numetablou[numar_întreg – 1]. De exemplu instructiunea int a[11];
declara un vector cu 11 elemente de tip int. Elementele tabloului sunt a[0], a[1], …, a[9]. Observati ca primul indice al tabluolui este 0. Un tablou poate fi initializat la declararea sa scriind elementelor între acolade, {}. Exemplu de instructiune ce
declara tablouri si le atribuie valori
int x[3] = {4,2,11};

In cazul în care lista de valori este mai scurta decat numarul de elemente declarate, ultimele elemente sunt initializate cu zero. In cazul initializarii unui tablou, la declararea lui putem omite numarul de elemente al tabloului. De exemplu, putem scrie
int x[] = {2,4,6};
Compilatorul calculeaza dimensiunea tabloului din numarul de valori utilizate pentru initializare. Instructiunea precedenta este echivalenta cu instructiunea

int x[3] = {2,4,6};
Tablourile pot avea mai multe dimensiuni.
De exemplu, instructiunea int a[7][4] declara un tablou cu sapte linii si trei coloane. Elementele matricei sunt
a[0][0] a[0][1] a[0][2] a[0][3]
… … …
a[6][0] a[6][1] a[6][2] a[6][3]

5. Instructiunea de atribuire
Operatorul de atribuire = atribuie o valoare unei variabile.
Forma instructiunii:

variabila = expresie;
De exemplu, urmatoarele instructiuni atribuie valori variabilelor

int x, y;
x = 23;
y = 2*x;
Lui x i se tribuie valoarea 23.
Urmatoarea instructiune calculeaza valoarea expresiei lui 2 inmultit cu x, adica 46, si atribuie aceasta valoare lui y.
Limbajele C si C++ au operatori speciali pentru scriera
prescurtata a instructiunilor de atribuire.

Fie o variabila x si o expresie e.

x op= e
este echivalent cu

x = x op e
Tabelul urmator prezinta acesti operatori

Operatori de atribuire

Instructiune Forma prescurtata
x = x + e x += e
x = x - e x -= e
x = x * e x *= e
x = x / e x /= e
x = x % e x %= e x = x % e x %= e
Instructiunile compuse se executa de la dreapta la stanga.
Instructiunea
z=1;
x = y = z;
Variabila y ia valoarea variabile z, adica 1, iar variabila x ia
valoarea variabilei y, adica 1.
Instructiunea
x += y += z;
y += z; este echivalenta cu y=y+z. Se evalueaza expresia din partea dreapta: y+z, adica 2, pentru ca y si z erau egali cu 1. Valoarea se atribuie lui y, adica y=2.
Instructiunea
x += y
este echivalenta cu x=x+y. Se evalueaza expresia din partea dreapta: x+y, adica 3. Valoarea se atribuie lui x, adica x=3.


6. Biblioteci de functii
Limbajele C si C++ au biblioteci standard cu prototipurile functiilor limbajului. Aceste biblioteci sunt anuntate cu directiva include

# include
Aceste biblioteci sunt fisiere cu extensia h si se numesc fisiere header.
De exemplu, biblioteca cu prototipurile functiilor matematice este . Pentru a fi semnalata vom scrie instructiunea # include
Biblioteca cu functii intrare/iesire tip C este ,
biblioteca cu functii de prelucrat siruri tip C este ,
biblioteca cu functii intrare/iesire tip C++ este .

7. Operatii de intrare / iesire
In orice program exista un fisier standard de intrare, care este tastatura si un fisier de iesire care este ecranul. In program orice fisier este asociat unui obiect numit stream. Streamul de intrare asociat tastaturii are denumirea cin, streamul de iesire
asociat ecranului se numeste cout.

Operatorul de scriere este <<. El insereaza date în streamul cout. De exemplu, secventa de instructiuni int i = 124; cout << “i = ” << i; afisaza pe ecran i = 124 Operatorul de citire dintr-un stream este >>. El extrage date din stream. Operatorul >> este urmat de numele variabilei ce va memora valoarea citita. De exemplu, secventa de
instructiuni

int a;
cin >> a;
va citi valoarea introdusa de la tastatura si o va atribui variabilei a. Se pot citi oricâte date din streamul cin.
Instructiunea
cin >> a >> b;
este echivalent cu
cin >> a;
cin >> b;
Biblioteca de prototipuri pentru streamurile cin, cout, etc are numele .

8. Functia main
Orice program scris în limbajele C sau C++ se compune din functii care se apeleaza unele pe altele. Definitia unei functii este

tip nume (lista de parametri)
{
instructiuni
}
Una din functii are numele main iar executia programului începe cu aceasta functie. Prototipul acestei functii este
int main();

# include
int main()
{
int i, j;
cout << “introduceti o valoare intreaga” ; /* se citeste o valoare intreaga */ cin >> i;
cout << “valoarea introdusa este “ << i ;
/* se calculeaza patratul valorii citite */
j = i * i;
/* se scrie valoarea calculata */
cout << “patratul valorii este “ << j ;
return 0;
}

Mentionam ca functia main() returneaza valoarea 0 cu
instructiunea return 0;

9. Operatorii ++ si - -
Operatorul ++ incrementeaza o variabila întreaga cu unu, operatorul --decrementeaza o variabila întreaga cu unu.
Acesti operatori pot fi prefix, adica putem scrie

++x, --x
sau postfix
x++, x-- .
Cazul operatorilor prefix, ++x, --x.
Se incrementeaza sau decrementeaza valoarea variabilei cu unu, valoarea incrementata sau decrementata fiind si rezultatul expresiei.

Exemplu. Fie declaratia de variabile

int i = 1, x;

Instructiunea

x = ++i;

reprezinta scrierea prescurtata a secventei de instructiuni

i = i + 1;

x = i;

Dupa executia instructiunii x = ++i variabilele au valorile
i = 2 si x = 2.
Exemplu. Fie declaratia de variabile
int j = 3, k;
Instructiunea
k = --j;
reprezinta scrierea prescurtata a secventei de instructiuni
j = j – 1;
k = j;
Dupa executia instructiunii variabilele au valorile j = 2 si k = 2.
Cazul operatorilor postfix, x++, x--. Valoarea expresiei este chiar valoarea variabilei (neincrementate sau decrementate). Se incrementeaza / decrementeaza apoi variabila.
Exemplu. Fie cele doua secvente de instructiuni de mai jos
int a, b;
b = 3;
a = b++;

Expresia
a = b++;

corespunde secventei de instructiuni
a = b;
b = b + 1;


In consecinta, expresia b++ are valoarea 3 (valoarea
neincrementata a variabilei) si apoi se incrementeaza b.
Avem rezultatul

a = 3
b = 4


10. Comentarii
Sunt diverse notite care se pot adauga intr-un program , in ideea intelegerii mai usoare. Ele sunt precedate de /* si se incheie cu */. Nu sunt luate in seama de compilator. Se pot intinde pe mai multe linii:
/* Acesta
Este un
Comentariu
Pe
Sasse
Linii */

Niciun comentariu:

Trimiteți un comentariu

Rețineți: Numai membrii acestui blog pot posta comentarii.