Programarea şi utilizarea calculatoarelor

Documente similare
Microsoft Word - CarteC.doc

Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O

Programarea şi utilizarea calculatoarelor

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode]

Microsoft Word - O problema cu bits.doc

Limbaje de Programare Curs 6 – Functii de intrare-iesire

Slide 1

Microsoft Word - CarteC.doc

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa

Programarea calculatoarelor. Note de curs Marius Minea 1 Introducere în programarea în C 1.1 Funcţii în limbajul C Calcule şi funcţii La origine, rolu

proiectarea bazelor de date

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

E_d_Informatica_sp_SN_2014_bar_10_LRO

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

Microsoft Word - PCLP2_Curs_4_2019.doc

Laborator 3

-

L7

E_d_Informatica_sp_MI_2015_bar_02_LRO

Slide 1

SUBPROGRAME

Microsoft Word - Lab1a.doc

Top

Slide 1

SSC-Impartire

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

tehnologii web

Limbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012

Microsoft Word - Curs1.docx

Declaraţii. Instrucţiuni 19 octombrie 2005 Programarea calculatoarelor 2. Curs 3b Marius Minea

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

Paradigme de programare

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

LUCRAREA NR

Declararea variabilelor

PHP (II)

Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este ace

Microsoft PowerPoint - Curs_SDA_3_RO_2019_v2.pptx

Microsoft Word - Raspunsul la niste provocari. Partea III..doc

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

Subiectul 1

PROGRAMARE ORIENTATA PE OBIECTE

Paradigme de Programare

Microsoft Word - CarteC.doc

Microsoft Word _POO_Lab_1_Modificari_v01.htm

Microsoft PowerPoint - Curs_SDA_4_RO_2019_v2.pptx

Limbaje de Programare Curs 8 – Fisiere

Tablouri unidimensionale Problema 1 Să se determine mulţimea cifrelor unui număr natural n > 0, dat. Exemplu: n= Cifre = {1,2,3,7} Se cere să s

Diapositive 1

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S

CURS

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M

Lab6LCD

Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XII 1.Să se scrie în limbajul C/C++ definiţia comp

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare

Microsoft Word - Notiuni de arhitectura calculatoarelor.doc

MINISTERUL EDUCAŢIEI, CULTURII ŞI CERCETĂRII AL REPUBLICII MOLDOVA UNIVERSITATEA DE STAT ALECU RUSSO DIN BĂLŢI FACULTATEA DE ŞTIINŢE REALE, ECONOMICE

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx

Lecţia 2 Structura liniară, alternativă şi repetitivă Clasa a V-a Structuri de bază(liniară, alternativă şi repetitivă) Programarea structurată este o

1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x.

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

PowerPoint-Präsentation

MergedFile

Slide 1

CL2009R0976RO bi_cp 1..1

I. Partea introductivă Proiectul unității de învățare CONCEPTUL DE MATRICE ŞCOALA: Colegiul Național Petru Rareș Suceava CLASA: a XI a- matematică / a

Ingineria Sistemelor de Programare

ALGORITHMICS

Secţiunea 7-8 începători Concurs online de informatică Categoria PROGRAMARE PROBLEMA 1 ID 100 puncte Calculatoarele trebuie să se recunoască în rețeau

Limbaje de Programare Curs 5 – Siruri de caractere

Slide 1

Object Oriented Programming

Grile si probleme siruri de caractere in C++ ŞIRURI DE CARACTERE Itemii următori sunt preluaţi din variantele de bacalaureat În secvenţa de i

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil

1

GHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G

Școala: Clasa a V-a Nr. ore pe săptămână: 4 Profesor: MATEMATICĂ Clasa a V-a Aviz director PLANIFICARE CALENDARISTICĂ ORIENTATIVĂ Nr. crt. Unitatea de

Microsoft Word - a5+s1-5.doc

Secţiunea 5-6 avansaţi PROBLEMA 1 Concurs online de informatică Categoria PROGRAMARE 100 puncte NR Un număr natural nenul V care se plictisea singur,

Microsoft Word - Curs_08.doc

Microsoft Word - Cuprins_LP.doc

Programarea şi utilizarea calculatoarelor

Înregistrator de temperatură şi umiditate AX-DT100 Instrucţiuni de utilizare

Laborator 7 - Stream-uri

Structuri de date pentru partiţii de mulţimi O partiţie finită a unei mulţimi nevide S este o mulţime finită de submulţimi ale lui S: {S 1, S 2,..., S

Microsoft Word - Lucrarea_10_t.doc

Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve

Guns N' Roses Video Slots Regulile jocului Guns N' Roses Video Slots este un slot video cu 5 role, 3 rânduri și 20 de linii care conține substituții W

Concurs online de informatică Categoria PROGRAMARE Secţiunea 5-6 avansaţi PROBLEMA puncte DANS De 1 Iunie - Ziua Copilului se organizează un spe

Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s

C++ Probleme

PROIECT DIDACTIC DATE DE IDENTIFICARE Data: Școala : Școala Gimnazială Grigore Moisil Ploiești Clasa: a VI-a Profesor: Ilie Oana Magdalena Disciplina:

/*

Regulile jocului Hotline Hotline este un slot video cu 5 role, 3 rânduri și 30 de linii (fixe) care conține simboluri Wild și Expanding Wild, Re-Spins

Coman Marinela Furnizor program formare acreditat: CCD BRĂILA Denumire program: INFORMATICĂ ŞI TIC PENTRU GIMNAZIU Clasa a V-a Categorie: 1; Tip de co

Transcriere:

Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Programarea calculatoarelor Lect.dr. Adrian Runceanu

Curs 3 Elemente introductive ale limbajului C++ 23.03.2014 Curs - Programarea calculatoarelor 2

3. Elemente introductive ale limbajului C++ 3.1. Programarea şi limbaje de programare 3.2. Limbajul C 3.3. Elemente de bază ale limbajului C++ 3.3.1. Tipuri de date 3.3.2. Modificatorii de tip 3.3.3. Constante 3.3.4. Variabile 3.4. Operatorii limbajului C++ 3.4.1. Operatori aritmetici 3.4.2. Operatori relationali 3.4.3. Operatori de egalitate 23.03.2014 Curs - Programarea calculatoarelor 3

3.1. Programarea şi limbaje de programare Prin programare se înţelege în mod generic transpunerea unor operaţii repetitive, asupra unui set de date, într-un limbaj inteligibil de către un sistem de calcul care urmează ulterior să le execute. Acest lucru este realizat în două etape: 1. etapă în care este implicat omul şi anume cea de trecere de la problema reală la transpunerea într-un limbaj de programare. 2. o a doua etapă, automată, care transpune codul sursă (înşiruirea de instrucţiuni specifice limbajului respectiv) într-un cod direct executabil (inteligibil sistemului de calcul) lucru de care se ocupă programe specializate 23.03.2014 numite compilatoare. Curs - Programarea calculatoarelor 4

3.1. Programarea şi limbaje de programare Rolul programării este ca de fiecare dată când o anumită operaţiune sau o suită de operaţiuni repetitive care se aplică asupra unor seturi de date mereu diferite să fie scris un program care să: 1. ceară setul de date de intrare (cele care trebuie să fie prelucrate) 2. să execute asupra lor suita standard de operaţiuni 3. şi să livreze datele de ieşire (adică rezultatele) 23.03.2014 Curs - Programarea calculatoarelor 5

3. Elemente introductive ale limbajului C++ 3.1. Programarea şi limbaje de programare 3.2. Limbajul C 3.3. Elemente de bază ale limbajului C++ 3.3.1. Tipuri de date 3.3.2. Modificatorii de tip 3.3.2. Constante 3.3.2. Variabile 3.4. Operatorii limbajului C++ 3.4.1. Operatori aritmetici 3.4.2. Operatori relationali 3.4.3. Operatori de egalitate 23.03.2014 Curs - Programarea calculatoarelor 6

3.2. Limbajul C Limbajele de programare de nivel mediu au fost serios dezvoltate pe la mijlocul anilor '50. La ora actuală se estimează că există peste 2000 de limbaje de programare, diferenţele între ele fiind legate în principal de stilul de programare. Limbajul C, dezvoltat în 1972 de Dennis M. Ritchie* la Laboratoarele AT&T Bell, este primul limbaj pentru crearea de sisteme de operare. *Dennis M. Ritchie a decedat pe 14.10.2011 (la varsta 70 de ani)! 23.03.2014 Curs - Programarea calculatoarelor 7

3.2. Limbajul C Numele limbajului provine din faptul că este rezultatul îmbunătăţirii limbajului B, folosit în scrierea sistemului de operare UNIX pentru DEC PDP7. Prima documentaţie despre acest limbaj a fost "The C Programing Language", scrisă de Dennis Ritchie şi Brian Kernighan în 1977. Înaintea ei exista doar "The C Reference Manual", scrisă de Dennis Ritchie. O caracteristică importantă a acestui limbaj este faptul că poate fi considerat simultan şi un limbaj de nivel mediu şi un limbaj de nivel scăzut. 23.03.2014 Curs - Programarea calculatoarelor 8

3.2. Limbajul C Limbajul C şi versiunile sale OOP (Object Oriented Programming) C++, Visual C++ şi mai noul C# sunt printre cele mai folosite limbaje de programare la ora actuală. 23.03.2014 Curs - Programarea calculatoarelor 9

3.2. Limbajul C Limbajul C permite folosirea a două tehnici de programare: 1. programare structurată 2. acces direct la maşină fapt care-l face să fie foarte flexibil. Ultimul şi poate cel mai important motiv pentru învăţarea limbajului C este faptul că permite trecerea cu uşurinţă la varianta sa C++, la limbajul Java sau la limbajul C#. 23.03.2014 Curs - Programarea calculatoarelor 10

3. Elemente introductive ale limbajului C++ 3.1. Programarea şi limbaje de programare 3.2. Limbajul C 3.3. Elemente de bază ale limbajului C++ 3.3.1. Tipuri de date 3.3.2. Modificatorii de tip 3.3.3. Constante 3.3.4. Variabile 3.4. Operatorii limbajului C++ 3.4.1. Operatori aritmetici 3.4.2. Operatori relationali 3.4.3. Operatori de egalitate 23.03.2014 Curs - Programarea calculatoarelor 11

3.3. Elemente de bază ale limbajului C++ Vom studia în cele ce urmează varianta orientată pe obiecte a limbajului standard C, şi anume limbajul C++. 23.03.2014 Curs - Programarea calculatoarelor 12

3.3. Elemente de bază ale limbajului C++ 1. Tipuri de date. Variabile. Constante Cuvinte cheie Limbajul C, ca orice limbaj de programare, este compus din câteva denumiri (identificatori) cu o semnificaţie bine stabilită, numite cuvinte cheie. Observaţie: Când alegeţi denumiri pentru programe să nu utilizaţi aceste denumiri. 23.03.2014 Curs - Programarea calculatoarelor 13

3.3. Elemente de bază ale limbajului C++ Cuvintele cheie ale limbajului C. auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while Limbajul C++ adaugă noi cuvinte cheie la cele existente ale limbajului C. asm bool catch class delete friend inline mutable namespace new operator private public protected template this using virtual 23.03.2014 Curs - Programarea calculatoarelor 14

3. Elemente introductive ale limbajului C++ 3.1. Programarea şi limbaje de programare 3.2. Limbajul C 3.3. Elemente de bază ale limbajului C++ 3.3.1. Tipuri de date 3.3.2. Modificatorii de tip 3.3.3. Constante 3.3.4. Variabile 3.4. Operatorii limbajului C++ 3.4.1. Operatori aritmetici 3.4.2. Operatori relationali 3.4.3. Operatori de egalitate 23.03.2014 Curs - Programarea calculatoarelor 15

3.3.1. Tipuri de date Un tip de date specifică (precizează): mulţimea de valori pe care variabila respectivă le poate lua cât şi setul de operaţii pe care programatorul le poate efectua cu acea variabilă 23.03.2014 Curs - Programarea calculatoarelor 16

NUMELE TIPULUI char int float double void 3.3.1. Tipuri de date CARACTERISTICI reţine un singur caracter Exemple: A, a, %, etc. reţine numere întregi cu semn Exemple: 23, -45, 0, etc. reţine numere reale în format cu virgulă mobilă, în simplă precizie Exemple: 7.8965, -4.123, 7.0, etc. reţine numere reale în format cu virgulă mobilă, în dublă precizie Exemple: 123456789.89654321, -123456789.1234567890, 123456789.0, etc. (se utilizează când se prelucrează numere foarte mari sau foarte mici) tip de date special care nu specifică un anumit set de valori iniţial, dar care poate fi specificat ulterior declarării. 23.03.2014 Curs - Programarea calculatoarelor 17

3.3.1. Tipuri de date Reprezentarea caracterelor in memoria calculatorului Programatorii pot folosi in programe valori de orice tip (cifra, litera mica, litera mare, caractere speciale, alte caractere). In memoria calculatorului fiecare astfel de caracter se reprezinta printr-un cod numeric - ASCII (codul numeric al caracterului respectiv). Intervalul este intre 0 si 255. Interval valori (selecție) Cod ASCII Semnificație [0, 32] Caractere neprintabile(netipăribile) [48, 57] Cifrele de la 0 la 9 [65, 90] Literele mari de la A la Z [97, 122] Literele mici de la a la z 23.03.2014 Curs - Programarea calculatoarelor 18

3.3.1. Tipuri de date 1. Tipul de date char char <definitie_de_data>; Se reprezintă în memoria calculatorului folosind 8 biţi (un octet) şi poate păstra valori cuprinse între 128 şi 127. Programatorii pot atribui valori de tip caracter unei astfel de variabile în două modalităţi distincte, dar care acţionează identic. Astfel se poate folosi reprezentarea din ASCII (codul numeric al caracterului respectiv), sau caracterul respectiv între două apostrofuri. Dacă se declară fără semn (adică se utilizează modificatorul unsigned), intervalul de valori se întinde de la 0 la 255. Exemplu: char litera_mica; char litera_mica=97; sau char litera_mica= a ; 23.03.2014 Curs - Programarea calculatoarelor 19

3.3.1. Tipuri de date 2. Tipul de date int int <definitie_de_data>; Se reprezintă în memoria calculatorului folosind 16 biţi (2 octeţi) şi poate păstra valori cuprinse între -32768 şi 32767. Dacă se declară fără semn (adică se utilizează modificatorul unsigned), intervalul de valori se întinde de la 0 la 65535. Exemplu: int a=9; int b=6725; int c=-31567; 23.03.2014 Curs - Programarea calculatoarelor 20

3. Tipul de date float 3.3.1. Tipuri de date float <definitie_de_data>; Se reprezintă în memoria calculatorului folosind 32 biţi (4 octeţi) şi poate păstra valori cuprinse între 3.4E-38 şi 3.4E+38. Exemplu: float x=9.789; float y=-6725.123; float z=-3156723; 23.03.2014 Curs - Programarea calculatoarelor 21

3.3.1. Tipuri de date 4. Tipul de date double Se reprezintă în memoria calculatorului folosind 64 biţi (8 octeţi) şi poate păstra valori cuprinse între 1.7E-308 şi 1.7E+308. Exemplu: double <definitie_de_data>; double numar_foarte_mare=123456789123456789.123456789123456789; double numar_foarte_mic=-123456789123456789.123456789123456789; double numar_mare=-123456789; 23.03.2014 Curs - Programarea calculatoarelor 22

5. Tipul de date void 3.3.1. Tipuri de date [void ] <definitie_de_functie([void]) sau void <definitie_de_pointer>; Este tipul de dată vidă (fără tip specificat), utilizat în general pentru mărirea clarităţii programelor. Tipul void permite explicitarea faptului că o funcţie nu returnează nimic sau nu are nici un parametru. Exemplu: void salut(void) { cout<< SALUTAM PROGRAMATORII IN LIMBAJUL C++!!! <<endl; } 23.03.2014 Curs - Programarea calculatoarelor 23

3. Elemente introductive ale limbajului C++ 3.1. Programarea şi limbaje de programare 3.2. Limbajul C 3.3. Elemente de bază ale limbajului C++ 3.3.1. Tipuri de date 3.3.2. Modificatorii de tip 3.3.3. Constante 3.3.4. Variabile 3.4. Operatorii limbajului C++ 3.4.1. Operatori aritmetici 3.4.2. Operatori relationali 3.4.3. Operatori de egalitate 23.03.2014 Curs - Programarea calculatoarelor 24

3.3.2. Modificatorii de tip Limbajul C++ oferă pe lîngă cele 5 tipuri de bază prezentate mai sus, un set de modificatori de tip: 1. unsigned (fără semn) 2. long (lung) 3. signed (cu semn) 4. register (registru) 5. short (scurt) Exemplu: unsigned int numar; register int i; long int numar_foarte_mare; Un modificator de tip schimbă domeniul valorilor pe care o variabilă le poate păstra, sau modul în care compilatorul păstrează o variabilă. Pentru a se modifica un tip de data, se va plasa modificatorul în faţa tipului respectiv. 23.03.2014 Curs - Programarea calculatoarelor 25

3. Elemente introductive ale limbajului C++ 3.1. Programarea şi limbaje de programare 3.2. Limbajul C 3.3. Elemente de bază ale limbajului C++ 3.3.1. Tipuri de date 3.3.2. Modificatorii de tip 3.3.3. Constante 3.3.4. Variabile 3.4. Operatorii limbajului C++ 3.4.1. Operatori aritmetici 3.4.2. Operatori relationali 3.4.3. Operatori de egalitate 23.03.2014 Curs - Programarea calculatoarelor 26

3.3.3. Constante Sunt date a căror valoare nu poate fi modificată în timpul execuţiei programului. Ele reprezintă un tip şi o valoare şi astfel pot fi de mai multe tipuri: 1. constantă întreagă 2. constantă flotantă 3. constantă caracter 4. constantă șir de caractere 23.03.2014 Curs - Programarea calculatoarelor 27

3.3.3. Constante 1. constantă întreagă = se reprezintă sub forma unei înşiruiri de cifre. Se clasifică în: a) constante zecimale (se scriu în baza 10) Exemplu: 14, 568, 17342 b) constante octale (se scriu în baza 8) Exemplu: 0şir de cifre în baza 8 c) constante hexazecimale (se scriu în baza 16) Exemplu: 0x şir de cifre în baza 16 Constantele întregi se reprezintă pe 16 biţi sau pe 32 de biţi. Dacă la sfârşitul unei constante punem litera l sau L, atunci constanta respectivă va fi reprezentată pe 32 de biţi. Exemplu: numărul 17 se reprezintă pe 16 biţi numărul 17L se reprezintă pe 32 biţi 23.03.2014 Curs - Programarea calculatoarelor 28

3.3.3. Constante 2. constantă flotantă este compusă din 2 părţi partea fracţionară (care poate fi vidă) şi exponent (care poate fi el vid) O constantă reală este sub următoarea formă: parte întreagă.parte fracţionară e exponent Exemplu: 3.45e-17 3,45*10-17 Toate constantele flotante se reprezintă pe 16 biţi. 23.03.2014 Curs - Programarea calculatoarelor 29

3.3.3. Constante 3. constantă caracter este de fapt un caracter între apostrofuri. Se reprezintă pe 8 biţi, fiind chiar reprezentarea în codul ASCII a caracterului respectiv. Exemplu: A reprezentare internă: 65 (codul ASCII a caracterului A ) a reprezentare internă: 97 (codul ASCII a caracterului a ) În plus avem o notaţie specială \ = backslash, care se poate folosi împreună cu câteva litere mici cu următoarele semnificaţii: Caracter semnificatie \n linie noua \r retur de car \t tabulator orizontal \v tabulator vertical \\ backslash \nnn valoare ASCII in octal 23.03.2014 Curs - Programarea calculatoarelor 30 \xnnn valoare ASCII in hexazecimal

3.3.3. Constante 4. constantă şir sau şir de caractere Acest tip de constantă apare ca o succesiune de caractere scrise între ghilimele. Poate fi şi şirul vid. Reprezentarea internă este astfel încât fiecare caracter apare pe câte un singur octet, iar ca terminator de şir avem caracterul 0 (nul). Constantele şir pot fi scrise pe linii diferite, dar pe prima linie ultimul caracter este backslash, înainte de apăsarea tastei RETURN. Exemplu: linia 1 : conti\ linia 2 : nuare Exemplu : AbbA se reprezintă intern astfel: 659898650 A b b A 23.03.2014 Curs - Programarea calculatoarelor 31

3. Elemente introductive ale limbajului C++ 3.1. Programarea şi limbaje de programare 3.2. Limbajul C 3.3. Elemente de bază ale limbajului C++ 3.3.1. Tipuri de date 3.3.2. Modificatorii de tip 3.3.3. Constante 3.3.4. Variabile 3.4. Operatorii limbajului C++ 3.4.1. Operatori aritmetici 3.4.2. Operatori relationali 3.4.3. Operatori de egalitate 23.03.2014 Curs - Programarea calculatoarelor 32

3.3.4. Variabile Pentru a putea utiliza informaţiile ce pot fi prelucrate prin intermediul programelor, trebuie să folosim denumiri (identificatori), care să fie compuşi din caractere litere, cifre şi liniuţa de subliniere - underscore( _ ) din maximum 31 caractere. Numim variabilă o denumire (identificator) pe care compilatorul o asociază cu o anumită zonă de memorie. 23.03.2014 Curs - Programarea calculatoarelor 33

3.3.4. Variabile Când se declară o variabilă, trebuie specificat atât numele ei cât şi tipul de date asociat. Exemple: int variabila_de_tip_intreg; float variabila_de_tip_real; char variabila_de_tip_caracter; void variabila_fara_tip; Restricţie: Numele variabilelor nu pot să înceapă cu o cifră. Exemplu: variabila1 - este corect 1variabila - nu este corect 23.03.2014 Curs - Programarea calculatoarelor 34

3.3.4. Variabile Observaţie: Limbajul C este case sensitive, adică face diferenţa dintre literele mici şi mari, astfel încât, două denumiri de variabile sau de funcţii, care sunt identice dar sunt scrise o dată cu litere mici iar apoi cu litere mari, se consideră ca fiind două denumiri de variabile sau de funcţii diferite. Exemplu: int var_intreaga; int VAR_INTREAGA; semnifică două denumiri total diferite. 23.03.2014 Curs - Programarea calculatoarelor 35

3.3.4. Variabile Variabilele pot fi: 1. simple 2. compuse: a) tablou b) structură/uniune/enumerare c) fişier 23.03.2014 Curs - Programarea calculatoarelor 36

3.3.4. Variabile Variabilele simple Declaraţia de variabilă simplă are forma: tip nume_variabila; Exemplu: int i; int j, k, l; double a, b; float x, y; char m, n, t; 23.03.2014 Curs - Programarea calculatoarelor 37

3.3.4. Variabile Variabilele tablou Prin tablou înţelegem o mulţime ordonată de acelaşi tip; accesul la elementele tabloului făcându-se cu ajutorul indicilor. Declaraţia este: Exemplu: tip nume_tablou[dimensiune]; int v[5]; float x[15]; double a[3]; 23.03.2014 Curs - Programarea calculatoarelor 38

3.3.4. Variabile Observaţie: Numerotarea elementelor unui tablou în limbajul C++ începe cu indicele 0. Elementele lui int v[5] vor fi: v[0],v[1],v[2],v[3],v[4]; Indice poate să fie orice expresie întreagă. Putem avea chiar şi tablouri de şiruri de caractere: char t[20]; Numele tabloului este de fapt adresa primului său element. 23.03.2014 Curs - Programarea calculatoarelor 39

3.3.4. Variabile Iniţializarea variabilelor Poate fi făcută chiar pe linia de declarare a variabilelor: Exemplu: int i=5; float x=7.8; int v[5]={1,2,7,10,-5}; float y[3]={-9.034,89,2}; char c= B ; Pentru iniţializarea variabilelor de tip şir de caractere avem următoarele posibilităţi: char t[15] = { s, i, r,, c, o, r, e, c, t, \0 }; sau char t[15] = sir corect ; 23.03.2014 Curs - Programarea calculatoarelor 40

3.3.4. Variabile Comentarii în programe Numim comentarii, acele texte care nu sunt luate în considerare de compilator şi care apar între simbolurile /* comentariu */ sau când este vorba despre o singură linie // comentariu Se mai pot pune comentarii pentru ca să se elimine una sau mai multe instrucţiuni din programul C++. 23.03.2014 Curs - Programarea calculatoarelor 41

3. Elemente introductive ale limbajului C++ 3.1. Programarea şi limbaje de programare 3.2. Limbajul C 3.3. Elemente de bază ale limbajului C++ 3.3.1. Tipuri de date 3.3.2. Modificatorii de tip 3.3.3. Constante 3.3.4. Variabile 3.4. Operatorii limbajului C++ 3.4.1. Operatori aritmetici 3.4.2. Operatori relationali 3.4.3. Operatori de egalitate 23.03.2014 Curs - Programarea calculatoarelor 42

3.4. OPERATORII LIMBAJULUI C++ Expresii O expresie poate să fie un operand sau mai mulţi operanzi legaţi prin operatori. Orice expresie are tip şi valoare care sunt date după evaluarea expresiei. 23.03.2014 Curs - Programarea calculatoarelor 43

3.4. OPERATORII LIMBAJULUI C++ Operatori Operatorii folosiţi în limbajul C++ au o asociere de la stânga la dreapta în general cu excepţia operatorilor unari (se aplică la un singur operand), relaţionali şi de atribuire, la care asocierea se face de la dreapta la stânga. 23.03.2014 Curs - Programarea calculatoarelor 44

3.4. OPERATORII LIMBAJULUI C++ Operatorii sunt împărţiţi în 11 categorii: Operatori 1 aritmetici 2 relaţionali 3 de egalitatite 4 logici 5 logici pe biţi 6 de atribuire 7 de incrementare şi decrementare 8 de conversie explicită (cast) 9 de lungime (sizeof) 10 condiţional 11 virgulă 23.03.2014 Curs - Programarea calculatoarelor 45

3. Elemente introductive ale limbajului C++ 3.1. Programarea şi limbaje de programare 3.2. Limbajul C 3.3. Elemente de bază ale limbajului C++ 3.3.1. Tipuri de date 3.3.2. Modificatorii de tip 3.3.3. Constante 3.3.4. Variabile 3.4. Operatorii limbajului C++ 3.4.1. Operatori aritmetici 3.4.2. Operatori relationali 3.4.3. Operatori de egalitate 23.03.2014 Curs - Programarea calculatoarelor 46

3.4.1. Operatori aritmetici OPERATOR FUNCŢIE + Adunare - Scădere * Înmulţire / Împărţire % Restul împărţirii + adunare unară - scădere unară În cele mai simple programe se pot utiliza operaţii matematice cum ar fi adunarea, scăderea, înmulţirea şi împărţirea. Exemplu: int i=9, j=2; atunci i/j are ca rezultat 4 i%j are ca rezultat 1 23.03.2014 Curs - Programarea calculatoarelor 47

3.4.1. Operatori aritmetici Prezentăm în următorul program scris în C++, principalii operatori matematici: #include <iostream.h> int main(void) { int secunde_pe_ora; float media; secunde_pe_ora = 60 * 60; media = (5 + 10 + 15 + 20) / 4; cout<< Numarul de secunde intr-o ora este << secunde_pe_ora <<endl; cout<< Media numerelor 5, 10, 15 si 20 este <<media<<endl; cout<< Numarul de secunde in 48 de minute este <<secunde_pe_ora 12 * 60<<endl; } 23.03.2014 Curs - Programarea calculatoarelor 48

3.4.1. Operatori aritmetici După execuţia programului se vor afişa pe ecran următoarele rezultate: Numarul de secunde intr-o ora este 3600 Media numerelor 5, 10, 15 si 20 este 12.000000 Numarul de secunde in 48 de minute este 2880 23.03.2014 Curs - Programarea calculatoarelor 49

3. Elemente introductive ale limbajului C++ 3.1. Programarea şi limbaje de programare 3.2. Limbajul C 3.3. Elemente de bază ale limbajului C++ 3.3.1. Tipuri de date 3.3.2. Modificatorii de tip 3.3.3. Constante 3.3.4. Variabile 3.4. Operatorii limbajului C++ 3.4.1. Operatori aritmetici 3.4.2. Operatori relationali 3.4.3. Operatori de egalitate 23.03.2014 Curs - Programarea calculatoarelor 50

3.4.2. Operatori relaţionali În programe, prin aplicarea acestor operatori relaţionali se pot obţine două valori posibile, la evaluarea expresiilor care îi conţin: 0 ceea ce înseamnă că expresia este falsă 1 ceea ce înseamnă că expresia este adevărată OPERATOR FUNCŢIE < mai mic <= mai mic sau egal > mai mare >= mai mare sau egal Exemplu: int i=3, j=8; Atunci pentru expresia i < j avem valoarea 1 Iar pentru expresia i >= j avem valoarea 0 23.03.2014 Curs - Programarea calculatoarelor 51

3. Elemente introductive ale limbajului C++ 3.1. Programarea şi limbaje de programare 3.2. Limbajul C 3.3. Elemente de bază ale limbajului C++ 3.3.1. Tipuri de date 3.3.2. Modificatorii de tip 3.3.3. Constante 3.3.4. Variabile 3.4. Operatorii limbajului C++ 3.4.1. Operatori aritmetici 3.4.2. Operatori relationali 3.4.3. Operatori de egalitate 23.03.2014 Curs - Programarea calculatoarelor 52

3.4.3. Operatori de egalitate În programe, prin aplicarea acestor operatori de egalitate se pot obţine două valori posibile, la evaluarea expresiilor care îi conţin: 0 ceea ce înseamnă că expresia este falsă 1 ceea ce înseamnă că expresia este adevărată OPERATOR FUNCŢIE == egal!= diferit Exemplu: int i=2, j=5, k=2; Atunci pentru expresia i!=j avem valoarea 1 Pentru expresia i==j avem valoarea 0 Iar pentru expresia i==k avem valoarea 1 23.03.2014 Curs - Programarea calculatoarelor 53

Întrebări? 23.03.2014 Curs - Programarea calculatoarelor 54