Escolar Documentos
Profissional Documentos
Cultura Documentos
Laboratrio de Programao
Orientada a Objetos para
Engenharia Eltrica
0x000080
0x000084
Dados
0x000088
...
0x000200
Instrues 0x000204 E/S
...
PCS / EP / USP 2017 PCS 3111 Aula 2
Memria 5
Arquitetura de von Neumann
Exemplo: antes da execuo
0x000000
... CPU
0x000080
0x000084 5 i
Dados
0x000088 17 k
...
0x000200 i=i+k
Instrues 0x000204 E/S
...
Memria
0x000080
0x000084 22 i
Dados
0x000088 17 k
...
0x000200 i=i+k
Instrues 0x000204 E/S
...
Memria
Operador &
Obtm o endereo de uma varivel
6 int i = 100; 12 int *p1; EX01 Sada
7 double j = 5.5; 13 double *p2;
8 14 0x6afef4
9 cout << &i << endl; 15 p1 = &i; 0x6afee8
10 cout << &j << endl; 16 p2 = &j; 0x6afef4
17 0x6afee8
p1 aponta para i 18 cout << p1 << endl;
19 cout << p2 << endl;
NULL
Representa que o ponteiro aponta para nenhum valor
10 int *p2; // endereo indefinido EX03
11 p2 = NULL; // nenhum valor
12
13 if (p2 == NULL) { possvel testar
14 cout << "Null" << endl;
15 }
Janelas de depurao
(a mais importante a watches,
que mostra os valores
das variveis)
Conveno: CamelCase
Variveis e funes
Primeira palavra com letra minscula e as demais com s a
1 letra em maiscula
Exemplo: i, peso, maiorNumero e pedidosAtrasados
Nomes de arquivos
Cada palavra com a 1 letra maiscula e as demais
minsculas
Exemplo: HelloWorld.cpp, Exemplo1.cpp, ListaLigada.cpp
if (x > 5) {
// ...
}
PCS / EP / USP 2017 PCS 3111 Aula 2 39
Blocos
O contedo de um bloco deve ficar tabulado
(um tab, normalmente)
Deve ser possvel diferenciar o que est dentro ou
fora do bloco!
Exemplo
for (int i = 0; i < 5; i++) {
if (entrada[i] > 5) {
cout << entrada[i] << endl;
}
}
if (entrada[i] > 5) {
cout << entrada[i] << endl;
}}
PCS / EP / USP 2017 PCS 3111 Aula 2 40
Recomendaes
if, else e else if devem ficar alinhados
if (x == 0) {
//...
} else if (x > 0) {
//...
} else {
//...
}