+ All Categories
Home > Documents > Introducere in programare

Introducere in programare

Date post: 10-Mar-2016
Category:
Upload: ildegez
View: 77 times
Download: 2 times
Share this document with a friend
Description:
manual pentru clasa a IX-a- Informatica

of 84

Transcript

Lectia 1 Informatica - noiuni introductive

Lectia 1 Informatica - noiuni introductiveDefiniie 1: Informatica este tiina care se ocup cu prelucrarea informaiilor cu ajutorul calculatorului. Informaiile prelucrate pot avea diferite tipuri (valori numerice intregi sau reale, iruri de caractere, imagini, sunete, filme, etc.).

n prezent, calculatorul este implicat din ce n ce mai mult n viaa noastr, fiind utilizat n diferite aspecte dup cum urmeaz:

pentru gestionarea informaiilor: accesul rapid i exact la anumite informaii care ne intereseaz la un anumit moment(de exemplu: bazele de date);

pentru rezolvarea unor probleme din domenii diferite cum ar fi matematica, fizica, chimia, etc;

pentru comunicare: in prezent comunicarea rapida face parte din viata de zi cu zi, utiliznd frecvent reteaua internet prin programele specifice (e-mail, chat, etc.);

pentru pstrarea amintirilor: realizarea de albume foto virtuale i arhive cu filme;

pentru relaxare: jocuri, filme, muzic.

n aceast carte vom nva s rezolvm probleme cu ajutorul calculatorului utiliznd limbajul de programare C++. Orice program are la baz un algoritm de rezolvare.Definiie 2: Algoritmul este alctuit dintr-o succesiune de etape, numite pai, care trebuie parcurse ntr-o anumit ordine astfel nct plecnd de la datele iniiale ale problemei, ntr-un timp finit sa ajungem la rezultatul dorit.

Algoritmul este noiunea fundamental a informaticii. Totul este construit n jurul algoritmilor (i al structurilor de date, cum ar fi listele sau grafurile).

Definiie 3: Descrierea unui algoritm de rezolvare a unei probleme sau a unei situaii date ntr-un limbaj de programare se numeste program sau cod surs.

Cele mai importante proprieti ale unui algoritm sunt urmtoarele:

Corectitudinea - este proprietatea algoritmului de a furniza o soluie corect a problemei date. n acest sens este de dorit ca algoritmii s se bazeze pe fapte i relaii matematice demonstrabile.

Caracterul univoc sau deterministic - plecnd de la un set de date iniial anume, rezultatul este unic, sau altfel spus, repetarea execuiei algoritmului duce ntotdeauna la aceleai rezultate.

Generalitatea - este proprietatea unui algoritm de a rezolva o clas sau categorie de probleme, i nu doar o singur problem particular. Spre exemplu, un algoritm care rezolv doar ecuaia x2 + 5x 6 = 0 este mai puin general dect unul care rezolv ecuaia de gradul II care are urmtoare form general ax2 + bx + c = 0, oricare ar fi valorile lui a,b,c.

Claritatea - proprietatea algoritmului de a descrie cu exactitate i fr ambiguiti paii care trebuiesc parcuri n rezolvarea problemei.

Verificabilitatea - acea proprietate a algoritmilor care permite ca fiecare pas s poat fi verificat ntr-un timp rezonabil de ctre om, folosind mijloace de validare de ncredere.

Optimalitatea - proprietatea unui algoritm de a se termina dup un numr minim de pai. Spre exemplu, dac se cere s se calculeze suma primelor n numere naturale, putem aplica formula de calcul, i astfel algoritmul se termin ntr-un singur pas, pe cnd dac am aduna toate numerele de la 1 la n, el s-ar termina abia n n pai, i deci nu ar fi optim.

Finitudinea - este proprietatea algoritmului de a se termina ntr-un numr finit de pai. Exist i algoritmi care nu se termin ntr-un numr mrginit de pai, dar acetia se numesc "metode algoritmice".

Eficiena - este proprietatea unui algoritm de a se termina nu numai ntr-un numr finit, ci i "rezonabil" de pai, chiar dac acesta nu este cel mai mic posibil (nu este optim). Algorimul este ineficient i dac rezultatul se obine ntr-un timp mai lung dect cel dorit sau permis.

Existena unei intrri (datele de prelucrat). ntruct operatorii se aplic unui operand (sau i mai multor operanzi deodat), este de neconceput un algoritm fr niciun operand. Intrrile permise formeaz mpreun un set (mulime) specific de obiecte sau valori, care se numete "domeniul" algoritmului.

Existena unei ieiri (rezultatele). Este de neconceput un algoritm care nu are nicio ieire, deoarece n acest caz intr n discuie nsi utilitatea sa.

Operaiile care apar n cadrul unui algoritm sunt: Operaii de intrare ieire: datele de intrare se vor citi de la tastatr sau din fiiere text i ele reprezint valorile iniiale cu care se incepe rezovarea unei probleme. Datele de ieire reprezint rezultatul problemei dup parcurgerea algoritmului i aceste fie vor fi afiate pe ecran, fie vor fi scrise n fiiere text.

Operaia de atribuire: reprezint operaia n urma creia valoarea unei expresii (matematice, logice sau relaionale) este memorat ntr-o variabil

Operaia de decizie: determin valoarea de adevr a unei expresii logice i n funcie de rezultatul obinut se continu execuia programului pe una din cele doua ramificatii posibile(adevrat sau fals).

Etapele rezolvrii unei probleme cu ajutorul calculatorului

1. Analiza problemei: presupune:

citirea i analiza cu atenie a enunului problemei date pentru identificare datelor de intrare (datele iniiale ale problemei). (Ce se cunoaste ? )

nelegerea i identificarea rezultatului ateptat (stabilirea datelor de iesire). (Ce se cere?)

Alegerea strategiei de rezolvare a problemei (identifiarea algoritmului optim de rezolvare a problemei) (Cum rezolv?) Pentru rezolvarea unei probleme date pot exista mai multe metode. n acest moment trebuie identificat care este cel mai optim mod de rezolvare a problemi astfel nct n cel mai scurt timp i cu cele mai puine resurse s obinem rezultatul dorit. Analiza timpului de lucru a unui program se numeste complexitate, dar pentru acest subiect vom discuta mai pe larg intr-un capitol separat. 2. Descrierea n limbaj natural a modului de rezolvare propus, stabilirea tipurilor de informaii care trebuie prelucrate precum i a tipurilor de rezultate ateptate. Limbajul natural descrie n termeni largi etapele propuse pentru rezolvarea problemei date.

3. Descrierea algoritmului n limbaj pseudocod: Limbajul pseudocod este un limbaj intermediar ntre limbajul natural i limbajul de programare. n aceasta etap se stabilesc paii de algoritm, tipurile datelor de intrare, de manevr i de ieire, se identific condiiile care impun i se scriu n expresii matematice care sunt uor de interpretat de calculator (calculatorul nu face presupuneri si nici nu ghicete ce doriti dumneavoastr ci doar execut rapid comenzile pe care le-a primit). Un algoritm scris n limbaj pseudocod nu este un program care poate fi rulat direct pe calculator, dar poate si transcris uor ntr-un limbaj de programare innd cont de vocabularul, semantica si sintaxa limbajului de programare. n aceast carte vom folosi un limbaj pseudocod scris n limba romn (pentru a fi mai uor de inteles logica algoritmicii). Limbajul pseudocod se va baza implementarea ideii de rezolvare ntr-un format apropiat de limbajul C++, dar care nu pune accent pe sintaxa riguroas care trebuie respectat atunci cnd scrii ntr-un limbaj de programare.4. Scrierea codului surs: Aceasta este etapa n care algoritmul scris n limbaj pseudocod este transcris n limbaj de programare, innd cont de regulile impuse de acesta i repectnd semnificaia construciilor sintactice corecte impuse de limbajul de programare.5. Corectarea erorilor sintactice: Corectarea unui cod surs din punct de vedere sintactic se numeste compilare. n aceasta etap programul este verificat, iar eventualele greeli sau omisiuni ale respectrii regulilor sintactice sau semantice sunt semnalate de compilator print-o list de erori. Cel care a scris programul are obligaia s corecteze aceste erori folosindu-se de masajele de eroare afiate precum i de cunotinele sale. Mesajul de eroare afiat, care semnaleaz o eroare de compilare, nu indic ntotdeauna corect modalitatea de corectare (el este mai mult informativ). Erorile de eroare vor fi cutate ncepnd de la poziia semnalat de compilator sau de la poziia semnalat spre nceputul programului. O serie de greeli frecvent ntlnite la nceptori sunt generate de definirea eronat a tipurilor de date care vor contine rezultatele. Dac rezultatul ateptat depete ca valoare domeniul de definiie stabilit atunci aceasta greeala nu va fi identificat de ctre compilator, deci nu va fi corectat in acest etap. La execuia programului vom avea ns surpriza unor rezultate neateptate, chiar daca soluia de rezolvare gsit este corect si programul scris nu are greseli de compilare.6. Testarea programului: n aceast etap se verific corectitudinea rezolvrii problemei prin analiza rezultatului obinut pentru diferite valori ale datelor de intrare. Tot aici se identific si eventualele erori de gndire, care apar prin alegerea unui algoritm de rezolvare greit. n aceast etap trebuie indentificate seturi de date de intrare numite i cazuri limit pentru care programul s-ar putea bloca sau ar genera rezultate greite datorit unei neglijene n etapa de analiz i implementare a programului. Limbajul pseudocod i schema logic

Asa cum am precizat anterior pseudocodul este o forma de reprezentare a algoritmilor i ca orice limbaj folosete un grup de cuvinte cheie (citete, scrie, dac, atunci, ct timp, pentru, etc.), organizate n construcii sintactice care traduc structurile fundamentale, dar neavnd o sintax rigid ca un limbaj de programare. Limbajul pseudocod las la libera alegere a utilizatorului introducerea unor notaii care s permit o mai buna exprimare. Schema logic este un mijloc de descriere a algoritmilor prin reprezentare grafic. Fiecrui tip de operaie i este consacrat o figur geometric (un bloc tip) n interiorul creia se va nscrie operaia din pasul respectiv, iar succesiunea operaiilor este indicat prin sgei.Blocuri utilizate n realizarea schemelor logice:

Pentru ntocmirea unei scheme logice corecte sunt necesare respectarea unor anumite reguli dup cum urmeaz: Orice schem logic se ntocmete de sus n jos;

Legtura intre blocurile schemei se face numai prin sgei, pentru a stabili sensul de parcurgere;

n cazul ntlnirii unui bloc de decizie se precizeaz deasupra liniilor de legtur cnd expresia

Aplicaii practice1. Un algoritm este un limbaj de programare?

a. Adevrat

b. Fals

2. Cu ajutorul unui calculator se pot prelucra urmtoarele tipuri de informaii:

a. Imagini

b. Documente

c. Numere

d. Cri

3. Descrierea unui algoritm se poate face prin:

a. Limbaj natural

b. Limbaj de programare

c. Limbaj pseudocod

d. Nici un rspuns nu e corect

4. Limbajul pseudocod este un limbaj de programare?

a. Fals

b. Adevrat

5. Datele de intrare sunt si date de ieire?

a. Adevrat

b. Fals

6. Complexitatea unui cod sursa a unui program este masurat prin numrul de linii de cod scrise?

a. Adevrat

b. Fals

7. Corectarea erorilor de compilare implic automat si corectarea erorilor de gndire?

a. Adevrat

b. Fals

8. Datele de ieire reprezint acele valori obinute la terminarea unui algoritm?

a. Adevrat

b. Fals

9. Limbajul pseudocod este:

a. Un cod fals

b. Un limbaj intermediar de scriere a algoritmilor i care face trecerea de la limbajul natural la cel de programare

c. Un limbaj nefolositor

d. Nici un rspuns nu e corect

10. Pentru a verifica corectitudinea funcionrii unui program acesta trebuie testat cu:a. Valorile pentru care a fost gndit n etapa de analiz

b. Cu orice fel de valori

c. Cu valori speciale identificate pentru cazurile limit

d. Nici un rspuns nu e corect.

11. Enumerai proprietile unui algoritm:

1............................. 2................................ 3................................... 4................................

5............................. 6................................ 7...................................

12. Precizai care este diferena ntre scrierea algoritmului n limbaj pseudocod fa de limbajul de programare. (Precizai avantajele i dezavantajele)

13. Care sunt deosebirile dintre erorile de compilare si erorile de gndire?

14. Definiti urmtorii termeni:

a. Complexitatea unui algoritm

b. Operaia de compilare

c. Limbaj de programare

d. Limbaj natural

Lectia 2. Elemente de baz n reprezentarea algoritmilor

Una dintre principalele noiuni care intervin n programare este noiunea de dat.

Definiie 1: Data este o informaie care se prelucreaz cu ajutorul calculatorului. Datele se pot clasifica:

a. Dup locul n care sunt prelucrate:

date de intrare - reprezint un set de informaii iniiale care sunt cunoscute i care reprezint punctul de plecare n rezolvarea problemei. date de manevr se utilizeaz n interiorul algoritmului pentru a memora la un anumit moment valori intermediare necesare procesului de rezolvare al problemei date date de ieire - sunt rezultatele ateptate i care sunt obinute prin prelucrarea datelor de intrare cu ajutorul algoritmului dat.

b. Dup tipul informaiilor memorate:

date numerice conin ca valori numere ntregi sau reale date logice pot sa conin ca valoare doar: True sau False date de tip caracter conin ca valoare un singur caracter din cele 256 din codul Ascii

date structurate sunt acele date care se compun pe baza unor reguli precise din datele simple(numere, caractere, logice)c. Dup felul n care i schimb valoarea pe parcursul unui algoritm

1. variabile - valorile se modific pe masur ce algoritmul se execut

2. constante- valorile lor rmn constante pe toata durata de execuie a programului

O variabil se caracterizeaz prin: numele variabilei - este format din unul sau mai multe caractere (litere mari sau mici ale alfabetului englez, numere si caracterul underline) cu condiia ca primul caracter nu fie cifr. tipul variabilei stabileste mulimea de valori posibil pentru variabila respectiv precum si setul de operaii permise; un tip de dat poate fi elementar (reprezinta date de tip numeric-ntreg sau real i nenumeric-caracter, logic), structurat ( sunt obinute prin gruparea tipurilor elementare de date dup reguli bine precizate ) sau referin (permit referirea la date alocate dinamic n timpul execuiei programului) valoarea variabilei reprezint valoarea efectiv pe care o are o variabil la un moment dat n interiorul codului surs. ntr-un moment dat o variabil are ntotdeauna o singur valoare, valoarea ei modificndu-se doar n urma unei operaii de atribuire sau a unei operaii de citire de la tastatur sau din fiier text. adresa variabilei reprezint locaia fizic din memoria calculatorului n care se pstreaz valoarea unei variabile. n majoritatea situaiilor adresele variabilelor sunt invizbile pentru utilizator.Pentru memorarea informaiilor n memoria intern a calculatorului se foloseste sistemul binar, care are doar dou valori 0 si 1.Definiie 2: Unitatea elementar de memorare a informaiilor n memoria intern a calculatorului este bit-ul, care poate avea doar valoarea 0 sau valoarea 1( modelarea fizic a sistemului binar este comutatorul.0 nu trece curent electric, 1- trece curent electric).

K11

K10 A B A B

a. comutatorul K1 nchis,

b. comutatorul K1 deschis

echivalentul valorii 1

echivalentul valorii 0

trece curent electric

nu trece curent electric

de la punctul A la B

de la punctul A la B

Definiie 3: Un octet(byte) este alctuit dintr-un grup de 8 bii i orice informaie poate fi memorat utiliznd ntotdeauna un numr ntreg de octei, msurndu-se n multipli de octei(1024 octei= 1Kb, 1024 Kb=1Mb, etc).Reprezentarea datelor numerice n memoria calculatorului

n funcie de valoarea pe care o au datele numerice ele pot reprezenta numere naturale, numere ntregi sau numere reale, iar pentru fiecare astfel de numr se vor aloca n memorie un numr diferit de octei.

Reprezentarea numerelor naturaleFormatul de reprezentare ntreg fr semn nu presupune nimic n plus dect trecerea de la baza 10 la baza 2. n aceasta reprezentare putem scrie spre exemplu:

numrul (188)10 = (10110110)2

(1102+8101+8100)10 = (020+121+122+023+124+125+026+127)2O reprezentare a unui numr ntro baz de numeraie notata B foloseste doar cifre din inteervalul [0, B-1]. Trecerea unui numar de la o baz la alta presupune aflarea unei secvente unice de resturi conform algoritmului urmtor:

numrul se imparte la baza si se retine restul obtinut. Acesta constituie ultima cifra din reprezentare in acea baza. ctul obtinut in urma acestei prime impartiri este din nou imparti la baza si se retine iarasi restul. Acest rest constituie a doua cifra, in ordinea de la dreapta la stanga, a reprezentarii in baza aleasa. algoritmul continu pn cnd cul obinut este mai mic dect baza. Acest ct va reprezenta cea mai semnificativ cifr a numrului n baza data. Tabelul urmtor prezinta paii acestui algoritm pentru trecerea numarului 25 n baza 2:Nr.baza

25:2252(25)10=(11001)2

rest1122

062

032

112

10

Reprezentarea n baza 2 a numrului 25 se obine lund n ordine invers resturile mparirii la 2. Pentru a putea memora un numr natural n memoria intern a claculatorului se pot aloca 1,2 sau 4 octei. Pe un octet se pot memora numere naturale cuprinse n intervalul [0..255]

bit:76543210

cea mai mic valoare natural reprezentat pe un octet este 0:00000000

adic numrul natural 0=020+021+022+023+024+025+026+027.bit:76543210

cea mai mare valoare natural reprezentat pe un octet este 0:11111111

adic numrul natural 255=120+121+122+123+124+125+126+127= 1+2+4+8+16+32+64+128Propun ca exerciiu de calcul reprezentarea intervalului de numere naturale care pot fi memorate pe 2 octei.De exemplu, numerele ntregi reprezentate pe 32 bits(4 octei) pot lua valori cuprinse n intervalul [-2147483648, 2147483647]. Adunarea, scderea i nmulirea acestor numere returneaz rezultate exacte atta vreme ct nu se depesc limitele precizate. n cazul n care apare o depasire (overflow) rezultatul este imprevizibil. Rezultatul mpairii numerelor ntregi reprezentate este tot un numr ntreg obinut prin rotunjirea rezultatului corect la ntregul imediat mai mic.

Reprezentarea numerelor ntregi

Numerele ntregi se reprezint n memorie n complement fa de 2. Reprezentarea n complement fata de 2 este folosit de majoritatea procesoarelor actuale. Ideea acestei reprezentri se ntelege pe baza observaiei simple c numrul x adunat cu numrul -x trebuie s dea ntotdeauna valoarea 0. ntrebarea ce se pune este cum se scrie -x, deoarece pentru numerele ntregi pozitive se pstrez regula de la paragraful precedent. Cel mai simplu este s folosim un bit pentru reprezentarea semnului (de ex., 0 nseamn plus i 1 nseamn minus) si ceilali (n-1) bii pentru reprezentarea valorii absolute.

Numerele negative se reprezint astfel:

plecm de la reprezentarea n baza 2 a opusului (care este pozitiv), inversm toate cifrele pn la ultimul 1 (exclusiv)

Exemple:

(22)10 = (00010110)2, numr pozitiv ( -22)10 = (11101010)2, numr negativ

Primul bit (cel scris cu culoare roie) se mai numeste bit de semn deoarece el indic semnul numarului (este 0 dac i numai dac numrul este pozitiv). Avantajul acestei reprezentri este urmatorul: algoritmii de adunare i de scadere a dou numere reprezentate n cod complementar sunt identici cu algoritmii de adunare si de scadere pentru numere pozitive reprezentate in baza 2.

Pe un octet se pot memora numere naturale cuprinse n intervalul [-128..+127]

Reprezentarea numerelor reale

Modul n care numerele reale sunt reprezentate n memorie este reglementat de IEEE Floating Point Standard, un set de reguli care ne ajut n prezicerea gradului de inexactitate a rezultatelor calculelor aritmetice. Una dintre sursele de erori n calculul tiinific este eroarea de rotunjire datorat calculelor aritmetice inexacte efectuate de calculator. Eroarea de rotunjire face parte din categoria erorilor inevitabile dar consecinele sale difer de la o problema la alta, de la o strategie de rezolvare la alta. O singura operaie aritmetic efectuat de calculator cu numere reale va da de cele mai multe ori un rspuns cu un grad relativ mare de precizie.

Pentru reprezentarea numerelor n calculator se folosesc dou formate de reprezentare: formatul cu virgul fix:

partea ntreag. partea zecimal de exemplu:12.351 sau -54.789

formatul cu virgul mobil: s-a impus datorit necesitii de a reprezenta n sistemele de calcul numere foarte mari sau foarte mici cu un grad de precizie ridicat. La baza acestui mod de reprezentare se situeaz reprezentarea numerelor reale cu ajutorul mantisei(indic ordinul de mrime al numrului printr-o putere a bazei) i exponentului exponentul (mrimea numrului n cadrul ordinului respective): mantisEexponent.Mantisa n reprezentarea normalizat este un numr subunitar, E reprezint valoarea bazei 10, iar exponentul este un numr ntreg care stabilete valoarea numrului real. De exemplu: numrul real -102.224 scris n virgul fix va fi egal cu 0.102224E3 n virgul mobil. Reprezentarea caracterelor (valorilor alfanumerice)n cazul reprezentrii caracterelor, exist un standard internaional care definete numerele, reprezentabile pe un octet, corespunztoare fiecrui caracter n parte, numit standardul ASCII. n acest mod sunt grupate un numr de 256 de caractere, fiecrui caracter fiindu-i asociat cte un numr natural din intervalul [0,255], numr care poart denumirea de cod ASCII.Astfel:

CaracterCodul ASCII

literele mari A...Zau coduri ntre 65...90

literele mici a...zau coduli ntre 97...122

cifrele 0...9au coduri ntre 48...57

Aplicaii practice

1. Datele de intrare reprezint:a. Rezultatele ateptate i obinute prin prelucrarea unor valori cu ajutorul unui algoritm de calcul

b. Valori constante pe toat durata de execuie a algoritmului

c. Un set de valori iniiale , cunoscute i care reprezint punctul de plecare n rezolvarea unei probleme

d. Nici un rspuns nu este corect

2. O variabil se caracterizeaz prin:

a. .....................................

b. .....................................

c. .....................................

d. .....................................

3. Valoarea unei variabile este:

a. Format din unul sau mai multe caractere cu condiia ca primul caracter s nu fie cifr

b. O mulimea de valori posibile

c. O locaie din memoria calculatorului

d. Valoarea efectiv pe care o are la un moment dan interiorul codului surs.

4. Un bit este alctuit din 8 octei?a. Adevarat;

b. Fals

5. Determinati urmtoarele valori echivalente:

a. 1024 byte reprezint ......................Mb;

b. 1024 Mb reprezint...............Gb;

c. 1Gb este egal cu ...................octei;

d. 1 octet este format din..............biti.

6. Reprezentai pe un octet urmtoarele numere naturale:

a. 85

b. 200

c. 15

d. 255

7. Care sunt valorile naturale reprezentate n urmtorii octei:

a. 10011100

b. 11000011

c. 10010000

d. 11110000

8. Reprezentai urmtoarele numere ntregi pe un octet:

a. -15

b. 24

c. -12

d. 30

9. Pentru reprezentarea numerelor ntregi n memoria calculatorului se utilizeaz primul bit din reprezentare(cel mai din stnga) ca bit de semn. Astfel, daca acesta are valoarea 1 atunci numrul respectiv va fi negativ?a. Adevarat;b. Fals.10. Transformai urmtoarele numere reale din formatul n virgul fix, n formatul n virgul mobil:

a. 12.21

b. -56.98

c. 0.34

d. 3456.089

11. Transformai urmtoarele numere reale scrise n virgul mobil n formatul virgul fix:

a. 0.76E-2b. 0.543265644E5c. 0.8700077E2d. -0.347611E-612. Care este codul ASCII pentru urmtoarele caractere:a. A are codul ................., D are codul..................,V are codul......................;b. 0 are codul..................., 7 are codul..................,9 are codul .......................;13. b are codul.................., f are codul..................., x are codul........................14. Numrul de caractere din codul ASCII extins este de 256?

a. Adevarat

b. Fals

15. Un caracter ocup n memorie

a. 2 octei;

b. 1 octet;

c. 4 octeti;

d. 256 de octei.

16. Pentru orice informaie se aloc n memoria calculatorului un numr ntreg de octei?

a. Adevarat;

b. Fals.

Lecia 3 Elemente de baz ale limbajului C++Pentru a putea utiliza cu uurin un limbaj de programare trebuie s cunoatem urmtoarele doua aspecte:

1. sintaxa limbajului: reprezint totalitatea regulilor de scriere n limbajul respectiv

2. semantica limbajului: reprezint cunoaterea construciilor sintactice corecte i semnificaia acestoraAceste aspecte se studiaz spre exemplu i atunci cnd nvei o limb strin. Dac nvei doar cuvintele i nu nvei i regulile gramaticale nu vei reui s te exprimi ntr-un mod coerent. Spre deosebire ns de un limbaj natural, n cazul nostru studiul unei limbi strine, dac ntr-o exprimare folosim n mod gresit o expresie ntr-un context avem anse destul de mari ca interlocutorul s ne neleag, atunci cnd comunicm cu un calculator, trebuie s repectm cu exctitate regulile de comunicare. Calculatorul nu face presupuneri, nu ghicete ceea ce ai fi dorit s-i spunei. Dac nu v exprimai corect ntr-un limbaj de programre nu veti obine dect un ir considerabil de mesaje de eroare.Setul de caractere

n limbajul C++ setul de caractere utilizat pentru scrierea programelor este setul de caractere al codului ASCII: litere mari i mici ale alfabetului englez

cifrele sistemului zecimal

semnele matematice i de punctuaie i separatori: +,-,*,/,%,,=,#,!,&,|,?,^,(,),[,],{,},;Separatori i comentarii

Separatorii au rolul de a delimita unitile lexicale dintr-un program. Iat lista separatorilor admii n limbajul C++:

(,) parantezele rotunde ncadreaz lista de parametrii a unei funcii, sau precizeaz ordinea de efectuare a operaiilor pentru evaluarea unei expresii.

{ } acoladele ncadreaz instruciunile compuse, care se mai numesc i blocuri.

[ ] parantezele drepte ncadreaz dimensiunile tablourilor

" " ghilimelele ncadreaz irurile de caractere

' ' apostrofii ncadreaz un singur caracter

; fiecare instruciune se ncheie cu caracterul;

/* */ comentariile sunt ncadrate de caracterele /* i */ sau dac dorim ca un singur rnd din codul surs sa fie comentat, sau n dreptul unei instruciuni s apara un comentariu folosim caracterele //.Comentariile sunt texte care vor fi ignorate n momentul execuiei programelor, dar au rolul de a clarifica si a face un cod surs mai clar pentru cel care citete acel cod.

Identificatori

Definiie1: Identificatorii sunt acele constructii care au rolul de a denumi elemente ale programului si reprezint nume de: constante, variabile, funcii, etc.

Din punct de vedere sintactic un identificator este constituit dintr-o succesiune de litere mari sau mici ale alfabetului englez, cifrele sistemului zecimal si caracterul _, cu condiia ca primul caracter s nu fie o cifr. Spre exemplu:

Identificatori corect scriiIdentificatori greit scrii

max_1nume prenume

citire_vector1max

_unua+b

Observaii:1. un identificator poate avea orice lungime, dar sunt luate n considerare doar primele 31 de caractere

2. n limbajul C++ se face diferenta dintre literele mari i literele mici, din acest punct de vedere spunem c limbajul este case-sensitive (identificatorii max_1 i Max_1 sunt diferii).

3. este recomandat ca identificatorii folosii s fie sugestivi, pentru a nu apela la comentarii pentru a ntelege scopul n care este folosit un identificator. Este util s construim identificatori prin compunerea mai multor cuvinte, i recomandat este ca iniiala fiecrui cuvnt s fie majuscul (Citire_Vector, Afisare_Matrice)

Cuvinte cheie (keywords)

Cuvintele cheie sunt identificatori speciali, rezervai limbajului C++, cu neles predefinit i care pot fi utilizai numai n construciile sintactice n care sunt definii. n limbajul C++ toate cuvintele cheie se scriu doar cu litere mici, iar n programele din aceast carte cuvintele rezervate vor fi scrise ngroat. Tabelul care cuprinde toate cele 32 de cuvinte cheie ale limbajului C++ este : autodoubleintstruct

breakelselongswitch

caseenumregistertypedef

charexternreturnunion

constfloatshortunsigned

continueforsignedvoid

defaultgotosizeofvolatile

doifstaticwhile

Structura general a unui program C++Un program C++ este alctuit din funcii i variabile. Orice program C++ trebuie s conin n mod obligatoriu o funcie special numit main. Aceast este special prin faptul c execuia programului debuteaz ntotdeauna la nceputul acestei funcii.Structura unui program C++ are urmtoarea structur:

// declaraii directive preprocesor fisiere antet (header)#include//definiii de tipuri de date i variabile globale//definiii de funcii utilizatorvoid main() { //declaratii locale n functia main

// instructiuni c++

}Unde:

Directivele preprocesor sunt fiiere librrii memorate separat si care au extensia .h. Astfel:

iostream.h este un fisier antet (header) care este utilizat pentru gestionarea intrrile i ieirile implicite de date (datele de intrare se vor prelua mplicit de la tastatura, si datele de ieire vor fi afiate n mod implicit pe monitorul). Librria iostream.h face parte din biblioteca implicit a limbajului C++. n funcie de alte obiuni ale utilizatorului se vor insera n codul surs si alte fiiere antet cum ar fi:

conio.h - este un vechi fiier antet, folosit de vechile compilatoare C pentru a realiza interfata utilizatorului(cele mai folosite funcii definite n biblioteca conio.h sunt clrscr()-sterge ecranul cu toate datele afiate n urma execuiei unui program, getch() citeste de la tastaur un caracter, dar caracterul citit nu este afisat pe ecran, se utilizeaz n situaia n care dorim sa oprim n anumite puncte un program n execuie pentru a putea vedea i analiza informaiile afisate; dup apasarea oricrei taste programul i continu execuia cu urmtoarea instruciune) math.h este un fiier care face din biblioteca standard a limbajului C, unde sunt definite funciile matematice (cum ar fi radical din x sqrt(x), ridicare la putere pow(a,b), modulul unui numr abs(a),funciile trigonometrice, etc. fstream.h-este un fiier n care sunt definite funciile de baz pentru lucru cu fiiere text. Stream-urile implicite tastaura i monitorul se vor schimba n fiiere text de intrare sau de iesire.Dup includerea n program a fiierelor header urmeaz o seciune rezervat definirii de tipuri de date i variabile globale.

Definiie 2: Definirile globale de variabile se fac la nceputul programului si acestea vor fi cunoscute n toate funciile din program.

Definiie 3: Definirile locale de variabile se fac n cadrul unei fucii i ele sunt cunoscute doar n funcia n care au fost definite.

n cazul programelor simple, care conin doar funcia main() nu este necesar definirea globala a variabilelor.

Funciile utilizator :

definirea oricrei funcii este constuit din antetul funciei si corpul funciei

antetul funciei conine numele funciei, tipul rezultatului pe care funcia l calculeaz i o list de parametri prin care funcia comunic cu exteriorul ei, ncadrat ntre paranteze rotunde:

tip_rezultat nume_functie(lista de parametri)

nu fac obiectul materiei de clasa a IX-a, ele vor fi nvate pe larg n clasa a X-aFuncia main() este o fucie special, mai este numit i funcia principal sau programul principal, prezena ei este obligatorie n orice program C++ deoarece execuia oricrui program ncepe cu aceasta. Pentru nceput vom scrie doar programe constituite doar din funcia main(). Cel mai simplu program C++, care desigur nu are nici un efect este:void main()

{ }

Prezentarea ecranului mediului de programare C++ 3.1

Lansarea n execuie a mediului de programare C++ se face lansnd n execuie fiierul executabil bc.exe aflat n directorul BIN din pachetul Borland C++, obinut dup instalarea acestuia. Dup acest aciune ecranul afiat va avea urmtoarea form:

Unde:1. bara de titlu n care este trecut mediul de programare Borland C++ for DOS2. butoane pentru minimzare/ maximizare i inchidere aplicaie

3. bara de meniu a mediului de programare care conine opiunile: File, Edit, Search, Compile, Debug, Project, Options, Windows, Help

4. zona de lucru n care veti scrie programele C++

5. meniul Help care conine semnificaia principalelor taste funcionale pentru operaiile de baz:

F1- lanseaz help-ul limbajului C++ pentru a ne ajuta n cazul semnificaiei, modului de execuie al unei comenzi, sintax, definire

F2- tast utilizat pentru a memora pe hard fiierul curent deschis i care conine codul surs al programului scris in C++

F3-deschide o nou fereastr in care se va scrie un cod surs. Dup apasarea tastei F3 trebuie precizat numele noului fisier in forma nume.cpp

ALT+F9 realizeaz operaia de compilare a programului, adic o verificare din punct de vedere sintactic a programului scris, si care va afia toate erorile din program.

F10 permite cursorul sa ajung n partea de meniu principal al limbajului C++

6. 1:1 precizeaz poziia curent a cursorului n zona de lucru, n cazul nostru linia 1, coloana 1.Pentru a afia aceast fereast pe intreg ecranul monitorului apasai ALT+ENTER. Meniul File conine urmtoarele obiuni:

New - Deschide un nou fisier surs cu numele implicit Noname00.cpp, sau ....001.cpp Open... - deschide un fisier cpp existent pe disk

Save salveaz fisierul curent

Save as - realizeaz un lat fiier cu continut identic cu cel curent, dar cu nume schimbat

Save all - salveaya continutul tuturor fisierelor deschise

Change dir...-permite schimbarea directorului curent in care va fi memorat fisierul curent

Print tipareste la imprimanta continutul sursei programului curent

Quit - inchide aplicaia Borland C++.Etape n scrierea si execuia unui program C++:

1. se deschide aplicaia Borland C++

2. se stabileste directorul curent n care vom salva sursa programului folosind File Change dir... selecie director dorit si la final se apasa butonul OK3. Se deschide un fisier nou : File New sau direct apasnd tasta F3, caz n care trebuie sa stabilim un nume pentru noul fiier

4. se scrie n zona de lucru codul surs al programului

5. se salveaz pe parcursul editrii programului si la terminarea acestei operaii continutul programului utiliznd File Save sau tasta F2

6. Se verifica respectarea regulilor sintactice compilnd programul folosind combinaiile de taste ALT+F9 sau din meniul superior alegnd Compile Compile7. dup ce au fost corectate toate erorile de compilare, se mai salveaz o dat programul scris dup care se lanseaz n execuie prin combinaia CTRL+F9 sau din meniul superior RunRun8. n aceast etap se verific corectitudinea funcionrii programului scris verificnd i analiznd rezultatele afiate.

Tipuri de date standardNoiunea de dat a fost prezentat pe larg n lecia trecut. Orice limbaj de programare dispune de un set de date predefinite numite i tipuri de date standard. Tipurile de date standard sunt prezentate n urmtorul tabel:

Grupa de datTipulNr. octei ocupaiDomeniu de valoriMod de reprezentare n memorie

ntregchar1 octet cu semn-128...127codul ASCII alcaracterului.

unsigned char1 octet fara semn0...255

int2 octeti cu semn-32768...23767complement fa de 2

unsigned int2 octeti far semn0...65535n baza 2

long4 octei cu semn-231..231-1complement fa de 2

unsigned long4 octei fara semn0.. 232-1n baza 2

realfloat4 octei cu semn[3.410-38...3.41038 ] u

[-3.410-38...-3.41038]virgul mobil simpl precizie

double8 octei cu semn[1.710-308...1.710308] u[-1.710-308...-1.710308]virgul mobil dubl precizie

long double10 octei cu semn[3.410-4932...3.4104932 ] u

[-3.410-4932...-3.4104932]virgul mobil dubla precizie

voidTip de dat special pentru care mulimea valorilor este vid

Observaii:

n cazul tipului de dat char, dei a fost introdus pentru stocarea datelor de tip alfanumeric, el poate fi folosit n calcule numerice i logice n intervalul de valori pe care le poate stoca. n cazul datelor de tip char, int se pot folosi modificatorii de tip:

unsigned pentru a obine doar numere naturale,

long pentru a modifica dimensiunea reprezentrii

n limbajul C++ nu exist un tip de date special pentru valorile logice. Valoarea 0 este asociat valorii de adevr fals, orice valoare diferit de 0 fiind asociat valorii de adevr adevrat.

Pentru a declara o variabil n limbajul de programare C++ se folosete urmtoarea costrucie sintactic:

denumire_tip_standard variabil;

Dac dorim s declarm mai multe variabile de acelai tip este suficient s le separm cu aracterul virgula. Exemplu:

Declarare variabileEfect

int a,b,c;am definit trei variabile numite a,b, c de tip intreg

float x;x variabil reala simpl precizie

char ch;ch variabil de tip caracter

unsigned n;variabila n este de tip int fr semn

unsigned long m;variabila m este de tip long fr semn

unsigned char p;variabila p este de tip char fara semn

double d;variabila d este un numar real dubl precizie

Operatori. Expresii. Evaluarea expresiilorOperatori aritmetici

Operatorii aritmetici se mpart n dou categorii:

operatori unari: se aplic asupra unui singur operand.Singurul operator aritmetic unar definit n C++ este caracterul - scris n fata unui numr ntreg sau real si care determin semnul valorii respective.

operatori binari: se aplic asupra a doi operanzi. Operatorii binari definii n limbajul C++ sunt:

OperatorSemnificaie

+adunare

-scadere

*nmulire

/a/b daca a i b sunt dou valori ntregi determin ctul mpartiriidac a i b sunt doua valori reale determina rezultatul mpririi

%determin restul mparirii a dou numerenu se aplica valorilor float sau double

Prioritatea operatorilor este prezentat n urmtorul tabel:Operator

Operatorul unar -Cel mai prioritar

Operatorii multiplicativi: *,/ ,%Prioritate medie

Operatorii aditivi:+,-Cel mai putin prioritar

Operatorii aritmetici se grupeaza de la stnga la dreapta Ordinea de evaluare este cea de la matematic. Prioritatea operatoriloe se poate schimba daca in relaiile matematice intervin caractere ( , ) folosite pentru gruparea termenilor expresiilor matematice. Exemple:

Expresie matematicValoare obinut

Dac avem dou variabile a=20 i b=3 definite de tip int atunci:

a+b20+3=23

a-b20-3=17

b-a3-20= -17

a/b20/3=6

a%b20%3=2

b/a3/20=0

b%203%20=3

(a+b)/(a-b)(20+3) / (20-3)=23/17=1

(a+b)%(a-b)(20+3) % (20-3)=23%17=6

(a+b)/2(20+3)/2=23/2=11

Expresie matematicValoare obinut

Dac avem dou variabile a=2.0 i b=3.5 definite de tip float atunci:

a+b2.0+3.5=5.5

a-b2.0-3.5=-1.5

b-a3.5-2.0= 1.5

a/b2.0/3.5=0.5714

a%bOperaie nepermis

b/a3.5/2.0=1.75

(a+b)/(a-b)(2.0+3.5)/(2.0-3.5)=5.5/-1.5=-3.66666

(a+b)/2(2.0+3.5)/2=5.5/2=2.75

Operatori relaionali i de egalitateOperatorii relaionali sunt operatori binari i desemneaz relaia de ordine n care se gsesc cei doi operanzi. Rezultatul aplicrii unui operator relaional este 1 (adevrat) dac cei doi operanzi sunt n relaia indicat de operator, i 0(fals), altfel. Tabelul cu operatorii relaionali din limbajul C++ este:OperatorSemnificaie

= =este egal

=mai mare sau egal

!=diferit

Exemple:Expresie relaionalValoare obinut

Dac avem dou variabile a=20 i b=3 definite de tip int atunci:

a==b20 este egal cu 3? rezultat 0 (fals)

a!=b20 este diferit 3? rezultat 1 (adevarat)

a=b20 mai mare sau egal cu 3? rezultat 1 (adevarat)

Operatori logiciOperatori logici globali:

Exist trei tipuri de operatori logici globali:OperatorDenumireTipPrioritate

!Negaie logicOperator unar

&&Conjucie logic(i logic)Operator binar

||Disjuncie logic(sau logic)Operato binar

Aa cum tii deja n limbajul C++, valoarea logic fals are asociata valoarea 0, iar orice valoare diferit de 0 are semnificaia de adevrat. Prin urmare efectul operatorilor logici este acelai ca n matematic i este prezentat n tabele urmtoare:a!aaba && baba || b

0100000

10010011

100101

111111

Exemple:

Expresie logicValoare obinut

x%31,daca x se divide la 30, daca x nu se divide la 3

!(x%2)1,daca x se divide par0, daca x impar

(x>=a)&&(x=a)&&(xb)binara/2b

&conjuncie logic(i logic) bit cu bitbinar

^dijuncie logica exclusiv (sau exclusiv) bit cu bitbinar

|disjunie logic(sau logic) bit cu bitbinar

Operatorii de deplasare au ca efect deplasarea reprezentrii binare a primului operand spre stnga () iar numrul de poziii care se deplaseaz este precizat de al doilea operand. La deplasarea la stnga, poziiile rmase libere n dreapta se completeaz cu 0. La deplasarea spre dreapta, poziiile rmase libere n stnga se completeaz cu 0 (daca operandul stng este un ntreg pozitiv) sau cu 1 (dac operandul este negativ).Efectul operaiilor la nivel de bit este prezentat mai jos:a~aaba&baba^baba|b

01000000000

10010011011

100101101

111110111

Exemplu: Fie dou numere ntregi a i b reprezentate pe 1 octet:bit: 76543210Valoare

a=250001100125

b=2000000102

Atunci rezultatul urmatoarelor operatii va fi:

~a11100110-26

a&b000000000

a|b0001101127

a^b0001101127

Ab0000011025/22=6

Operatori de atribuire

Operatorii de atribuire sunt operatori binari care permit modificarea valorii unei variabile. Limbajul C++ are un singur operator de atribuire simplu (=) i 10 operatori de atribuire compui cu ajutorul operatorului de atribuire simplu.

Operaia de atribuire simpl are urmtoarea sintax:

variabil = expresie;Efect: se calculeaz valoarea expresiei i se obine un rezultat;

rezultatul se memoreaz la adresa variabilei.

Efectul acestei operaii este ntotdeauna de la dreapta la stnga

Atenie! A nu se confunda operaia de atribuire cu operaia matematic desemnat prin acelai simbol =. De exemplu daca avem declaraia int a=10, operaia a=a+1; n informatic este perfect corect si are ca semnificaie schimbarea valorii variabilei a la valoarea 11. Din punct de vedere matematic relaia a=a+1 este o relaie gresit.

Operaia de atribuire compus are urmtoarea sintax:variabil operator = expresie;

unde operatorul aparine mulimii {*, /, %, +, -, , &, |, ^}.

Expresia din partea dreapt a semnului = poate fi la rndul ei tot o operaie de atribuire, cu alte cuvinte se pot scrie operaii de atribuire nlnuite respectnd urmtoarea sintax:

variabil_1=variabila_2=...=variabila_n=expresie;

Exemplu: Fie dou variabile a=30 i b=2 de tip ntreg int atunci:

Operatie de atribuire compusOperaie echivalentEfect

a + = b;a=a+b;a are valoarea 32

a - = b;a=a-b;a are valoarea 28

a* = b;a=a*b;a are valoarea 60

a / = b;a=a/b;a are valoarea 15

a=b*=2a=b*2;a are valoarea 4

a=b=a*b;a=b=60;a i b au valoarea 60

Operatorul de incrementare i de decrementare

Operatorii de incrementare/ decrementare sunt operatori unari care au drept scop cresterea/micorarea valorii unei variabile cu 1.

OperatorDenumire

++incrementare

--decrementare

Forma generala de uitlizare a acestor operatori este:Forma generalaEfect

variabila++; este forma postfixata a operatorului de incrementare, se utilizeaza mai inti valoarea variabilei si apoi se creste valoarea ei cu 1

variabila--;este forma postfixata a operatorului de decrementare, se utilizeaza mai inti valoarea variabilei si apoi se scade valoarea ei cu 1

++variabila;este forma prefixata a operatorului de incrementare, se efectueaz mai nti cresterea cu 1 a valorii variabilei i cu noua valoare se utilizeaz variabila

--variabila;este forma prefixata a operatorului de decrementare, se efectueaz mai nti scderea cu 1 valorii variabilei i cu noua valoare se utilizeaz variabila

Operatori condiionali

Operatorii condiional sunt ? i : i se utilizeaz numai mpreun. Sintaxa general a unei expresii condiionale este:

expresie_1 ? expresie_2 : expresie_3

Efect: se evalueaz expresie_1. Dac expresie_1 are o valoare diferit de 0 atunci valoarea expresiei condiionale este egal cu valoarea expresiei_2. Dac expresie_1 are o valoare egal cu 0 atunci valoarea expresiei condiionale este egal cu valoarea expresiei_3.Exemplu: expresia x

< > =

= = !=

&

^

|

&&

||

? :Dreapta stanga

= *= /= %= += - = &= ^= |= =Dreapta stangaPrioritate minima

Aplicaii practice1. Completai spaiul punctat pentru x =129:a. Numrul x are .......... cifre. Notm numrul de cifre cu nr.b. Numerele formate din nr cifre aparin intervalului nchis ........................................

c. Suma cifrelor numrului x este .................................................................................

d. Media aritmetic a cifrelor numrului x este ............................................................

e. Ctul mpririi numrului x la 4 este .......................................................................

f. Restul mpririi numrului x la 4 este ......................................................................

g. Ctul mpririi numrului x la 130 este....................................................................

h. Restul mpririi numrului x la 130 este..................................................................

2. Completai spaiul punctat cu expresiile matematice corespunztoare.a. Numrul real x aparine intervalului nchis [10, 20] dac i numai dac ...................................................................................................................................b. Numrul real x aparine intervalului nchis [a,b] U [c,d] dac i numai dac ...................................................................................................................................c. Numerele naturale x i y sunt numere consecutive dac i numai dac ...................................................................................................................................d. Un numr natural x este impar dac i numai dac restul mpririi numrului la 2 este.............................................................................................................................e. Dou numere naturale x i y sunt ambele nenule dac i numai dac ...................................................................................................................................

f. Un numr x este strict pozitiv dac i numai dac ...................................................................................................................................

g. Trei numere a, b, c sunt n ordine strict cresctoare dac i numai dac ...................................................................................................................................

h. Trei numere naturale a, b, c sunt pitagorice dac...................................................................................................................................

i. Trei numere reale a, b, c pot fi laturile unui triunghi dac...................................................................................................................................3. Calculai rezultatul urmtoarelor expresii:

a. 15340:20+3215-139b. (((7x+34)%17+18)/5-12)*8c. 5075-(125-(75-(7+18)))d. (((512/518)-25%2)3)24. Care este rezultatul urmtoarelor expresii?

a. (77+5)/3*2

b. (49+63)/7/4

c. 7+(7+(7+7%2))/3

d. 72/9+9%4

5. Fie urmatoare declaraie: int a;Care va fi rezultatul functiei sizeof(a)?

a. 1

b. 2

c. 4

d. 0

6. Fie urmtoarea declaratie de variabile: int a=2,b=3; Care va fi rezultatul expresiei (a+b)/2?

a. 2.5

b. 3

c. 2

d. 5

7. Fie urmtoarea declaratie de variabile: int a=10,b=100; Care va fi rezultatul expresiei (a+b+abs(a-b))/2?(observaie: abs(x) este o functie care calculeaz valoarea absolut a parametrului dat x )

a. 10

b. 100

c. 1000

d. 50

8. Care este rezultatul urmtoarei expresii condiionale x%2==0 ? y=1: y=0 ?

a. 0

b. 1

c. Expresie scris gresit

9. Daca avem urmtoarea declaraie de variabile int a=7, b=5, c=3; Care este rezultatul urmtoarei expresii (float)(a+b+c)/2?

a. 7.5

b. 7

c. 9

d. Eroare10. Fie urmtoarea declaraie de variabile long a=40, b=10; Calculai valorile expresiilor:

a. a+=b;

b. a-=b;

c. a*=b;

d. a=b*2;

11. Expresia a. Din acest punct de vedere forma general a operaiei de citire este:cin>>nume_variabil;Dac dorim s citim succesiv mai multe variabile, atunci putem utiliza operatorul de extragere nlnuit, adic:cin>>nume_variabil_1>>nume_variabil_2>>>>nume_variabil_n;De exemplu:Scriei un program care citeste de la tastatur doua numere intregi.Program C++Explicaii:#includevoid main() { int a,b; cin>>a; cin>>b; }Daca presupunem ca tastam secvena de caractere10 100 atunci n variabila a vom avea valoarea 10 si in variabila b vom avea valoarea 100.Acelai lucru se va obtine daca tastm secventa 10 100 Citirea variabilelor se face liniar.#includevoid main() { int a,b; cin>>a>>b; }Este un program echivalent cu cel de sus, citirea variabilelor se face succesiv.Observaii: datele de intrare din orice program se vor citi fie de la tastatur fie din fisier text la citire valorile numerice care se citesc trebuie introduse de la tastatura, separate de caractere albe(spaiu, Tab, Enter).Operaia de afiareDefiniie 2: Prin afiarea sau scrierea datelor vom ntelege operaia prin care rezultatele obinute prin prelucrarea datelor de intrare vor fi afiate pe ecranul monitorului, fie vor fi memorate ntr-un fiier text pe un suport extern de memorare.n fiierul antet iostream este definit acest stream de ieire a datelor de la tastatur, denumit cout (console output). Atunci cnd dorim s afim datelele le vom extrage din fluxul de ieire, folosind operatorul de ieire


Recommended