Documente Academic
Documente Profesional
Documente Cultură
Facultatea de Inginerie
Departamentul de Automatic, Energie i Mediu
Programarea
calculatoarelor
Lect.dr. Adrian Runceanu
copyright@www.adrian.runceanu.ro
Curs 5
Instruciunile limbajului C++
23.03.2014
Programarea calculatoarelor
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
copyright@www.adrian.runceanu.ro
Instruciunea compus:
{.... }
Programarea calculatoarelor
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
copyright@www.adrian.runceanu.ro
expresie;
a) instruciunea de atribuire
b) instruciunea de apel de funcie
c) instruciunea de incrementare / decrementare
23.03.2014
Programarea calculatoarelor
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
10
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
11
copyright@www.adrian.runceanu.ro
23.03.2014
variabila ++;
++ variabila;
variabila --;
-- variabila;
Programarea calculatoarelor
12
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
13
copyright@www.adrian.runceanu.ro
5.4. Instruciunea if
Instruciunea if
(instruciune de decizie sau condiional)
if (expresie) instructiune;
Are dou forme:
if (expresie)
instructiune1;
else
instructiune2;
23.03.2014
Programarea calculatoarelor
14
copyright@www.adrian.runceanu.ro
5.4. Instruciunea if
Instruciunea if
Observaie:
n limbajul C++, spre deosebire de limbajul
PASCAL, nu exist cuvntul cheie THEN.
23.03.2014
Programarea calculatoarelor
15
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
16
p( p a)( p b)( p c)
Programarea calculatoarelor
17
real a, b, c, p, S
citete a, b, c
p <- a + b + c
scrie Perimetrul triunghiului este , p
p <- p / 2
S p (p a) (p b) (p c)
23.03.2014
Programarea calculatoarelor
18
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
19
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
20
x 2,
daca x 0
Pas 1:
Date de intrare: x numr real
Date de iesire: f numr real, reprezentnd valoarea
funciei date.
23.03.2014
Programarea calculatoarelor
21
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
22
Pas 3:
Scrierea
algoritmului n
pseudocod:
23.03.2014
real x, f
citete x
dac x <= -7 atunci
f <- -6 * x + 20
altfel
dac x > -7 i x <= 0 atunci
f <- x + 30
altfel
f <- sqrt(x) + 2
sfrit dac
sfarit dac
scrie f
stop
Programarea calculatoarelor
23
copyright@www.adrian.runceanu.ro
23.03.2014
#include<iostream.h>
#include<math.h>
int main(void)
{
float x, f;
cin>>x;
if( x <= -7 ) f = -6 * x + 20;
else
if( x > -7 && x <= 0 )
f = x + 30;
else
f = sqrt(x) + 2;
cout<<"f = "<<f;
}
Programarea calculatoarelor
24
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
25
Programarea calculatoarelor
26
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
27
23.03.2014
ntreg a, b, c, aux
citete a, b, c
dac a > b atunci
aux <- a
a <- b
b <- aux
sfrit dac
dac b > c atunci
aux <- b
b <- c
c <- aux
sfrit dac
dac a > b atunci
aux <- a
a <- b
b <- aux
sfrit dac
scrie a, b, c
stop
Programarea calculatoarelor
28
copyright@www.adrian.runceanu.ro
Pas 4: Implementarea
algoritmului n
limbajul de
programare C++:
23.03.2014
#include<iostream.h>
int main(void)
{
int a, b, c, aux;
cin>>a; cin>>b; cin>>c;
if( a > b ) {
aux=a;
a=b;
b=aux;
}
if( b > c ){
aux=b;
b=c;
c=aux;
}
if( a > b ){
aux=a;
a=b;
b=aux;
}
cout<<a<<" "<<b<<" "<<c;
}
Programarea calculatoarelor
29
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
30
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
31
copyright@www.adrian.runceanu.ro
while (expresie)
instructiune;
Programarea calculatoarelor
32
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
33
copyright@www.adrian.runceanu.ro
23.03.2014
#include<iostream.h>
int main(void)
{
int i, n, s=0;
cout<<"Dati numarul n = ";
cin>>n;
i = 1;
while( i <= n )
{
s = s + i;
i++;
}
cout<<"Suma primelor
"<<n<<" numere intregi este
"<<s<<endl;
Programarea calculatoarelor
34
}
copyright@www.adrian.runceanu.ro
23.03.2014
Programarea calculatoarelor
35
copyright@www.adrian.runceanu.ro
23.03.2014
#include<iostream.h>
int main(void)
{
int i=1, n, s=0;
cout<<"Dati numarul n = ";
cin>>n;
while(i<=n) s+=i++;
cout<<"Suma primelor
"<<n<<" numere intregi este
"<<s<<endl;
}
Programarea calculatoarelor
36
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
37
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
38
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
39
Pas 3:
Scrierea
algoritmului n
pseudocod:
23.03.2014
natural n, i
citete n
i <- 1
ct timp i <= n execut
dac n % i = 0 atunci
scrie i
sfrit dac
i <- i + 1
sfrit ct timp
stop
Programarea calculatoarelor
40
copyright@www.adrian.runceanu.ro
41
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
42
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
43
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
44
Pas 3:
Scrierea
algoritmului n
pseudocod:
23.03.2014
natural n, i
logic p
citete n
p <- adevrat
i <- 2
ct timp i <= n-1 execut
dac n % i = 0 atunci
p <- fals
sfrit dac
i <- i + 1
sfrit ct timp
dac p = adevrat atunci
scrie Numarul este prim
altfel
scrie Numarul NU este prim
sfrit dac
stop
Programarea calculatoarelor
45
copyright@www.adrian.runceanu.ro
Pas 4:
Implementarea
algoritmului n
limbajul de
programare C++:
23.03.2014
#include<iostream.h>
int main(void)
{
int n, i, p;
cin>>n;
p = 1;
i = 2;
while( i <= n-1 )
{
if( n % i == 0 ) p = 0;
i = i + 1;
}
if( p == 1 ) cout<<"Numarul este PRIM";
else cout<<"Numarul NU este PRIM";
} Programarea calculatoarelor
46
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
47
copyright@www.adrian.runceanu.ro
Date de intrare: 8
Date de ieire: 21 (1,1,2,3,5,8,13,21)
23.03.2014
Programarea calculatoarelor
48
copyright@www.adrian.runceanu.ro
Exemplu:
Date de intrare: 12 32 38
Date de ieire: 2
23.03.2014
Programarea calculatoarelor
49
copyright@www.adrian.runceanu.ro
23.03.2014
Date de intrare: 10
Date de ieire: 1 3 7 9
Programarea calculatoarelor
50
copyright@www.adrian.runceanu.ro
Programarea calculatoarelor
51
copyright@www.adrian.runceanu.ro
23.03.2014
Programarea calculatoarelor
52
copyright@www.adrian.runceanu.ro
ntrebri?
23.03.2014
Programarea calculatoarelor
53