marți, 23 octombrie 2018

curs c++ partea 1





Introducere in programare

Despre notiunile cu care vom opera

 prof. Bogdan Boroghina

0729 131 325

In curand- un soft care scrie programe java in locul dvs.


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 şi caracterul
_     (underscore), şi începe totdeauna cu o literă 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.

Instrucţiunea de declarare a tipului are forma

tip listă de variabile;

Lista de variabile este formată din nume de variabile separate de virgule.


int a;

char b;

declară o variabilă a de tipul int (in care se pot retine numere

de tip intreg )şi o variabilă b de tipul char (in care se pot retine caractere: cifre, litere mari, litere mici, semen de punctuatie, samd). Conform instrucţiunii de declarare a tipului de mai sus, mai multe variabile de acelaşi tip pot fi declarate cu o singură instrucţiune, scriind numele lor separate de virgule. De exemplu, instrucţiunea

int n1, n2;

Obligatoriu, declararea unei variabile trebuie sa se incheie cu “;”


declară doua variabile de tipul int. O variabilă poate fi iniţializată la declararea tipului ei

De exemplu, instrucţiunea

int d = 1;

declară o variabilă de tip int pe care o iniţializează 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 şi funcţii. Operatorii sunt +, - * şi /, şi în cazul operanzilor de tip întreg, şi % (restul împărţirii a două numere întregi). Restul împărţirii a două numere întregi, a şi b, se defineşte astfel

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

De exemplu,

15 % 4 = 3

11 % 5 = 2

Funcţia floor(x) calculează valoarea   celui mai mare număr

întreg cuprins în x, iar funcţia ceil(x) calculează valoarea celui mai mic număr întreg mai mare ca x).


4. Tablouri



Un tablou este o mulţime de elemente de acelaşi tip. Tablourile sunt tipuri structurate simple. Instrucţiunea de declarare a unui tablou cu o dimensiune este următoarea

tip numetablou [numar_întreg] ;

unde numar_întreg reprezintă numărul de elemente ale tabloului. Elementele tabloului sunt numetablou[0], numetablou[1], …, numetablou[numar_întreg – 1]. De exemplu instrucţiunea

int a[11];

declară 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 iniţializat la declararea sa scriind elementelor între acolade, {}. Exemplu de instrucţiune ce declară tablouri şi le atribuie valori

int x[3] = {4,2,11};



In cazul în care lista de valori este mai scurtă decat numărul de elemente declarate, ultimele elemente sunt iniţializate cu zero. In cazul iniţializării unui tablou, la declararea lui putem omite numărul de elemente al tabloului. De exemplu, putem

scrie

int x[] = {2,4,6};

Compilatorul calculează dimensiunea tabloului din numărul de valori utilizate pentru iniţializare. Instrucţiunea precedentă este echivalentă cu instrucţiunea

int x[3] = {2,4,6};

Tablourile pot avea mai multe dimensiuni.

De exemplu, instrucţiunea

int a[7][4]

declară un tablou cu şapte linii şi 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. Instrucţiunea de atribuire



Operatorul de atribuire = atribuie o valoare unei variabile.
Forma instrucţiunii:

variabilă = expresie;

De exemplu, următoarele instrucţiuni 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 şi C++ au operatori speciali pentru scriera prescurtată a instrucţiunilor de atribuire.


Fieo variabilă x şi o expresie e.

x op= e

este echivalent cu

x = x op e

Tabelul următor prezintă aceşti operatori



Operatori de atribuire














Instrucţiun



Forma




e



prescurtată













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.

Instrucţiunea

z=1;

x = y = z;

Variabila y ia valoarea variabile z, adica 1, iar variabila x ia valoarea variabilei y, adica 1.

Instrucţiunea

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 şi C++ au biblioteci standard cu prototipurile funcţiilor limbajului. Aceste biblioteci sunt anuntate cu directiva include

# include

Aceste biblioteci sunt fişiere cu extensia h şi se numesc fişiere

header.

De exemplu, biblioteca cu prototipurile funcţiilor matematice este . Pentru a fi semnalată vom scrie instrucţiunea

# include

Biblioteca cu funcţii intrare/ieşire tip C este , biblioteca cu funcţii de prelucrat şiruri tip C este , biblioteca cu funcţii intrare/ieşire tip C++ este .



7. Operaţii de intrare / ieşire



In orice program exista un fişier standard de intrare, care este tastatura si un fisier de iesire care este ecranul. In program orice fişier este asociat unui obiect numit stream. Streamul de intrare asociat tastaturii are denumirea cin, streamul de ieşire asociat ecranului se numeşte cout.

Operatorul de scriere este <<. El inserează date în streamul cout. De exemplu, secvenţa de instrucţiuni

int i = 124;

cout << “i = ” << i;

afişază 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 citită. De exemplu, secvenţa de instrucţiuni

int a;

cin >> a;

va citi valoarea introdusă de la tastatură şi o va atribui variabilei a. Se pot citi oricâte date din streamul cin. Instrucţiunea

cin >> a >> b;

este echivalent cu

cin >> a;

cin >> b;

Biblioteca de prototipuri pentru streamurile cin, cout, etc are numele .


8. Funcţia main



Orice program scris în limbajele C sau C++ se compune din funcţii care se apelează unele pe altele. Definiţia unei funcţii este

tip nume (lista de parametri)

{

instrucţiuni

}

Una din funcţii are numele main iar execuţia programului începe cu această funcţie. Prototipul acestei funcţii 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;

}



Menţionăm că funcţia main() returnează valoarea 0 cu instrucţiunea

return 0;



9. Operatorii ++ şi - -



Operatorul ++ incrementează o variabilă întreagă cu unu, operatorul - - decrementează o variabilă întreagă cu unu. Aceşti operatori pot fi prefix, adică putem scrie

++x, --x

sau postfix

x++, x- -

 Cazul operatorilor prefix, ++x, --x. Se incrementează sau decrementează valoarea variabilei cu unu, valoarea incrementată sau decrementată fiind şi rezultatul expresiei.


Exemplu. Fie declaraţia de variabile int i = 1, x;

Instrucţiunea

x = ++i;

reprezintă scrierea prescurtată a secvenţei de instrucţiuni i = i + 1;

x = i;

După execuţia instrucţiunii x = ++i variabilele au valorile i = 2 şi x = 2.

Exemplu. Fie declaraţia de variabile int j = 3, k;

Instrucţiunea

k = --j;

reprezintă scrierea prescurtată a secvenţei de instrucţiuni j = j – 1;

k = j;

După execuţia instrucţiunii variabilele au valorile j = 2 şi

k = 2.

 Cazul operatorilor postfix, x++, x--. Valoarea expresiei este chiar valoarea variabilei (neincrementate sau decrementate). Se incrementează / decrementează apoi variabila.

Exemplu. Fie cele două secvenţe de instrucţiuni de mai jos

int a, b;

b = 3;

a = b++;

Expresia

a = b++;

corespunde secvenţei de instrucţiuni a = b;

b = b + 1;

In consecinţă, expresia b++ are valoarea 3 (valoarea neincrementată a variabilei) şi apoi se incrementează 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.