Documente Academic
Documente Profesional
Documente Cultură
CURS 1
Program
• Structura:
– date de intrare
– instrucțiuni (operații cu datele de intrare)
– date de ieşire (rezultate)
• Etapele realizării:
– editarea codului sursă
• rezultat: un text scris conform regulilor sintacticii limbajului
– compilarea
• rezultat: codul obiect
– editarea de legături
• rezultat: programul executabil
2
Stadiile rulării unui program
3
Compilator & Linker
• Compilator
– program care transformă codul sursă scris într‐un
limbaj de programare într‐un program exprimat în
limbaj binar (cod maşină) executabil
• Editor de legături
– program care preia unul sau mai multe module
obiect generate de compilator şi le combină într‐
un singur program executabil
4
Dezvoltarea unui program
Scriere cod în limbaj C++
Compilare
Editare de legături
NU
Succes?
DA
Rulare şi testare
DA NU
Erori? TERMINAT
5
Visual Studio 2005
IDE : integrated development environment
6
Visual Studio 2005
7
Crearea unei aplicații
8
Crearea unei aplicații
9
Crearea unei aplicații
10
Crearea unei aplicații
11
Program simpu în C++
ADĂUGAŢI
12
Program rulat
13
Directive de preprocesor
• O instrucțiune de forma:
#include <filename>
• Este adresată compilatorului de C++, pentru a încarca declarații şi definiții
din bibliotecile C++
• Exemplu: #include <iostream>
– încarcă suportul necesar operațiilor de input/output cu obiectele cin şi cout.
– Faptul că nu apare “.h” după iostream înseamnă că fişierul este precompilat.
14
Spațiul de nume
• Orice cuvânt cheie din program (nume de funcție, variabilă, operator...) are o
definiție, adică un set de operații pe care procesorul trebuie să le execute atunci
când întâlneşte respectivul cuvânt în program.
• Un set coerent de definiții ale cuvintelor cheie (nume), sunt grupate într‐o
structură numită spațiu de nume.
• Biblioteca standard C++ este împachetată în spațiul de nume std.
15
Spațiul de nume
std :: cout
iar instrucțiunea completă ar trebui să arate astfel:
• Specificarea completă a unui nume de funcție sau variabilă are forma:
• Tipuri de variabile: int, double, char
• În C++, este obligatorie declararea unei variabile înainte de utilizare
int x;
double y = 10.5, y = 7.0;
char caracter = 'a';
• expresie = un ansamblu de nume (variabile, funcții, …) şi operatori
• Instrucțiune = o expresie terminată cu caracterul “ ; ”
17
Introducerea datelor de la tastatură
// Program pentru conversia temperaturii: grade Celsius → grade Fahrenheit
#include “stdafx.h”
#include <iostream>
using namespace std;
int main() {
double ctemp;
cout << “Temperatura în grade Fahrenheit este: " << (ctemp * 1.8) + 32 << endl;
return 0;
}
18
Structuri decizionale ‐ if
if (condiţie) if (condiţie)
instrucţiune; instrucţiunea 1;
else
if (condiţie) { instrucţiunea 2;
instrucţiunea 1;
instrucţiunea 2;
…
}
19
Structuri decizionale ‐ if
// Compararea a doi intregi
#include "stdafx.h"
#include <iostream>
using namespace std;
int main() {
if(a < b)
cout << "a = "<< a << " < " << "b = " << b << endl;
else if (a > b)
cout << "a = "<< a << " > " << "b = " << b << endl;
else
cout << "a = "<< a << " = " << "b = " << b << endl;
return 0;
}
20
Structuri repetitive ‐ while
while (condiţie)
instrucţiune;// cand conditie = TRUE
while (condiţie){
instrucţiunea1;
instrucţiunea2;
…
}
Exemplu:
// Printarea unui sir de intregi
21
Operatori relaționali
ATENŢIE !
// instructiune de atribuire
a = b; (atribuie lui a valoarea b)
// testarea egalitatii
a == b; (este a egal cu b ?)
22
Tipul de date bool
• Tipul de date bool memorează două valori
– TRUE (1 sau orice valoare pozitivă)
– FALSE (0)
• Operatori pentru date bool
23
Exemplu
24
Operatori de incrementare/decrementare
OPERATOR ACȚIUNE
25
Citirea datelor de la tastatură
• cin
int n;
cout << “Introduceti numarul n = ”;
cin >> n;
• cin.getline(dest, size)
char moneda[4];
cout << “Moneda de intrare: ”;
cin.geltine(moneda, 4);
26
Bibioteca <math.h>
// Programul testeaza daca un numar introdus de la tastatura este prim
#include “stdafx.h”
#include <iostream>
#include <math.h>
int main() {
int n; // numarul testat
int i; // contor
bool is_prime; // flag boolean
is_prime = true;
27
Bibioteca <math.h>
Operator de tip
Converteşte întegul n la double
i = 2;
while (i <= sqrt(static_cast<double>(n))) {// Cat timp i <= sqrt(n)
return 0;
}
28
Structuri repetitive ‐ for
for (initializare; conditie; increment)
instructiune;
Exemplu: i este variabila contor
29
Buclă for cu variabilă de ciclu
Contorul i este declarat în interiorul buclei for.
Este vizibil numai din interiorul buclei.
int i=7;
int u = i + 3;
30
Buclă for infinită
int i=1;
for( ; ; )
cout << i << " ";
Dacă se omit condiția sau incrementarea contorului, se obține o buclă infinită.
31