Documente Academic
Documente Profesional
Documente Cultură
ȘI LIMBAJE DE PROGRAMARE
CURS 4
1
PROGRAMAREA CALCULATOARELOR
ȘI LIMBAJE DE PROGRAMARE
Operatorul de scriere a datelor este <<. El inserează date în streamul de ieşire. De exemplu,
secvenţa de instrucţiuni
int i = 123;
cout << “i = ” << i;
afişază pe ecran
i = 123
Operatorul << inserează în stream valoarea expresiei din dreapta sa. De exemplu, expresia
<< “i= “
inserează în stream şirul de caractere i= , expresia
<< i
inserează în stream valoarea variabilei i, 123, etc.
Pentru a afişa valori pe mai multe linii, trebuie ca după fiecare linie să scriem caracterul ‘\n’,
care este predefinit ca endl. De exemplu, fie instrucţiunile
int j = -7;
double x = 1 + sin(0.2);
Pentru a afişa valorile variabilelor j si x pe două linii, vom scrie
cout << “j = “ << j << endl << “x = “ << x << endl;
sau
cout << “j = “ << j << ‘\n’ << “x = “ << x << ‘\n’;
sau
cout << “j =” << j << “\n” << “x = “ << x << “\n”;
sau, echivalent, cu doua instrucţiuni cout
cout << “j =” << j << endl;
cout << “x = “ << x << endl;
Operatorul << poate scrie orice tip predefinit de date: int, float, şiruri de caractere, etc.
Operatorul de citire dintr-un stream este >>. El extrage date din streamul de intrare şi le atribuie
unor variabile. Operatorul >> este urmat de numele variabilei ce va memora valoarea citită. De
exemplu, secvenţa de instrucţiuni
int a;
cin >> a;
va citi o valoare introdusă de la tastatură şi o va atribui variabilei a (expresia >>a citeşte o
valoare de la tastatură şi o atribuie variabilei a). O instrucţiune cin poate citi oricâte date din
stream. Fie instrucţiunea
int a, b ;
Instrucţiunea
cin >> a >> b;
citeşte două valori de la tastatură şi le atribuie variabilelor a şi b. Ea poate fi scrisă ca
cin >> a;
cin >> b;
Valorile introduse de la tastatură sunt analizate şi atribuite variabilelor de către instrucţiunea
cin. Pentru fiecare variabilă se procedează astfel :
• se citesc şi se ignoră toate caracterele spaţiu, ‘\t’ sau ‘\n’ (acesta din urmă este generat
la apăsarea tastei Return),
• se citesc următoarele caractere corespunzând tipului variabilei sau până la întâlnirea
unui caracter spaţiu, ‘\t’ sau ‘\n’ şi valoarea citită se atribuie variabilei.
2
PROGRAMAREA CALCULATOARELOR
ȘI LIMBAJE DE PROGRAMARE
Fie de iniţializat prin citire o variabilă x tip caracter la valoarea ‘A’. Variabila este definită cu
instrucţiunea
char x;
Instrucţiunea de citire este
cin >> x;
Putem introduce caracterul A astfel:
sau
Citirea caracterului se face după regula de mai sus : se citesc şi se ignoră toate caracterele spaţiu,
‘\t’ sau ‘\n’ şi se citeşte un caracter care este atribuit variabilei x.
Valorile introduse de la tastatură sunt analizate şi atribuite variabilelor de către
instrucţiunea cin doar după introducerea unui caracter ‘\n’.
Reamintim că biblioteca de prototipuri pentru streamurile cin, cout, etc are numele iostream.
Pentru a modifica formatul de scriere sau citire a datelor putem utiliza manipulatori definiţi în
biblioteca <iomanip>. Pentru scrierea sau citirea unui număr întreg în în diferite baze, se
utilizează în instrucţiunile cout sau cin manipulatorii:
• hex pentru baza 16,
• dec pentru baza 10,
• oct pentru baza 8.
Aceşti manipulatori rămân la valoarea prescrisă până sunt modificaţi. La începerea
execuţiei unui program baza 10 este implicită.
Fie următorul exemplu
int a ;
cin >> hex >> a ;
cout << a << endl;
Presupunem introdus de la tastatură şirul de caractere de mai jos
Valoarea atribuită prin citire variabilei a este 27. De ce ? Pentru a afişa valoarea variabilei a în
baza 16 trebuie să scriem
3
PROGRAMAREA CALCULATOARELOR
ȘI LIMBAJE DE PROGRAMARE
cout << k; 20
cout << hex << k; 14
cout << showbase << hex << k; 0x14
cout << oct << k; 24
cout << showbase << oct << k; 024
4
PROGRAMAREA CALCULATOARELOR
ȘI LIMBAJE DE PROGRAMARE
5
PROGRAMAREA CALCULATOARELOR
ȘI LIMBAJE DE PROGRAMARE
Semnificaţia acestui prototip este următoarea. Funcţia main are ca rezultat o valoare întreagă şi
nu are parametri. Corpul funcţiei este o instrucţiune compusă, adică o secvenţă de instrucţiuni
scrise între acolade, { şi }. Corpul funcţiei conţine şi o instrucţiune return ce termină execuţia
funcţiei şi transmite în programul apelant valoarea calculată de funcţie.
Programul poate conţine comentarii. Comentariile plasate între delimitatorii /* şi */ se pot
întinde pe mai multe linii. Comentariile ce încep cu caracterele // se întind pe o singură linie.
Putem scrie acum primul program care citeşte o valoare întreagă de la tastatură şi afişează
pătratul ei. Reamintim că orice instrucţiune în limbajele C şi C++ este terminată cu
caracterul ;.
// program care citeste o valoare intreaga si calculeaza patratul ei
# include <iostream>
using namespace std;
int main()
{
int i, j;
/* se citeste o valoare intreaga */
cout << “introduceti o valoare intreaga” << endl;
cin >> i;
cout << “valoarea introdusa este “ << i << endl;
/* se calculeaza patratul valorii citite */
j = i * i;
/* se afisaza valoarea calculata */
cout << “patratul valorii este “ << j << endl;
return 0;
}