Documente Academic
Documente Profesional
Documente Cultură
baza ale
limbajului de
programare C++
REALIZATORI:
CHELARIU MǍDǍLINA
ASAVEI ALINA
1
Cuprins:
• Vocabularul limbajului
• Constante. Identificatori
• Noţiunea de tip de dată. Operatori
2
Vocabularul limbajului
1. SETUL DE CARACTERE
La scrierea programelor se foloseşte setul de caractere al codului
ASCII. Mulţimea caracterelor se împarte în trei grupe:
caractere negrafice:
cod Ascii < 32 şi DEL(cod 127 - excepţie)
2. IDENTIFICATORI
EXEMPLU:
Max, _min, distincte, frecv, Max2 - reprezintă identificatori
2min, 67prim, 7_org, A+B, a& - nu reprezintă identificatori
3. CUVINTE REZERVATE
Cuvintele rezervate sunt identificatori cu semnificaţie fixată, care nu
pot fi folosiţi în alt context decât cel precizat în definirea limbajului
EXEMPLU: if, while, do, int, main, void etc.
3
4. CONSTANTE
O constantă are un tip şi o valoare. Valoarea acesteia nu poate fi modificată
pe tot parcursul programului.
În C există următoarele tipuri de constante:
constante întregi
constante reale
constante caracter
constante şir de caractere
constante simbolice
1.CONSTANTE ÎNTREGI
O constantă întreagă poate fi un şir de cifre, care eventual este
precedat de un semn.
CLASIFICARE:
constante întregi zecimale (scrise în baza 10)
constante întregi octale (scrise în baza 8) - precedate de 0
nesemnificativ
constante întregi hexazecimale (scrise în baza 16) - precedate de 0x
sau 0X
2. CONSTANTE REALE
O constantă reală este un număr real care se compune din:
semn +/- (ce poate lipsi)
parte întreagă ce poate fi vidă (ex: .345 )
parte fracţionară ce poate fi vidă (ex: 123. )
un exponent (e sau E) care poate fi şi vid (ex: 454e-2 )
!Atenţie: Nu pot lipsi toate în acelaşi timp. Trebuie să existe ori partea
întreagă, ori cea fracţionar.
3. CONSTANTE CARACTER
O constantă caracter reprezintă un caracter şi are ca valoare codul
ASCII al caracterului respectiv. Ţinând cont de clasificarea setului de
caractere studiată, vom avea următoarele tipuri de constante caracter:
constante caracter grafice: de forma ' caracter ' ex: 'a', 'V' etc.
spaţiu: '__'
constante caracter negrafice : de forma ' caracter negrafic '
4
' \n '- newline
' \t ' - TAB orizontal
' \v '- TAB vertical
' \b '- backspace
' \f ' - salt de pagină
' \r ' - deplasarea cursorului în prima coloană
' \' ' - apostrof
' \\ ' - pentru backshlash
' \0 ' - pentru caracterul NUL
5
Variabila este un ansamblu de patru elemente :
♦ numele variabilei - format din unul sau mai multe caractere (litere şi
cifre, dar primul caracter este literă). Ex.: a, b, x, min, max, x1, b19, MAX
♦ tipul variabilei
indică mulţimea de valori posibile :
a) întreg – int (C++)
Tip(C++) Valori (C++) Reprezentare (C++)
(Numărul de octeţi
alocat în memorie)
int [-32768, 32767] 2 octeti
unsigned int [0, 65535] 2octeti
long int [-2147483648, 2147483647] 4 octeti
unsigned long int [0, 4294967295] 4 octeti
b) real – float(C++)
Tip(C++) Valori (C++) Reprezentare(C++)
float [3.4*10-38, 3.4*10+38]U[-3.4*10+38, 4 octeti
-3.4*10 ]-38
Expresii: o expresie este alcatuita din unul sau mai multi operanzi
legati intre ei prin operatori. Operanzii pot fi constante sau variabile.
Exemplu:
4.5+2*a
unde 4.5, 2, a sunt operanzi iar + si * sunt operatori
6
Noţiunea de tip de dată
TIPURI DE DATE
Def: Prin dată se înţelege orice entitate asupra căreia
calculatorul poate opera.
Ex: int x; /*x - este o dată asupra căreia se operează*/
7
Operatori
Spre deosebire de alte limbaje ale căror operatori sunt în principal cuvinte
cheie, operatorii în C++ sunt în mare parte diferite semne care nu fac parte
din alfabet, dar sunt disponibile pentru toate tastaturile.
Clasificare:
Operatorul de atribuire
Operatori aritmetici
Operatori relationali
Operatori logici
Operatorul de concatenare a sirurilor de caractere
Operatorul de atribuire (=)
Atribuie o valoare pentru o anumita variabilă.
variabil ˘a = expresie;
Operatori aritmetici (+, -, *, /,%)
Cele cinci operaţii aritmetice sprijinite de limbajul C++ sunt:
adunare
+
- scădere
* înmulţire
div(catul
/
impartirii)
mod(restul
%
impartirii)
Operatori relationali (==,! =,>, <,> =, <=)
Pentru a face o comparaţie între două expresii putem folosi operatorii
relationali. +:
Egal cu
==
!= Nu este egal cu
> Mai mare decât
< Mai puţin de
>= Mai mare sau egal cu
Mai puţin de sau egală
<=
cu
8
Operatori logici (!, & &, | |)
OPERATORUL & &
si A F
A A F
F F F
OPERATORUL | |
sau A F
A A A
F A F
OPERATORUL !
! A F
F A
Stream-uri de intrare:
istrem-uri sursa: tastatura
ifstream-uri sursa: fişier oarecare
Stream-uri de ieşire:
ostrem-uri dest: monitorul
ofstream-uri dest: fişier oarecare
Fişierul <iostream.h> conţine definiţia următoarelor obiecte:
cin - face parte din clasa istream ce defineşte un stream de intrare
9
cout - face parte din clasa ostream ce defineşte un stream de ieşire
Pentru citire se va folosi operatorul ">>" şi pentru scriere se va folosi op. "<<".
În cazul scrierii construcţia endl face posibilă trecerea la o linie nouă.
EXEMPLU:
#include <iostream>
int main ()
{ int i;
cout << "Introduceti un numar intreg: ";
cin >> nr;
cout << "Numarul care l-ati introdus este " << nr;
cout << " si dublul numarului este " << nr*2 << ".\n";
return 0;
}
//declararea headerelor
#include <iostream.h>
//programul principal
int main()
return 1;}
Comentarii
10
Comentariile sunt explicatii facute de programator despre program; sunt
ignorate de compilator. C++, susţine două moduri de a introduce comentarii:
// comentariu linie
/* comentariu bloc */
Structuri De Control
S1
11
S2
S3
….
Sn
Structura alternativa
In pseudocod : Dacă expresie
atunci
instrucţiune_1
altfel
instrucţiune_2
Efect :
Se evaluează expresia.
Dacă valoarea expresiei este adevărat, atunci se execută
instrucţiunea_1.
Dacă valoarea expresiei este fals, se execută
instrucţiunea_2.
12
Efect:
Pas 1 : se evaluează expresia ;
Pas 2 : dacă valoarea expresiei este fals, se iese din instrucţiunea Cât-timp;
dacă valoarea expresiei este adevărat, se execută instrucţiunea, apoi
se revine la Pas 1.
Instrucţiunea repetitivă
condiţională posterior
Execută
Instrucţiune
Cât-timp expresie;
Efect:
Pas 1 : se execută instrucţiune;
Pas 2 : se evaluează expresie ;
Pas 3 : dacă valoarea expresiei este fals se iese din instrucţiunea repetitivă;
dacă valoarea expresiei este adevărat, se revine la Pas 1;
Instrucţiunea repetitivă cu un
număr cunoscut de paşi
Pentru contor=expresie_1, expresie_2 execută
Instrucţiune
Efect :
Pas 1 : se evaluează expresia;
Pas 2 : se atribuie variabilei contor valoarea expresiei expresie_1;
Pas 3 : se evaluează expresie_2;
Pas 4 : dacă valoarea variabilei contor este mai mare decât valoarea expresiei
expresie_2, atunci se iese din instrucţiunea repetitivă. Dacă valoarea
variabilei contor este mai mică sau egală cu valoarea expresie expresie_2,
atunci se execută instrucţiune şi apoi se incrementează (se măreşte cu 1)
valoarea variabilei contor, după care revine la Pas 3.
13
PROBLEME
PROBLEMA 1:
IDEE ALGORITM:
1.Declaram variabilele;
2.Se citeste valoarea a;
3.Se initializeaza produsul cu 1;
4.Citim pe rand numere,fiecare numar va fi imulţit cu produsul
anterior .Se executa pana la intalnirea unei valori a.
5.Afisam produsul.
#include<iostream.h>
#include<conio.h>
int a, nr_citit, produs_numere;
void main(void)
{
clrscr();
cout<<"intruduceti a = : "; cin>>a;
produs_numere=1;
do {
cout<<"intruduceti numarul : "; cin>>nr_citit;
produs_numere*=nr_citit;
} while (nr_citit!=a);
cout<<"Produsul numerelor introduse este: "<<produs_numere;
14
PROBLEMA 2:
#include<fstream.h>
ifstream fin("nr.txt");
ofstream fout("nr.out");
int poz,neg,x,n;
int main()
{ fin>>n;
for(int i=1;i<=n;i++)
{fin>>x;
if(x>=0)
poz++;
else
neg++;
}
fout<<"Numere negative sunt "<<neg<<" ";
fout<<"Numere positive sunt "<<poz<<" ";
fin.close();
fout.close();
return 0;
}
PROBLEMA 3.
15
ENUNŢ: Se citeşte un vector cu n componente numere intregi. Să se
calculeze media aritmetică a componentelor vectorului.
#include<iostream.h>
int n,v[100],i;
float sum;
int main()
{ cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<=n;i++)
sum=sum+v[i];
cout<<"Media aritmetica a numerelo este "<<sum/n;
return 0;
}
16