Академический Документы
Профессиональный Документы
Культура Документы
2011.1
Programao de Computadores
2011.1
1 / 55
A Linguagem C++
Programao de Computadores
2011.1
2 / 55
Tipo: bool
Literais: true , false
Operaes:
not negao
&&
e lgico
||
ou lgico
Converses:
true
false
0
qualquer valor 6= 0
1
0
false
true
Programao de Computadores
2011.1
3 / 55
Tipo: char
Modificadores: signed , unsigned
Literais:
Letras: a, b, . . . , Z
Algarismos: 0, 1, . . . , 9
Especiais: \n, \t, \0
Nmeros: 97 (o a na tabela ASCII)
Programao de Computadores
2011.1
4 / 55
Tipo: int
Modificadores:
signed , unsigned
short, long, long long
Literais:
Decimal: 20
Octal: 020
Hexadecimal: 0x20
Operaes:
aritmticas: + - * / %
relacionais: == != < <= > >=
Programao de Computadores
2011.1
5 / 55
Operaes:
aritmticas: + - * /
relacionais: == != < <= > >=
Programao de Computadores
2011.1
6 / 55
Tipo: void
Uso:
Como tipo de retorno de uma funo no retorna um valor como resultado
Como tipo de ponteiro para um tipo indefinido (ponteiro genrico)
Programao de Computadores
2011.1
7 / 55
Variveis
Programao de Computadores
2011.1
8 / 55
Programao de Computadores
2011.1
9 / 55
if (condio)
comando1 ;
else
comando2 ;
comando1
Programao de Computadores
condic
ao
comando2
2011.1
10 / 55
Programao de Computadores
2011.1
11 / 55
Programao de Computadores
2011.1
11 / 55
Programao de Computadores
2011.1
11 / 55
Programao de Computadores
2011.1
11 / 55
Programao de Computadores
2011.1
11 / 55
condic
ao
if (condio)
comando;
F
comando
Programao de Computadores
2011.1
12 / 55
Programao de Computadores
2011.1
13 / 55
Programao de Computadores
2011.1
13 / 55
Programao de Computadores
2011.1
13 / 55
Programao de Computadores
2011.1
13 / 55
Execuo do switch
1
Programao de Computadores
2011.1
14 / 55
switch (expresso)
{
case constante1 :
comandos1 ;
break;
case constante2 :
comandos2 ;
break;
...
case constanten :
comandosn ;
break;
default :
comando0 ;
}
temp express
ao
temp = constante1
comandos1
comandos2
comandosn
temp = constante2
F
temp = constanten
F
comandos0
Programao de Computadores
2011.1
15 / 55
Programao de Computadores
2011.1
16 / 55
}
Jos Romildo Malaquias (DECOM UFOP)
Programao de Computadores
2011.1
17 / 55
}
Jos Romildo Malaquias (DECOM UFOP)
Programao de Computadores
2011.1
17 / 55
}
}
Jos Romildo Malaquias (DECOM UFOP)
Programao de Computadores
2011.1
17 / 55
}
}
Jos Romildo Malaquias (DECOM UFOP)
Programao de Computadores
2011.1
17 / 55
}
}
Jos Romildo Malaquias (DECOM UFOP)
Programao de Computadores
2011.1
17 / 55
}
}
Jos Romildo Malaquias (DECOM UFOP)
Programao de Computadores
2011.1
17 / 55
}
}
Jos Romildo Malaquias (DECOM UFOP)
Programao de Computadores
2011.1
17 / 55
}
}
Jos Romildo Malaquias (DECOM UFOP)
Programao de Computadores
2011.1
17 / 55
Programao de Computadores
2011.1
17 / 55
Programao de Computadores
2011.1
17 / 55
Programao de Computadores
2011.1
17 / 55
Programao de Computadores
2011.1
18 / 55
while (condio)
comando;
condi
c
ao
comando
Programao de Computadores
2011.1
19 / 55
Programao de Computadores
2011.1
20 / 55
Programao de Computadores
2011.1
20 / 55
}
}
Programao de Computadores
2011.1
20 / 55
Programao de Computadores
2011.1
20 / 55
Programao de Computadores
2011.1
20 / 55
if (condio)
{
comando;
while (condio)
comando;
}
Programao de Computadores
2011.1
21 / 55
Problemas I
1
1
n (n 1)!
, se n = 0
, se n > 0
Programao de Computadores
2011.1
22 / 55
Problemas II
1
1
1
1
1
+
+
+
+ +
1! 1! 2! 3!
n!
Programao de Computadores
2011.1
23 / 55
Problemas III
Faa um programa que leia as notas de seis alunos, calcule e mostre a mdia
aritmtica das notas.
Programao de Computadores
2011.1
24 / 55
Problemas IV
Faa um programa que leia as trs notas de todos os alunos de uma turma,
calcule e mostre:
a) a mdia aritmtica das trs notas de cada aluno;
b) a situao do aluno, dada pela tabela
mdia aritmtica
inferior a 3
entre 3 (inclusive) e 7
igual ou superior a 7
c)
d)
e)
f)
o
o
o
a
situao
reprovado
exame especial
aprovado
Programao de Computadores
2011.1
25 / 55
comando
do
comando;
while (condio);
condi
c
ao
Programao de Computadores
2011.1
26 / 55
}
Jos Romildo Malaquias (DECOM UFOP)
Programao de Computadores
2011.1
27 / 55
Programao de Computadores
2011.1
27 / 55
}
while (
);
Programao de Computadores
2011.1
27 / 55
}
while (numero != 0);
cout << "Obrigado" << endl;
}
Jos Romildo Malaquias (DECOM UFOP)
Programao de Computadores
2011.1
27 / 55
Programao de Computadores
2011.1
27 / 55
comando;
if (condio)
do
comando;
while (condio);
Programao de Computadores
2011.1
28 / 55
inicializac
ao
condic
ao
Programao de Computadores
comando
incremento
2011.1
29 / 55
Programao de Computadores
2011.1
30 / 55
Programao de Computadores
2011.1
30 / 55
Programao de Computadores
2011.1
30 / 55
Programao de Computadores
2011.1
30 / 55
Programao de Computadores
2011.1
30 / 55
Programao de Computadores
2011.1
30 / 55
Estruturas de Dados
Valores simples: indivisveis
nmeros inteiros: 12, 324, -1324
nmeros fracionrios: 0.212, -132.412, 78.13e-17
caracteres: B, @, n
booleanos: true , false
Valores compostos: formados por partes:
registro de um livro na biblioteca:
ttulo
autor
editora
ano publicao
Programao de Computadores
2011.1
31 / 55
Estruturas de Dados
Programao de Computadores
2011.1
32 / 55
Vetores
Vetor
Estrutura formada por uma sequncia de variveis do mesmo tipo.
Identificadas por um nico nome.
Cada componente identificado por um ndice, um nmero inteiro que
referencia sua localizao dentro da estrutura.
Em C++ os ndices utilizados para identificar as posies em um vetor
comeam sempre em 0 (zero) e vo at o tamanho do vetor menos uma
unidade.
Programao de Computadores
2011.1
33 / 55
Vetores
Declarao
Na declarao de uma varivel vetor especificamos:
o tipo dos componentes do vetor
o nome da varivel
o nmero de componentes que formam o vetor
os elementos do vetor (opcional)
tipo nome[tamanho];
tipo nome[n] = { e0 , e1 , . . ., en1 };
tipo nome[] = { e0 , e1 , . . ., en1 };
Exemplos:
int notas[10];
bool resultados[2*n+3];
double alfa[3] = { 1.2, -0.45, 5.5 };
string mensagens[] = { "comeco", "meio", "fim", "end" };
Jos Romildo Malaquias (DECOM UFOP)
Programao de Computadores
2011.1
34 / 55
Vetores
Indexao
Operao bsica com vetor: indexao
Permite selecionar um componente especfico da estrutura pela sua posio
(ndice)
O ndice do primeiro elemento 0 (zero)
O ndice do ltimo elemento o tamanho do vetor menos um
vetor[ndice]
Programao de Computadores
2011.1
35 / 55
Vetores
Programao de Computadores
2011.1
36 / 55
Vetores
Programao de Computadores
2011.1
37 / 55
Vetores
Programao de Computadores
2011.1
38 / 55
Vetores
Programao de Computadores
2011.1
39 / 55
Vetores
Programao de Computadores
2011.1
40 / 55
Vetores: Problemas I
Problema
Faa um programa que leia as notas dos alunos de uma turma, determine e mostre
a mdia das notas, e o nmero de alunos com notas superiores ou iguais mdia.
Programao de Computadores
2011.1
41 / 55
Vetores: Problemas II
Problema
Faa um programa que simule o lanamento de um dado com vinte jogadas.
Mostrar os nmeros sorteados e a frequncia com que apareceram.
Para gerar nmeros aleatrios em C++, temos duas funes que trabalham de
forma semelhante:
rand
random
ou
numero =random() % valor_maximo;
Programao de Computadores
2011.1
42 / 55
Programao de Computadores
2011.1
43 / 55
Vetores: Problemas IV
Problema
Faa um programa que preencha um vetor com os modelos de cinco carros
(exemplos de modelos: fusca, gol, vectra, etc.), carregue outro vetor com o
consumo desses carros, isto , quantos quilmetros cada um deles faz com um
litro de combustvel, calcule e mostre:
o modelo de carro mais econmico,
quantos litros de combustvel cada um dos carros cadastrados consome para
percorrer uma distncia de de mil quilmetros.
Programao de Computadores
2011.1
44 / 55
Matrizes
Programao de Computadores
2011.1
45 / 55
Matrizes
Declarao
Na declarao de uma varivel matriz especificamos:
o tipo dos componentes da matriz
o nome da varivel
o nmero de componentes que formam cada dimenso da matriz
os elementos do vetor (opcional)
tipo nome[dimenso1 ][dimenso2 ]...[dimensoN ];
Exemplos:
int notas[2][6];
float y[2][4][3];
char mat [4][3] [= {
{
{
{
};
{ A, E, I },
6, 5, 4 },
#, @, = },
m, n, z }
Programao de Computadores
2011.1
46 / 55
Matrizes
Indexao
Permite selecionar um componente especfico da estrutura pela sua posio,
dada por um conjunto de ndices.
Exemplos:
int mat[2][4] = { { 10, 20, 30, 40}, {9, 8, 7, 6} };
// acessar um elemento da matriz
cout << "segunda linha, terceira coluna > " << mat[1][2];
// atribuir um valor a um elemento da matriz
mat[1][2] = 2*mat[0][0] + 1;
cout << "segunda linha, terceira coluna > " << mat[1][2];
Programao de Computadores
2011.1
47 / 55
Matrizes
Problema 1
Obter do usurio uma matriz m3x2 , calcular e mostrar a matriz r3x2 resultante da
multiplicao de todos os elementos de m pelo seu maior elemento.
Problema 2
Faa um programa que preencha uma matriz 10x3 com as notas de dez alunos em
trs provas. O programa dever mostrar um relatrio com o nmero dos alunos
(nmero da linha) e a prova em que cada aluno obteve menor nota. Ao final do
relatrio, dever mostrar quantos alunos tiveram menor nota em cada uma das
provas: na prova 1, na prova 2 e na prova 3.
Programao de Computadores
2011.1
48 / 55
Registros
Programao de Computadores
2011.1
49 / 55
Registros: Uso
Programao de Computadores
2011.1
50 / 55
Programao de Computadores
2011.1
51 / 55
Registros: Problema 1
Problema 1
Faa um programa que realize o cadastro de contas bancrias com as seguintes
informaes: nmero da conta, nome do cliente, e saldo. O banco permitir o
cadastramento de apenas 15 contas e no poder haver mais que uma conta com
o mesmo nmero. Crie o menu de opes a seguir e implemente cada uma das
opes.
Menu
1
2
3
0
Programao de Computadores
2011.1
52 / 55
Registros: Problema 2
Problema 2
Crie um programa para ler o cdigo, o sexo (M masculino; F feminino) e o
nmero de horas/aula ministradas pelos professores de uma escola durante um
ms. Sabe-se que um professor ganha R$40,50 por hora-aula. Aps a leitura, o
programa dever mostrar:
uma listagem contendo o cdigo, o salrio bruto, o desconto calculado de
acordo com a tabela 1, e o salrio lquido de todos os professores;
a mdia aritmtica dos salrios brutos dos professores do sexo masculino;
a mdia aritmtica dos salrios brutos dos professores do sexo feminino.
sexo
masculino
feminino
at 70 horas/aula ao ms
10%
7%
Programao de Computadores
2011.1
53 / 55
Funes: Problemas
Faa um programa com uma funo que receba como parmetro a hora de
incio de a hora de trmino de um jogo, ambas subdivididas em dois valores
distintos: horas e minutos. A funo dever retornar a durao expressa em
minutos, considerando que o tempo mximo de durao de um jogo de 24
horas e que ele pode comear em um dia e terminar no outro.
Programao de Computadores
2011.1
54 / 55
FIM
Programao de Computadores
2011.1
55 / 55