Buscar

Apostila Informatica e Computação I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 62 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 62 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 62 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Disciplina 
Informática e Computação 
CMP – 1060 
 
 
 
 
 
 
 
 
 
Prof. MSc Mário Oliveira Orsi 
03/08/2011 
 
 
 
AULA 01 
Roteiro da 1a aula 
Objetivo: Apresentação da disciplina 
Atividades: 
 Apresentação e Distribuição do Programa. 
 Discussão preliminar dos conteúdos e Plano de Avaliações. 
 Apresentação do conceito de algoritmo 
 
Algoritmo 
 
Algoritmo: é a descrição de um conjunto de comandos que, obedecidos, resultam numa 
sucessão finita de ações. 
 
 
Exemplo: montar um algoritmo para um criança de 5 anos acender um palito de fósforo 
1. Pegue o objeto (caixa de fósforo) 
2. Segure firme o lado preto da cx de fósforo 
3. Empurre para abrir e ver um palito 
4. Pegue um palito 
5. Friquicione a extremidade grossa na parte preta 
 
Verifique que esta faltando um passo na sequencia anterior uma vez que os palitos iriam 
cair: 
 
1. Pegue o objeto (caixa de fósforo) 
2. Segure firme o lado preto da cx de fósforo 
3. Empurre para abrir e ver um palito 
4. Pegue um palito 
5. FECHE A CAIXA 
6. Friquicione a extremidade grossa na parte preta 
 
O detalhamento deve se completo para que as instruções tenham o efeito desejado. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AULA 02 
Roteiro da 2
a
 aula 
Referência ao Programa: Conceitos Básicos 
 Conceitos de Hardware/Software; 
 Estrutura de um computador digital; 
 Representação e armazenamento da informação; 
 Histórico, evolução e perspectivas da computação; 
 Arquitetura de um Sistema de computação : Memória, Unidade Central de Processamento, 
Entrada e Saída, e Periféricos. 
Objetivo: apresentar os conceitos básicos de informática. 
Conceitos Básicos 
Informática - infor + mática. É o tratamento da informação de forma automática 
 
Dado - é tudo aquilo que é fornecido ao computador de forma bruta 
 
Informação - é o resultado obtido do computador após o processamento 
 
Processamento de Dados - é um conjunto de operações que aplicadas a dados nos fornece uma 
informação 
 
Computador - é uma máquina que processa dados de forma automática 
 
HARDWARE - componente, ou conjunto de componentes físicos internos e externos de um 
computador 
ou de seus periféricos. 
 
Hardware - é a parte física do computador 
 Exemplos de Hardware : 
Monitor, Teclado, Mouse, Impressora, Plotters, Caneta Óptica, Modem, Hub, Leitoras Ópticas, 
Scanner CPU etc ..... 
 
BIT - Binary Digit. É a menor unidade de informação em um computador. Pode ser 0 (desligado) 
ou 1 
(ligado) 
 
Byte - conjunto de 8 BITs. É unidade básica de medida da memória em um computador. 
 
 
 
 
 
OPERAÇÕES BÁSICAS DE UM COMPUTADOR 
 
 
 
Exemplo: Folha de Pagamento 
Entrada = nome, salário, horas extras, etc. de cada funcionário 
Processamento = cálculo do salário 
Saída = Contracheques e outros relatórios 
 
Sistema de Computador 
• O computador é um sistema de hardware, uma combinação de componentes inter-relacionados 
que desempenham as funções básicas do sistema: entrada, processamento, saída, 
armazenamento e controle. 
• Memória Principal - é formada por 2 memórias RAM e ROM 
• ROM - memória somente para leitura. É pré-gravada pelo fabricante. Não é 
volátil 
• RAM - memória de acesso aleatório. Armazena as informações em 
processamento enquanto o computador estiver ligado. É volátil. 
• Memória Auxiliar - unidades que armazenam programas e dados para posterior 
utilização. Ex: pen drive 
• Periféricos de Entrada - unidades para entrada de dados no computador. Ex: 
teclado 
• Periféricos de Saída - unidades para saída de dados do computador. Ex: monitor 
de vídeo 
 
 
 
 
 
 
 
ARQUITETURA DE UM COMPUTADOR 
 
 
 
Microprocessador- CPU (unidade central de processamento. É quem lê e executa todas as 
informações dos programas. 
 
 
Chip de Memória: 
 
 
 
 
 
 
 
DISCO RÍGIDO ou HD 
 
 disco rígido interno ao computador 
com grande capacidade de 
armazenamento de dados 
 os tamanhos mais comuns são: 10, 
16, 20 Gigabytes ou mais 
 armazena os programas e arquivos a 
serem utilizados pelo usuário 
 
 
 
VELOCIDADE DE PROCESSAMENTO 
 Clock - velocidade do micro-processador. É medido em MHz (1.000.000 de ciclos por segundo) 
 Evolução do Clock : 
 PC-XT 8 MHz 
 AT-286 25 MHz 
 AT-386 SX 33 MHz 
 AT-386 DX 40 MHz 
 AT-486 SX 33 MHz 
 AT-486 DX 50 MHz 
 AT-486 DX2 66 MHz 
 AT-486 DX4 100 MHz 
 Pentium 100-133-150-166 MHz 
 Pentium MMX 150-166-200-300 MHz 
 Pentium II 300-400-450 MHz 
 Pentium III 1200 MHz ou mais 
 Pentium V 1300 MHz ou mais 
 Intel Corel 2 1,67 GHz 
 Celeron (R) 1,80 GHz 
 
SOFTWARE - é a parte lógica de um sistema de computador, são programas, instruções que a 
máquina (hardware) pode executar. 
Software - são os programas e aplicativos que permitem o funcionamento do computador 
Exemplos de Softwares 
Windows XP, Windows Vista, Word, Excell, PowerPoint, Freelance, Access, Translator, 
Netscape, Wingate, Auto Cad, NT, Unix etc .... 
Sistema Operacional - é responsável pela comunicação homem-computador. Ex: DOS e Windows 
Linguagens de Programação - utilizadas por programadores para desenvolver programas 
aplicativos. Ex: C++, Fox Pro, Delphi, Java, etc 
Programas Utilitários - facilitam a manutenção de discos e arquivos. Ex: Compactador, Backup, 
etc. 
TIPOS DE SOFTWARE 
 Programas Aplicativos - desenvolvidos em certa linguagem de programação para fins 
específicos. Exemplos: 
 Editor de texto, Planilha eletrônica, Controle de estoque. 
 Banco de dados 
 Editoração eletrônica e Programas Gráficos 
 Navegadores (Browsers): mostra as páginas da internet. Ex. Internet Explorer, 
Navigator 
LINGUAGENS DE PROGRAMAÇÃO 
• Linguagem de Máquina ou de Baixo Nível - é a linguagem compreendida internamente pelo 
computador. Suas instruções são escritas em códigos binários 
• Linguagem Montadora - linguagem intermediária entre a linguagem de máquina e a linguagem 
de alto nível. É escrita através de códigos simbólicos utilizando números, letras e símbolos. Ex: 
Assembler 
• Linguagem de Programação ou Alto Nível - é a linguagem utilizada pelo usuário para escrever 
programas de computador. Os programas são escritos utilizando palavras da língua inglesa. Ex: 
Pascal e C 
 
 
 
 
 
Ling.de 
Maquina 
Ling.de 
programação 
Baixo Alto 
Nível 
 
LINGUAGENS DE PROGRAMAÇÃO 
• Antes do computador executar os programas eles devem antes ser traduzidos para a linguagem 
de máquina. Esta tradução é feita através um software denominado compilador. A operação de 
tradução do programa para linguagem de máquina é chamada compilação 
 
 
 
 
 
ITENS FUNDAMENTAIS 
 
• Algorítmo: é a descrição de um conjunto de comandos que, obedecidos, resultam numa 
sucessão finita de ações. 
• Comandos: determina as ações a serem executadas pelo destinatário. 
• Estrutura: determina a ordem e as condições dos comandos que devem ser executados. 
• Estruturas de Controle: 
• Sequencial: os comandos são executados um após o outro, na mesma ordem em que aparecem 
escritos, se não houver indicações ao contrário. 
• Condicional: provoca ou não uma ação dependendo se a condição for falsa ou verdadeira 
• Repetição: repete os comandos e estruturas de comando até que encontra uma condição para 
que interrompa a repetição. 
ALGORITMO:Exemplo: Desenvolva os passos de um programa que converte polegadas para 
centímetros. 
 1 inch  2.54 cm 
Solução: Passos para converter POL  CM 
1. Alocar duas variáveis POL, CM numéricas 
2. Entrar POL {medida em polegadas} 
3. Calcular CM = 2.54 * CM 
4. Mostrar CM 
 
 
Ling.de 
programação 
Ling.de 
Máquina 
compilação 
 
EXERCÍCIOS: 
 
1- Desenvolva os passos de um programa para calcular a área de um retângulo 
Solução: 
1. Alocar três variáveis B, H e AREA numéricas 
2. Entrar B, H {valor em centímetros} 
3. Calcular AREA = B * H 
4. Mostrar AREA 
 
2- Sabendo-se um dollar = R$ 1,90; Desenvolva os passos de um programa que dada 
uma quantia em dollar calcula o valor em real. 
 
Solução: 
1. Alocar duas variáveis D, R numéricas 
2. Entrar D {valor em dollares} 
3. Calcular R = 1,90 * D 
4. Mostrar R 
 
 
 
 
 
 
 
 
 
 
AULA 03 
Roteiro da 3
a
 aula 
Referência ao Programa: Elementos básicos do algoritmo e da programação 
 Constantes; variáveis, expressões aritméticas, lógicas e literais; comandos de 
atribuição, entrada e saída; 
Objetivo: apresentar os conceitos itens fundamentais da linguagem C++ 
ITENS FUNDAMENTAIS 
Programando em C++ 
TIPOS DE DADOS do C 
O C tem 5 tipos básicos: char, int, float, void, double; Modificadores: long, short, signed, unsigned 
Tipo 
Num de 
bits 
Intervalo 
Inicio Fim 
char 8 -128 127 
unsigned char 8 0 255 
signed char 8 -128 127 
int 32 -32.768 32.767 
unsigned int 32 0 65.535 
signed int 16 -32.768 32.767 
short int 16 -32.768 32.767 
unsigned short int 16 0 65.535 
signed short int 16 -32.768 32.767 
long int 32 -2.147.483.648 2.147.483.647 
signed long int 32 -2.147.483.648 2.147.483.647 
unsigned long int 32 0 4.294.967.295 
float 32 3,4E-38 3.4E+38 
double 64 1,7E-308 1,7E+308 
long double 80 3,4E-4932 3,4E+4932 
 
1. Constantes: São valores que são mantidos fixos pelo compilador. 
 
Tipo de Dado Exemplos de Constantes 
char ‟b‟ ‟\n‟ ‟\0‟ 
int 2 32000 -130 
long int 100000 -467 
short int 100 -30 
unsigned int 50000 35678 
float 0.0 23.7 -12.3e-10 
double 12546354334.0 -0.0000034236556 
Exemplos Constantes Globais 
#define nome „UCG‟ 
#define pi 3.14159 
#define minimo 380 
Exemplos Constantes Locais 
const int a; 
const float pi = 3.14
 
2. Variáveis: 
 
São valores que podem ser alterados durante o programa. 
Representa um espaço de memória reservado para armazenar um determinado tipo de dado. 
Este espaço deve ser identificado por um nome (identificador) para se referir ao seu conteúdo. 
Para definir este nome ou identificador devemos: 
• Começar com uma letra ou sublinhado ( _ ) e os caracteres subsequentes devem ser 
 letras, números ou sublinhado ( _ ). 
• No máximo 32 caracteres. 
EXEMPLOS: _SALDO_1A 
 DOLAR 
 A_REA 
Declaração de variáveis 
tipo_da_variável lista_de_variáveis; 
É um instrução que: 
 Define no mínimo um nome (num1) e tipo (int) com o qual podemos acessar o 
conteúdo da variável. 
 Reserva a quantidade necessária para armazenar o tipo definido. 
EXEMPLOS: 
int dias; 
float salario, media, altura, n1, n2; 
char ch, letra, nome[20]; 
long count; 
float pi = 3.14159; 
double cosseno; 
3. COMANDO DE ATRIBUIÇÃO ( = ) 
 
Operação ou COMANDO de ATRIBUIÇÃO: é representado pelo sinal = que significa que o valor ou expressão 
da direita é atribuído à variável da esquerda. 
 Identificador_da_variável = valor, expressão aritmética, função 
Exemplos: 
dias = 260; 
salario = 380.00; 
media = 0.4 * n1 + 0.6 * n2; 
letra = „m‟; 
cosseno = cos(2*pi); 
count = (dias + 180)/2; 
Variáveis do mesmo tipo devem ser separadas por 
vírgula ( , ). 
Todo comando é finalizado com ponto-vírgula ( ; ) 
 
Operadores Aritméticos e de Atribuição 
 
Operador 
+ 
- 
* 
/ 
% 
++ 
-- 
 Ação 
 Soma (inteira e ponto flutuante) 
 Subtração ou Troca de sinal (inteira e ponto flutuante) 
 Multiplicação (inteira e ponto flutuante) 
 Divisão (inteira e ponto flutuante) 
 Resto de divisão (de inteiros) 
 Incremento (inteiro e ponto flutuante) 
 Decremento (inteiro e ponto flutuante) 
 
x++; x--; são equivalentes a x = x + 1; x = x – 1 
 
Expressão Original Expressão Equivalente 
x = x + k; x + = k; 
x = x - k; x - = k; 
x = x * k; x * = k; 
x = x / k; x / = k; 
 
 
Exemplos: CONSEQUENCIAS: 
 
 
 
 
 
 
 
int a = 17, b = 3; 
 
int x, y; 
float Z = 17. , Z1, Z2; 
x = a / b;  DIVISÃO INTEIRA 
y = a % b;  RESTO DE DIVISÃO INTEIRA 
Z1 = z / b  DIVISÃO PONTO FLUTUANTE 
Z2 = a / b; 
 
PRIMEIRO PROGRAMA em C++ 
IMPRIMIR NA TELA DO MONITOR A FRASE: Primeiro Programa 
#include <cstdlib> // diretiva para dev c++ windows 
#include <iostream> // diretiva do pré processador 
using namespace std; /*diretiva using*/ 
 main ( ) 
{ 
 cout << “Primeiro Programa”; 
 system(“PAUSE”); 
 return 0; 
} 
obs.:Diretivas: para auxiliar o desenvolvimento do programa fonte ( não pertencem à ling C++} 
#include <cstdlib>  Diretiva para permitir o uso da função system ( ) no Windows (não necessário nos 
compiladores mais novos) 
// diretiva para dev c++ Windows  comentário (quando usar compilador no Windows) 
#include <iostream> // diretiva do pré processador  Arquivo que contém declarações necessárias para 
entrada e saída de dados (cin, cout) 
using namespace std; /*diretiva using*/ necessário para usar os nomes dentro de um name space sem 
explicitar o qualificador ( ex. std::cout << “Primeiro Programa”) 
system(“PAUSE”); Solicita ao computador uma PAUSA até que uma tecla seja pressionada 
return 0; solicita à função main ( ) que retorne “zero” para quem a chamou. (não necessário nos 
compiladores mais novos) 
4. Comando de Saída ( cout ) 
Ex: cout << “ Primeiro Programa”; 
Objeto cout prédefinido na diretiva <iostream> com o padrão da classe de leitura e 
impressão declarado no namespace std 
O operador << é chamado de operador de inserção e envia a mensagem 
“ Primeiro Programa” a ser impressa para a saída padrão (vídeo) 
Define uma função de 
nome main
presente em todos
os programas em C 
Que é chamada
quando o programa
for executado.
As { } delimitam o 
seu conteúdo
Diz ao compilador que ele 
deve incluir o cabeçalho 
<iostream> íé os arquivos 
que contém os comandos 
de entrada e saída. 
 
 
Códigos especiais  \ (com barra invertida) 
cout << “Primeiro Programa \n”; 
cout << “ Primeiro Programa ”<< endl; 
 
 
 
 
 
 
Exemplo: programa imprime na tela a mensagem: Ola! Eu estou vivo. 
#include <iostream> // diretiva do pré processador 
using namespace std; /*diretiva using*/ 
main () /* Um Primeiro Programa */ 
{ 
cout <<"Ola! Eu estou vivo!\n"; 
 system(“PAUSE”); 
} 
O C é "Case Sensitive": o maiúsculo difere do minúsculo 
variáveis diferentes Soma, SOMA, SoMa, sOmA 
comandos (letras minúsculas)  cin, cout 
 
 
 
 Usando COUT 
 
Exemplo 1 
#include <iostream> 
using namespace std; 
main( ) 
Códigos especiais Significado 
\n 
 
\t 
 
\a 
 
\r 
 
\0 
 
Nova linha 
Tabulação 
beep 
CR – volta o cursor para o inicio da linha 
Zero (Null) 
 
 { 
 cout << "Exemplode um programa em C++!" << endl; 
 cout << "Legal programar em C++!"; 
 cout << endl << "eh bem interessante!\n"; 
 cout << "Esta eh‚ a linha um\nEsta eh‚ a linha dois\n"; 
 cout << 3.14159; 
 cout << "\n\nAos " << 20 << " anos eu ganhava " << 493.34 << endl; 
cout << "Bip\a\tBip\a\tBip\a\n"; 
system("PAUSE"); 
 } 
Exemplo 2 
#include <iostream> 
using namespace std; 
main ( ) 
{ 
int idade = 32; 
float salario = 25000.75; 
long dist_lua = 382171; 
int positivo = 40000; 
cout <<"O funcionario tem"<<idade<<"anos" <<endl; 
cout << "O funcionario ganha $" << salario << endl; 
cout <<"A lua esta "<<dist_lua << " KM da Terra“; 
cout << "positivo : " << positivo << endl; 
system("PAUSE"); 
 } 
 
5. Comando de Entrada ( cin ) 
 
cin >> variável 1>> variável 2..; 
// Declara a variável item do tipo char com 20 caracteres e a variável letra também do tipo 
char 
char item[20], letra; 
int num_pesca; // Declara a variável num_pesca do tipo inteiro 
float custo; // Declara a variável custo do tipo float 
cout << “ digite: o nome, a letra, custo, qtde pesca”; 
cin >> item >> letra >> num_pesca >> custo; 
ao digitar por ex: pedro<enter> b<enter> 5<enter> 7.00<enter> 
 
Usando cin 
Exemplo 1 
#include <iostream> 
using namespace std; 
main () 
{ 
char letra; 
cout << "Digite qualquer caractere e pressione Enter: "; 
cin >> letra; 
cout << "A letra digitada foi : " << letra << endl; 
system(“PAUSE”); 
} 
 
 
item
num_pesca
custo
letra
item
num_pesca
custo
letra b
5
pedro
7.00
 
 
Exemplo 2 
#include <iostream> 
using namespace std; 
 main () 
 { 
 int numero; // O número lido no teclado 
 cout << "Digite seu número favorito e pressione Enter: "; 
 cin >> numero; 
 cout << "Seu número favorito ‚ " << numero << endl; 
system(“PAUSE”); 
 } 
Exemplo 3 
#include <iostream> 
using namespace std; 
 main () 
 { 
 int primeiro, segundo; // Números digitados no teclado 
 cout << "Digite dois NUMEROS e pressione Enter apos cada entrada: "; 
 cin >> primeiro >> segundo; 
 cout << "Os NUMEROS digitados foram " << primeiro << " e " << segundo << endl; 
 system(“PAUSE”); 
 } 
 
 
 
Divisão  int / int  ? 
#include <iostream> 
using namespace std; 
main ( ) 
{ 
int num; 
float f; 
num=10; 
f = num / 7; 
cout << “\n” << f <<“\n”; 
system("PAUSE"); 
} 
CASTS (MODELADORES) 
Um modelador é aplicado a uma expressão. Ele força a mesma a ser de um tipo especificado. 
 Sua forma geral é: (tipo)expressão 
#include <iostream> 
using namespace std; 
main ( ) 
{ 
int num; 
float f; 
num=10; 
f =(float)num/7; 
cout << “\n” << f <<“\n”; 
system("PAUSE"); 
} 
 
 
 
 
 
Monitor 
1 
Monitor 
1.4285 
 
6. Exercício: feito em classe para implementação no lab. 
Desenvolver um programa para transformar dias em anos. 
1. Declarar as variáveis 
2. Ler a quantidade de dias 
3. Calcular a correspondência de dias em anos (1 ano =365,25 dias) 
4. Exibir o valor calculado 
Solução 
#include <iostream> 
using namespace std; 
 main () 
 { 
 /* Declaração de Variáveis */ 
 int dias; 
 float anos; 
 /* Entrada do valor em dias */ 
 cout<<"Entre com o numero de dias: "; 
 cin>>dias; 
 /* Cálculo da conversão dia em anos */ 
 anos = dias/365.25; 
 /*Exibir o resultado */ 
 cout<<dias<<" dias equivalem a "<<anos<<" anos\n"; 
 system("PAUSE"); 
} 
 
 
 
 
 
AULA 04 
Roteiro da 4
a
 aula 
Referência ao Programa: Elementos básicos do algoritmo e da programação 
 Estrutura de fluxo sequencial 
Objetivo: apresentar a estrutura sequencial da linguagem C++ 
Estrutura Sequencial 
 
Exercícios resolvidos em sala 
1. Maria é uma criança muito econômica e têm guardado no seu cofre moedas de dez e cinco 
centavos. O cofre está tão cheio de moedas que ela resolveu trocar com sua mãe em notas de um 
real, e para isso ela contou as quantidades de moedas que ela tem de dez e cinco centavos. 
Desenvolver um programa para transformar o equivalente das moedas de Maria em notas de um 
real e centavos 
/* programa MOEDAS */ 
#include <iostream.> 
using namespace std; 
main ( ) 
{ // estruturas de dados 
 int DEZ, // quantidade de moedas de 10 centavos 
 CINCO, // quantidades de moedas de 5 centavos 
 CENTAVOS, // total em centavos que Maria tem no cofre 
 REAL, // quantidade de notas de um real 
 SOBRA; // total de centavos que sobraram 
 // leia os dados de entrada 
 cout << "Informe a quantidade de moedas de 10 centavos que Maria possui:\n "; 
 cin>> DEZ; 
 cout << "Informe a quantidade de moedas de 5 centavos que Maria possui:\n "; 
 cin>> CINCO; 
 // Cálculo total em centavos 
 CENTAVOS =DEZ * 10 + CINCO * 5; 
 // Cálculo da quantidade de notas de um real 
 
 REAL = CENTAVOS / 100; // quociente entre CENTAVOS e 100 
 // Cálculo dos centavos que sobraram no cofre 
 SOBRA = CENTAVOS % 100; //resto entre CENTAVOS e 100 
 // Exibe os valores das variáveis 
 cout<< "Maria tem "<< REAL<< " nota(s) de um real e "<< SOBRA<<" centavos"<<endl; 
system("PAUSE"); } 
2. Fazer um programa que dado o tempo em segundos, necessários para viajar de uma cidade à outra. 
Calcular e escrever quantas horas, minutos e segundos esta viajem dura. 
// programa CRONOMETRO 
#include <iostream.> 
#define MINSEG 3600 
#define SEG 60 
using namespace std; 
main ( ) 
{ //estruturas de dados 
int TEMPO, HORAS, MINUTOS, SEGUNDOS; 
// leia os dados de entrada 
cout<< "Informe o tempo medido pelo cronômetro (em segundos): \n"; 
cin >> TEMPO; 
//Calcule a quantidade de horas 
 HORAS = (TEMPO/MINSEG); // quociente entre TEMPO e 3600 
//Calcule a quantidade de minutos 
// quociente da div (resto entre TEMPO e 3600), e 60 
 MINUTOS = ((TEMPO%MINSEG)/SEG); 
//Calcule a quantidade de segundos 
//resto da div (resto entre TEMPO e 3600), e 60 
SEGUNDOS = ((TEMPO%MINSEG)%SEG); 
 //exiba os resultados de saída 
 cout <<TEMPO<< " segundos são equivalentes a "<< HORAS<< " horas, "; 
cout<< MINUTOS<< " minutos e "<< SEGUNDOS<< " segundos"<<endl; 
system("PAUSE"); } 
 
Desafio para lab: 
Entrar com horário do início da viagem 
em horas, minutos e segundos 
(19h20min00seg) e horário do fim da 
viagem (22h30mim10seg). Calcular e 
exibir a duração da viagem em horas, 
minutos e segundos. 
3. Dado um número de três dígitos, 
desenvolver um algoritmo para 
invertê-lo e armazenando-o em uma 
outra variável. 
 
// programa INVERTIDO 
#include <iostream> 
using namespace std; 
main( ) { //estruturas de dados 
 int NUMERO, INVERTIDO, DEZENA,CENTENA, UNIDADE; 
 // leia os dados de entrada 
 cout<< "Informe o numero para inverter: \n"; 
 cin >> NUMERO; 
 // resto entre NUMERO e 10 
 UNIDADE = NUMERO%10; 
// quociente ( resto do NUMERO e 100) e 10) 
 DEZENA = (NUMERO%100)/10; 
// quociente entre NUMERO e 100 
 CENTENA = NUMERO/100; 
// inverter o número 
 INVERTIDO = UNIDADE *100 + DEZENA *10 + CENTENA; 
//exiba os resultados de saída 
 cout << "o número invertido eh "<< INVERTIDO <<endl; 
 system("PAUSE"); 
 
 } 
 
4. Fazer um programa para trocar, entre si, os valores das variáveis A e B. Usando uma variável 
auxiliar.// programa TROCA 
#include <iostream.> 
using namespace std; 
main() 
{ //estruturas de dados 
int A, B, AUX; 
// leia os dados de entrada 
 cout<< "Informe o valor da primeira variavel: \n"; 
 cin >> A; 
 cout<< "Informe o valor da segunda variavel: \n"; 
 cin >> B; 
//Trocar as variáveis 
 AUX = A; 
 A = B ; 
 B = AUX; 
 //exiba os resultados de saída 
 cout << "o valor armazenado na variavel A eh "<< A <<endl; 
 cout << "o valor armazenado na variavel B eh "<< B <<endl; 
system("PAUSE"); 
} 
Desafio em Sala: Trocar os valores das variáveis entre si sem usar variável auxiliar 
 
 
 
 
 
 
 
 
AULA 05 
Roteiro da 5
a
 aula 
Referência ao Programa: Elementos Técnicas de construção de algoritmos e programas 
 Estruturas de controle de fluxo condicionais 
Objetivo: apresentar a estrutura condicional CONTROLE DE FLUXO 
 
ESTRUTURA CONDICIONAL 
Os programas que vimos até agora têm a seguinte estrutura: 
main() 
{ declarações 
 instrução1 
 instrução2 
 instrução3 
... 
 instruçãoN 
} 
O caso geral da instrução if - else: se a (expressão) for verdadeira executa a 
instrução 1 senão executa a instrução 2 
if ( expressão ) 
 instrução1 ; 
 else instrução2 ; 
O comando else não é obrigatório: 
if ( expressão ) 
 instrução1 ; 
Expressões Logicas: é a expressão cujo operadores são lógicos e cujos operandos são relações, 
constantes e/ou variáveis do tipo lógico. 
Relações: X + Y = Z X>Y X*Y <= 1 
o resultado será verdadeiro ou falso. 
 
 
 Símbolo Significado 
< Menor 
> Maior 
<= menor ou igual 
>= maior ou igual 
== Igual 
!= Diferente 
Operadores Lógicos 
• e --- conjunção ( é verdadeira se e somente se ambas as proposições são verdadeiras). 
• ou --- disjunção ( é verdadeira se e somente se, pelos menos uma delas fOU são verdadeiras). 
• não --- negação (é negação da expressão) 
 
 
E 
 
 
 
 
 
 
Exemplo de Estrutura Condicional Simples 
if ( expressão ) 
 instrução1 ; 
 
Desenvolver um programa para entrar com um preço do carro e calcular o preço final de 
acordo com as opções do usuário com os opcionais de vidro elétrico, ar condicionado, trava 
central, pintura metálica e ar condicionado. 
 
 
 
 !(2 > 3) NÃO ! 
 !(5>1) NÃO ! 
 (4> 2) || (10 > 5) OU || 
 (3> 1) || (10 > 11) OU || 
 (2 >1) && (10 > 9) E && 
 (5 > 1) && (3>10) E && 
 
Resultado Exemplo Descrição Operador 
FALSO 
VERDADEIRO 
VERDADEIRO 
VERDADEIRO 
FALSO 
VERDADEIRO 
 
// programa PRECOCARRO 
#include <iostream.> 
using namespace std; 
 main() { 
char RESPAC[1],RESPDH[1],RESPPM[1], RESPVE[1],RESPTC[1]; 
float PRECOFINAL; //leia os dados de entrada 
 cout << "Deseja Ar Condicionado (S/N) , (s/n)? "; 
 cin >> RESPAC; 
 cout << "Deseja Direção Hidráulica (S/N) , (s/n)? "; 
 cin >> RESPDH; 
 cout << "Deseja Pintura Metálica (S/N) , (s/n)? "; 
 cin >> RESPPM; 
 cout << "Deseja Vidros Elétricos (S/N) , (s/n)? "; 
 cin >> RESPVE; 
 cout << "Deseja Trava Central (S/N) , (s/n)? "; 
 cin >> RESPTC; 
 cout << "Qual o preço inicial do carro"; 
 cin >> PRECOFINAL; 
if( (RESPAC = = 'S') || (RESPAC = = 's') ) 
 PRECOFINAL = PRECOFINAL + 2500.; 
if( (RESPDH = = 'S') || (RESPDH = = 's') ) 
 PRECOFINAL = PRECOFINAL + 2000.; 
 if( (RESPPM = = 'S') || (RESPPM = = 's') ) 
 PRECOFINAL = PRECOFINAL + 650.; 
 if( (RESPVE = = 'S') || (RESPVE == 's')) 
 PRECOFINAL = PRECOFINAL + 500.; 
 if( (RESPTC = = 'S') ||(RESPTC = = 's') ) 
 PRECOFINAL = PRECOFINAL + 400.; 
//exiba os resultados de saída 
 cout<< "R$ "<< PRECOFINAL<< " será o preço final do carro.\n"; 
system("PAUSE"); } 
 
Exemplo de Estrutura Condicional Composta 
if ( expressão ) 
 instrução1 ; 
else instrução2 ; 
Desenvolver um programa para entrar com dois números e exibir o maior entre eles. 
/*Este programa entra com dois números distintos e exibi a mensagem de qual número é 
maior. Programa MAIOR*/ 
#include <iostream> 
using namespace std; 
main() 
 { 
 // define dois inteiros 
 int X , Y ; 
 //entra com dois números inteiros 
 cout << “Digite dois números inteiros: ”; 
 cin >>X>>Y; 
 //exibe uma mensagem dizendo qual número é maior 
 if (X > Y) { 
 cout << X<<“ eh mair do que " <<Y<< endl; 
 } 
 else { 
 cout << X<<" eh menor do que " <<Y<< endl; 
 } 
 system (“PAUSE”); 
 } 
 
//programa PARIMPAR - Esse programa verifica um número é par ou ímpar 
#include <iostream> 
using namespace std; 
 main() 
 { 
 int N; 
 cout <<“Digite um número inteiro: "; 
 cin >> N ; 
 if ( N % 2 == 0 ) 
 cout<<N<<” é par\n"; 
 else cout<< N<<" eh ímpar\n"; 
system (“PAUSE”); 
Erros frequentes 
 
 
 
 
 
 
if( expressão ) 
{ 
 instrução1 
 instrução2 
} 
else 
 { 
 Instrução3 
 Instrução4 
 } 
instrução7 
SE EXISTIR MAIS DE 
UMA INSTRUÇÃO 
PARA SER 
EXECUTADA DENTRO 
DO COMANDO if OU 
DO else
DEVEMOS COLOCAR 
AS CHAVES { 
}
if(...) 
 instrução1; 
 instrução2; 
 
Provavelmente aquilo que queriam fazer 
era: 
if(...) { 
 instrução1; 
 instrução2; 
 } 
 
Condicional Simples 
#include <iostream> 
using namespace std; 
main( ) 
{ 
int nota; 
cout ”Entre com sua nota, por favor\n"; 
cin>>nota; 
if (nota >= 7.5) 
{ 
 cout<<"Incrível, você passou com mérito.\n"); 
 } 
 system (“PAUSE”); 
 } 
Condicional Composta 
#include <iostream> 
using namespace std; 
main( ) 
{ 
 int nota; 
 cout <<”Entre com sua nota, por favor\n"; 
 cin>>nota; 
 if (nota >= 5.0) 
 { 
 cout <<"Você passou.\n"; 
 } 
 else 
 { 
 cout<<”Que pena, você reprovou.\n"; 
 } 
system (“PAUSE”); } 
 
Condicional Composta Aninhada 
#include <iostream> 
using namespace std; 
main( ) 
{ 
 int nota; 
 cout <<”Entre com sua nota, por favor\n"; 
 cin>>nota; 
 if (nota >= 7.5) 
 { 
cout <<"Incrível, você passou com mérito.\n"; 
 } 
 else if (nota >= 5.0) 
 { 
 cout<<”Você passou\n"; 
 } 
 else 
 { 
 cout<<”Que pena, você reprovou.\n"; 
} 
system (“PAUSE”); 
 } 
 
 
AULA 06 
Roteiro da 6 aula 
Referência ao Programa: Elementos Técnicas de construção de algoritmos e programas 
 Estruturas de controle de fluxo condicionais 
Objetivo: apresentar a estrutura condicional CONTROLE DE FLUXO 
 
 
ESTRUTURA CONDICIONAL 
EXERCÍCIO 1 
 
 
 
 
 
 
 
 
#include <math> 
#include <iostream> 
using namespace std; 
main() 
 { 
 // define dois inteiros 
 int N, R; 
 //entra com um número inteiro 
 cout<<“Digite um número inteiro: ”; 
 cin >> N; 
 R = sqrt (N); 
 if ((R*R) = = N) 
 cout << N <<" eh um QUADRADO PERFEITO \n "; 
 else 
 cout << N <<" NAO eh QUADRADO PERFEITO \n "; 
system (“PAUSE”); 
} 
 
EXERCÍCIO 2: 
Cálculo da média de um aluno 
Escrever um programa que lê o numero de identificação e as 3 notas obtidas por um aluno e calculaa média 
de aproveitamento, usando a fórmula: MA = (NOTA1 + NOTA2 * 2 + NOTA3 * 3) / 6. O programa deve 
escrever o número do aluno, a média de aproveitamento, o conceito correspondente e a mensagem: 
Aprovado se o conceito for A, B ou C e Reprovado se D ou E. A atribuição de conceito obedece à tabela abaixo; 
 
#include <iostream > 
#include <string> 
using namespace std; 
 main() 
{float NOTA1, NOTA2, NOTA3, MA; 
 int MATRICULA; 
 string CONCEITO, SITUACAO; 
 cout <<"Digite a Matricula \n"; 
 cin >> MATRICULA; 
 cout <<"Digite as 3 Notas \n"; 
 cin >>NOTA1 >> NOTA2 >> NOTA3; 
 MA = (NOTA1+NOTA2*2+NOTA3*3)/6; 
 if ( MA >= 9.1 ) 
 { 
 CONCEITO = 'A'; 
 SITUACAO = “APROVADO”; } 
else if (MA >= 7.6) 
 { 
 CONCEITO = 'B'; 
 SITUACAO =”APROVADO"; } 
 else if (MA >= 6.1) 
 { 
 CONCEITO = 'C'; 
 
 SITUACAO =”APROVADO"; } 
 else if (MA >= 4.1) 
 { 
 CONCEITO = 'D'; 
 SITUACAO =REPROVADO"; 
 } 
 else 
{ 
 CONCEITO = 'E'; 
 SITUACAO =REPROVADO"; 
 } 
cout<<MATRICULA<<“ TEM MEDIA "<<MA<<“ e CONCEITO "<<CONCEITO<<“ e FOI “ << SITUACAO<< endl ; 
system("PAUSE") ; 
} 
EXERCÍCIO 3: Dado quatro números, desenvolver um programa para somar os três maiores. 
 
// programa SOMA 3 MAIORES 
 #include <iostream> 
using namespace std; 
 main( ) 
 { 
 float A,B,C,D,SOMA3; 
 //leia os dados de entrada 
cout<< "DIGITE 4 NUMEROS QUAISQUER \n"; 
cin>>A>>B>>C>>D; 
 if ( (A<B)&&(A<C)&&(A<D) ) 
 
 SOMA3 = B+C+D; 
 else f ( (B<C)&&(B<D) ) 
SOMA3 = A+C+D; 
else if (C<D) 
 SOMA3 = A+B+D; 
 else 
 SOMA3 = A+B+C; 
 //exiba os resultados de saída 
cout<< "A soma dos 3 maiores eh "<< SOMA3 << endl; 
 system("PAUSE"); 
} 
Exercício para avaliação em sala: 
Dado quatro números, desenvolver um programa para somar os três MENORES. 
// programa SOMA 3 MENORES 
 #include <iostream> 
using namespace std; 
 main( ) 
 { 
 
 
 
 
 
 
 
 
 
AULA 07 
Roteiro da 7
a
 aula 
Referência ao Programa: Elementos Técnicas de construção de algoritmos e programas 
 Estruturas de controle de fluxo condicionais 
Objetivo: apresentar a estrutura condicional CONTROLE DE FLUXO 
ESTRUTURA CONDICIONAL 
EXERCÍCIO 1 
Uma locadora tem as seguintes regra para aluguel de fitas: 
• seg, ter e qua (2,3 e 4) um desconto de 30% no preço normal; dom(1)  preço normal; qui, sex e 
sab (5,6 e 7)  um acréscimo de 20% no preço normal. 
• Aluguel de filmes Comuns: preço normal, 
 Lançamentos: acréscimo de 13% no preço normal 
Desenvolver um programa para ler o preço normal em R$, o dia a ser locado (1 a 7) a categoria do filme (C ou 
L). Calcular e imprimir o preço final do aluguel. Considerando que o cliente só pode alugar uma fita por 1 dia. 
QUAL TESTE ‘PRIMEIRO’? DIA = DOMINGO  Não só devemos fazer teste se for para calcular algo 
 
 
#include <iostream> 
#include <string> 
using namespace std; 
main() { 
 float PN, PF; 
 int DIA; 
 string TIPO; 
 cout << “ Digite o preco normal \n "; 
 cin >> PN; 
 
 cout << "Digite o TIPO (C)COMUM (L)LANCAMENTO \n "; 
 cin >> TIPO; 
 cout << "QUAL O DIA DA LOCACAO 1,2,3,4,5,6 ou 7 \n "; 
 cin >> DIA; 
 // cálculo do preço final 
PF = PN; 
 if ( (DIA==2) || (DIA==3) || (DIA==4) ) { 
 PF = PN – PN * 0.3; } 
else if ( (DIA==5) || (DIA==6) || (DIA==7) ) { 
 PF = PN * 1.2; } 
 if( (TIPO=='L') || (TIPO=='l') ) { 
 PF = PF + PN * 0.13; } 
 cout<<"O PRECO FINAL EH R$"<<PF<<endl; 
 system("PAUSE"); 
 } 
EXERCÍCIO 2 : FAZER EM SALA 
Uma autolocadora aluga seus carros com uma taxa fixa por dia, acrescido de um taxa por km 
rodado e dá desconto de 10% no total do aluguel. 
Escrever um programa que lê o número de dias, o número de quilômetros rodados e calcula e 
escreve o valor do aluguel a ser pago, o valor do desconto, o número de dias, e a 
quilometragem rodada. 
Considere como constante a taxa fixa por dia (50.00), a taxa por km rodado (1.50) e desconto 
dado (10/100) 
 
 
#include <iostream> 
using namespace std; 
#define txdia 50.00 
#define txkm 1.50 
#define desc 10/100 
main() 
{ 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
} 
 AULA 08 AVALIAÇÃO PRELEÇÃO 
 
AULA 09 
Roteiro da 9
a
 aula 
Referência ao Programa: Elementos Técnicas de construção de algoritmos e programas 
 Estruturas de controle de fluxo condicionais 
Objetivo: apresentar o comando case-switch 
ESTRUTURA CONDICIONAL 
 
COMANDO CASE-SWITCH 
 switch(resposta) 
{ 
 case 'a': sentenças de instruções para a opção a ; break; 
 case 'b': sentenças de instruções para a opção b ; break; 
 case 'c': sentenças de instruções para a opção c ; break; 
 default: sentenças de instruções para entrada errada ; break; 
 } 
 
 
 
EXEMPLO 1: 
Escrever um programa que leia dois números inteiros e a operação aritmética. Calcule e mostre o resultado. 
#include <iostream> 
using namespace std; 
main( ) 
{ 
 int a,b, OPCAO; 
 cout << “DIGITE UMA OPCAO\n”; 
 cout << “ (1) Somar (2) Multiplicar (3) Diminuir (4) Dividir \n”; 
 cin >> OPCAO; 
 cout << “Digite 2 numeros\n”; 
 cin >> a >> b; 
switch (OPCAO) 
 { 
 case 1: cout<<”SOMA = “<< a+b; break; 
 case 2: cout<<”Multiplicacao = “<< a*b; break; 
 case 3: cout<<”DIFERENCA = “<<a-b; break; 
 case 4: if (b==0) 
 { 
 cout<<”\n\n\t VOCE NÃO PODE DIVIDIR POR ZERO. 0 \n\n“; break; 
 } 
 else { 
 cout<<”DIVISAO = “<< a/b; break; 
 } 
 default: cout<<”opcao invalida”; break; 
 } 
 system(“PAUSE”); 
 } 
 
 
EXEMPLO 2: Escrever um programa que leia 3 notas dos alunos e o tipo de média (aritmética, ponderada ou harmônica. 
Calcule e mostre o resultado. 
#include <iostream > 
#include <iomanip> 
using namespace std; 
main() 
{ float N1,N2,N3,MEDIA; 
 int opcao; 
 cout << "DIGITE 3 NOTAS\n"; 
 cin >> N1 >> N2 >> N3; 
 cout<<" DIGITE A OPCAO\n"; 
 cout<<"(1) ARITMETICA (2) PONDERADA (3) HARMONICA \n"; 
 cin>>opcao; 
 cout << setprecision(2); 
switch (opcao) 
 { 
 case 1: MEDIA = (N1+N2+N3)/3; 
 cout << "MEDIA ARITMETICA = "<< MEDIA << endl; break; 
 case 2: MEDIA = (N1+N2*2+N3*3)/6; 
 cout <<"MEDIA PONDERADA = "<< MEDIA << endl; break; 
 case 3: if ((N1==0) || (N2==0) || (N3==0)) { 
 cout<<" \n\n\t VOCE NAO PODE DIVIDIR POR ZERO. 0 \n\n"; break; 
 } 
 else { 
 MEDIA = 3/(1/N1+1/N2+1/N3); 
 cout<<"MEDIA HARMONICA = "<<MEDIA<<endl; break; 
 } 
 default: cout<<"opcao invalida"; break; 
 } system("PAUSE"); 
} 
 
 
AULA 10 
Roteiro da 10
a
 aula 
Referência ao Programa: Elementos Técnicas de construção de algoritmos e programas 
 ESTRUTURA DE REPETIÇÃO 
Objetivo: apresentar como vinculara repetição de blocos à condições; Quando utilizar cada uma das estruturas 
disponíveis 
COMANDO while 
 Executa sentenças (comandos) enquanto a condição for verdadeira. 
 Condição (expressão ou teste) é verificada antes do bloco de comandos. 
 
Exemplo 1: Mostrar na tela os números de 1 a 10. 
#include <iostream> 
using namespace std; Rastreamento (executando linha por linha) 
main ( ) 
{ int numero = 1; 
 while (numero <= 10) 
 { 
 cout << numero<<"\t"; 
 numero = numero + 1; 
 } 
system(“pause”); 
 } 
 
 
Exemplo 2: Calcular a soma dos números pares de 2 até 200 
Solução: 
Iniciar o primeiro par = 2 e a soma= 0 
Repetir enquanto o par <= 200 
 acumulamos o par na soma: 
  soma = soma + par 
obtemos próximo par somando 2 ao par anterior 
  par = par + 2 
#include <iostream > 
using namespace std; 
main( ) 
{ 
 int SOMA, PAR; 
// inicialização das variáveis 
 SOMA = 0; 
 PAR = 2; 
 while (PAR <= 200) 
 { 
 SOMA = SOMA + PAR; // soma dos pares 
 PAR = PAR + 2; // incremento para o próximo par 
 } 
 // mostra o valor acumulado na soma 
cout << "A soma dos pares ate 200 eh " << SOMA << ".“ << endl; 
system (“PAUSE”); 
} 
 
 
 
 
Exemplo 3: 
// SOMA_PARES de um limite inferior até um limite superior 
#include <iostream> 
using namespace std; 
main() 
{ 
 int SOMA = 0, PAR, LIMSUP; 
cout << "digite o limite inferior e superior"<<endl; 
cin >> PAR >> LIMSUP; 
// enquanto (expressão ?) 
while (PAR <= LIMSUP) 
 { 
 SOMA = SOMA + PAR; // soma dos pares 
 PAR = PAR + 2; // incremento para o próximo par 
 } 
cout <<"A soma dos pares eh " << SOMA << "."<< endl; 
System (“PAUSE”); 
} 
COMANDO do-while 
 Executa sentenças enquanto a condição for verdadeira. 
 Condição é verificada depois do bloco. 
 
 
 
Exemplo 1: Mostrar na tela os números de 1 a 10. 
#include <iostream> 
using namespace std; Rastreamento (executando linha por linha) 
main ( ) 
{ 
int numero = 1; 
do 
 { 
 cout << numero<<"\t"; 
 numero = numero + 1; 
 } while (numero <= 10); 
system(“pause”); 
} 
Exemplo 2: Código validação de dado de entrada: exemplo 0 a 10. 
#include <iostream> 
using namespace std; 
main ( ) 
{ 
float NOTA; 
cout<< "Digite uma nota: "<< endl; 
 do 
 { 
 cin >> NOTA; 
 } while ((NOTA < 0) || (NOTA > 10)); 
system(“pause”); 
 } 
podemos melhorar e pedir que digite novamente 
#include <iostream> 
 
using namespace std; 
main ( ) 
{ 
float NOTA; 
cout<< "Digite uma nota: "<< endl; 
 do 
 { 
 cin >> NOTA; 
if ( (NOTA <0) || (NOTA> 10) ) 
 cout<<"nota invalida, digite novamente"<<endl; 
 } while ((NOTA < 0) || (NOTA > 10)); 
system(“pause”); 
} 
Operadores de incremento: 
 
 
 
 
Exercício proposto EM SALA: 
Desenvolver um programa que lê a senha (letras e/ou números) e valida a mesma. 
 
 
 
 
 
 
 
 
 
AULA 11 
Roteiro da 11
a
 aula 
Referência ao Programa: Elementos Técnicas de construção de algoritmos e programas 
 ESTRUTURA DE REPETIÇÃO 
Objetivo: apresentar como vincular a repetição de blocos à condições; Quando utilizar cada uma das estruturas 
disponíveis 
COMANDO for 
 Executa sentenças (comandos) enquanto a condição (expressão ou teste) for 
verdadeira. 
 Faz a inicialização o teste e atualização num único comando 
 
Exemplo 1: 
 
 
 
Exemplo 2: 
Desenvolver um programa que tabula a temperatura em Graus Farenheit para Graus Celsius. 
 C = 5/9*(F-32) 
FVaria de 50 a 150 de 10 em 10 
 
#include <iostream> 
#include <iomanip> 
using namespace std; 
main() 
{ 
float C; 
cout<<setiosflags(ios::fixed) // ponto decimal 
<<setiosflags(ios::showpoint) //sempre imprimir o ponto decimal 
 <<setprecision(2); // imprimir com 2 casas decimais 
cout<<"\t"<<“Far”<<"\t\t "<<“Celsius”<<"\n\n"; 
for (int F=50 ; F<=150 ; F+=10) 
 { 
 C = 5.0/9*(F-32); 
 cout<<"\t"<<F<<"\t\t "<<C<<"\n\n"; 
 } 
system("PAUSE"); 
} 
Caso de Uso: Quando usar while, do-while ou for ??? 
while (expressão) { ... } 
– Não há variável contadora 
– Inicialização, teste ou atualização complexos 
– Informações da condição obtidas na execução 
 
 
do { ... } while (expressão); 
– Executar um bloco pelo menos uma vez 
– Só é possível avaliar a condição depois de executar 
– Informações da condição obtidas após execução 
for (inicialização; teste; reinicialização) { ... } 
– Há variável contadora de repetições 
– Inicialização, teste e atualização simples 
– Separa claramente as instruções de controle das instruções do bloco 
Por que usar o for ? 
Cabeçalho agrupa: 
– Inicialização 
– Condição 
– Atualização 
Separa: 
– Controle (lógica) de repetição 
– Código a ser repetido 
 
Exemplo: Desenvolver um programa que lê as notas de várias pessoas e determina a maior nota. 
 
 
 
#include <iostream> // PROCESSA MAIOR NOTA 
using namespace std; 
main( ) 
{ 
float NOTA, MAIORNOTA; //estruturas de dados 
 MAIORNOTA = -1; 
 //leia e processe os dados de entrada ( primeira nota e quando parar de ler ) 
 cout<< "(Para finalizar informe uma nota negativa) "<<endl; 
 cout<< "Informe uma nota: "<<endl; 
 cin>>NOTA; 
while ( NOTA >= 0 ) // repetir enquanto nota por positiva 
{ 
 if (NOTA > MAIORNOTA) 
 MAIORNOTA = NOTA; 
 cout<< "Informe outra nota: "; 
 cin>>NOTA; 
} 
//exiba os resultados de saída 
cout<< "A maior nota encontrada foi: "<< MAIORNOTA<<endl; 
system("PAUSE"); 
} 
Desafio: 
Desenvolver um programa que lê as notas de várias pessoas e determina a maior nota bem como a 
quantidade de pessoas que tiraram essa nota. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AULA 12 
Reservado para semana de ciência e tecnologia. 
 
 
AULA 13 
Roteiro da 13
a
 aula 
Referência ao Programa: Elementos Técnicas de construção de algoritmos e programas 
 ESTRUTURA DE REPETIÇÃO 
Objetivo: apresentar estudo de casos (Calculo de series) 
Exemplo 1: Desenvolver um programa para calcular e mostrar o valor de pi dado pela sequencia 
abaixo com precisão 0,0001 e mostrar também quantos termos foram utilizados. 
 
QUAL ESTRUTURA USAR? 
Precisamos executar pelo menos uma vez 
Não sabemos a quantidade de termos 
PODEMOS USAR A ESTRUTURA do while 
// Prog para calcular Pi 
#include <iostream> 
using namespace std; 
main() 
{ 
double PI =0 , T = 4 ; 
int D = 1, C = 1; 
do { //calculo do T e do PI 
 if (C%2 == 0 ) 
 PI = PI - T; // termo par 
 
 else PI = PI + T; // termo impar 
 D = D + 2; // próximo denom. 
 T = 4.0/D; // próximo termo 
 C = C + 1; // incrementa contador 
 } while (PI < 3.1416) ; // repete o do enquanto PI menor que 3.1416 
 cout<<"O VALOR DE PI c/ PRECISAO 0.0001 EH "<<PI<<endl; 
 cout<<"UTILIZANDO " << C << " TERMOS"; 
 system("PAUSE"); } 
Exemplo 2: 
 
Desafio em sala: escrever o programa do exemplo 2 acima. 
Dicas 
Estrutura de repeticão calc T e S ?for usando D para controle (1<=D<=9) 
 T= 1/pow (D,3)*SINAL 
 O sinal do D= 1 (prim termo é + )SINAL=1 
 S  soma dos termos iniciar S=0 
 Mudo o sinal do seg SINAL=SINAL*(-1); 
Repito até 5 termo D=9 
 sai da repetição PI pow (S*32 , 1.0/3) 
 
 
AULA 14 
Roteiro da 14
a
 aula 
Referência ao Programa: Elementos Técnicas de construção de algoritmos e programas 
 ESTRUTURA DE REPETIÇÃO 
Objetivo: apresentar estudo de casos 
Desenvolver um programa para ler : 
o sexo (1-feminino, 2-masculino) e a altura de um grupo de 50 pessoas. 
O programa deve calcular: 
• a altura média das mulheres e a altura média dos homens; 
• a maior e a menor altura do grupo, dizendo se a altura é de um homem ou de uma mulher. 
estrutura de repetição para : 
inicio 
• Entrar com os dados de altura e sexo (contar e parar até 50) 
• se mulher : acumular altura, 
 conta mulher 
 se altura > maior mulher 
 guardar altura na maior mulher e 
 se altura < menor mulher 
 guardar altura na menor mulher 
• senão se homem: acumular altura, 
 conta homem 
 se altura > maior homem 
 guardar altura no maior homem e 
 se altura < menor homem 
 guardar altura no menor homem 
 senão invalidar entrada de sexo (decrementa e volta) 
fim 
Calcula e mostra: 
Média altura homem = alt acumulada homens / quat homens 
Média altura mulher = alt acumulada mulheres / quat mulheres 
Maior do grupo?  
 se maior homem>maior mulher 
 mostra a altura do mais alto que é homem 
 senao mostra a altura do mais alto que é mulher 
 se for igual mostra é homem e mulher o mai alto 
Menor do grupo?  se menor homem < menor mulher ……… 
 o mais baixo é h senao é mulher…… 
 
 
 
#include <iostream> 
using namespace std; 
 main() 
{ float ALTURA, MAXM = -1, MAXH = -1, MINM = 10,MINH = 10, MM = 0,MH = 0; 
 int SEXO,CONT,CM = 0,CH = 0; 
 for (CONT = 1; CONT<= 50 ; CONT++) { 
 cout << "digite o "<<CONT<< " \xA7 SEXO: (1)F (2)M "; // entrar dados 
 cin >> SEXO; 
 cout << "DIGITE A "<< CONT << " \xA7 ALTURA: "; 
 cin>>ALTURA; 
 if (SEXO==1) { MM = MM + ALTURA; // teste sexo , acumula altura 
 CM++; // conta mulher 
 if (ALTURA >= MAXM ) // testa altura e guarda 
 MAXM = ALTURA; 
 if ( ALTURA <= MINM ) 
 MINM = ALTURA; } 
 else if (SEXO==2) { MH = MH + ALTURA; // teste sexo , acumula altura 
 CH++; // conta homem 
 if ( ALTURA >= MAXH ) // testa altura e guarda 
 MAXH = ALTURA; 
 if ( ALTURA <= MINH ) 
 MINH = ALTURA; } 
 else { cout<< "\nSEXO INVALIDO\n"; CONT--; } 
 } 
if ( CM != 0 ) { 
 MM = MM/CM; // calcula media de altura de mulher 
 cout<<"\n A ALTURA media das MULHERES EH: "<< MM <<endl;} 
 if( CH != 0 ) { 
 MH = MH/CH; // calcula media de altura de homem 
 cout<<"\n A ALTURA media dos HOMENS EH: "<< MH <<endl; } 
 if ( MAXM > MAXH) // calcula maior do grupo 
 cout<<"\n A MAIOR ALTURA : " << MAXM <<" m eh DE MULHER\n"; 
 else cout<<"\n A MAIOR ALTURA : " << MAXH <<" DE HOMEM\n"; 
 if (MAXM==MAXH) 
 cout<<"\nA MAIOR ALTURA:" << MAXM <<" m eh DE HOMEM E DE MULHER\n"; 
 if (MINM < MINH) 
 cout<<"\nA MENOR ALTURA : " << MINM <<" m eh DE MULHER\n"; 
 else cout<<"\nA MENOR ALTURA : " << MINH <<" DE HOMEM\n"; 
 if (MINM == MINH) 
 cout<<"\nA MAIOR ALTURA : " << MINM <<" m eh DE HOMEM E DE MULHER\n"; 
 system("PAUSE"); 
} 
 
 
 
 
AULA 15 
Roteiro da 15
a
 aula 
Referência ao Programa: Elementos Técnicas de construção de algoritmos e programas 
 ESTRUTURA DE REPETIÇÃO 
Objetivo: apresentar estudo de casos 
Desenvolver um programa que : Lê: 
• o nome ou sigla das cidades (para X cidades) e o estado (GO, RS..); 
• o número de veículos de passeio, e o número de acidentes com vítima de 2006. 
Calcula e mostra: 
• o maior e menor índice de acidentes e que cidades; 
• a média de veículos de passeio; 
• a média de acidentes com vítimas entre as cidades do Rio Grande do Sul. 
#include <iostream> 
#include <string> //PARA MANIPULAR STRING 
using namespace std; 
int main() 
{ 
string COD,STATE,CMAIOR,CMENOR; 
long CAR, ACI, MAIOR = -1, MENOR = 100000000, CRS = 0; 
float MEDIA = 0, MFATAL = 0; 
int CONT, X; 
cout<<"Digite a quantidade de cidades"<<endl; 
cin>>X; 
 for (CONT =1;CONT <=X; CONT++) 
 { 
 cout<<"DIGITE A "<<CONT<< "\xA7 CIDADE"<<endl; 
 cin>>COD; 
 cout<<"DIGITE O "<<CONT<<"\xA7 ESTADO"<<endl; 
 
 cin>>STATE; 
 cout<<"NUMERO DE CARROS E ACIDENTES"<<endl; 
 cin>>CAR>>ACI; 
 if (ACI>MAIOR) 
 { 
 MAIOR = ACI; //copia o ACI para o MAIOR 
 CMAIOR=COD; //copia o COD para o CMAIOR 
 } 
 if (ACI<MENOR) 
 { 
 MENOR = ACI; //copia o ACI para o MENOR 
 CMENOR = COD; //copia o COD para o CMENOR 
 } 
 MEDIA = MEDIA + CAR; //acumula o n. carros em media 
 if (STATE=="RS") 
 { 
 MFATAL = MFATAL + ACI; //acumula ACI de RS em MFATAL 
 CRS = CRS + 1; //conta as cidades de RS 
 } 
 } 
MEDIA = MEDIA/X; 
cout<<MFATAL<<" "<<CRS<<endl; 
MFATAL = MFATAL/CRS; 
cout<<"O MAIOR INDICE eh "<<MAIOR<<" NA CIDADE "<<CMAIOR<<endl; 
cout<<"O MENOR INDICE eh "<<MENOR<<" NA CIDADE "<<CMENOR<<endl; 
cout<<"A MEDIA DE CARROS DE PASSEIO eh "<<MEDIA<<endl; 
cout<<"A MEDIA DE ACIDENTES FATAIS no RS eh "<<MFATAL<<endl; 
 system("PAUSE"); } 
 
AULA 16 
Roteiro da 16
a
 aula 
Referência ao Programa: Estrutura de Dados. 
 Variáveis Compostas homogênias 
Objetivo: apresentar VETOR. 
Exemplo 1: Desenvolver um programa que Lê: 
• AS NOTAS DE UMA TURMA 
Calcula e mostra: 
• A MÉDIA DA TURMA; 
• QUANTIDADE DE ALUNOS CUJA NOTA > MÉDIA; 
• A MENOR NOTA; 
Solução com variáveis simples: 
 
Na repetição com variáveis simples a cada nota que é digitada , substitui a anterior, portanto todos 
os calculos que dependem de cada nota tem que ser em executados antes da entrada de uma 
nova nota. Por exemplo, para saber qual a maior, menor etc. Ou para implementar um novo 
cálculo não é possivel pois ja se perdeu a nota anterior. 
Solução com variáveis Composta: 
 
 
#include <iostream> 
using namespace std; 
main ( ) 
{ 
int CONTA = 0 , i ,CDF ; 
float N[59], MEDIA , MENOR ; 
cout << "DIGITE A 1a NOTA: \n "; 
cin>>N[CONTA]; 
while (N[CONTA] != - 1) 
 { 
 MEDIA = MEDIA + N[CONTA] ; 
 CONTA++; 
 cout << "DIGITE A proxima NOTA (-1)para parar: \n "; 
 cin >> N[CONTA]; 
 } 
MEDIA = MEDIA / CONTA ; 
for ( i = 0 ; i < CONTA ; i++ ) 
 { 
 if ( N[ i ] > MEDIA) 
 CDF++; 
 if (N[ i ] < MENOR) 
 MENOR = N[ i ]; 
 } 
cout << "A MEDIA DA TURMA eh: “ << MEDIA <<endl; 
cout<<CDF<< " ALUNO(S)ESTA(O) ACIMA DA MEDIA DA TURMA\n"; 
cout<<MENOR<< " eh A NOTA DO PIOR ALUNO \n"; 
system("PAUSE"); } 
 
 
AULA 17 
Roteiro da 17
a
 aula 
Referência ao Programa: Estrutura de Dados. 
 Variáveis Compostas homogênias 
Objetivo: apresentar VETOR. 
Exemplo 1: 
 
 
SOLUÇÃO 
#include <iostream> 
using namespace std; 
main( ) { 
int VET[ 5 ] , i , N ; 
 for ( i = 0 ; i <= 5 ; i ++ ) { 
 cout << " DIGITE O "<< i + 1 <<" \xA7 numero \n"; 
 cin>>VET[ i ]; 
 } 
 cout<<" DIGITE UM NUMERO: \n"; 
 cin>>N; 
 i = -1; 
 do { 
 i ++; 
 } while ( ( VET[ i ] != N ) && ( i <= 5 ) ); 
 if ( N == VET[ i ] ) 
 cout<<"O No. "<< N <<" ESTA NA POS "<< i << endl; 
 else cout<<"O No. "<< N <<" NAO FOI ENCONTRADO \n"; 
system("PAUSE"); 
} 
 
Exemplo 2: Modificar o programa do exemplo anterior PARA BUSCAR VÁRIOS NÚMEROS 
#include <iostream> 
using namespace std; 
main( ) { 
int VET[ 5 ] , i , N ; 
 for ( i = 0 ; i <= 5 ; i ++ ) { 
 cout << " DIGITE O "<< i + 1 <<" \xA7 numero \n"; 
 cin>>VET[ i ]; 
 } 
 cout<<" DIGITE UM NUMERO: \n"; 
 cin>>N; 
 while (N!= -1) { // verificar vários números 
 i = -1; 
 do { 
 i ++; 
 } while ( ( VET[ i ] != N ) && ( i <= 5 ) ); 
 if ( N == VET[ i ] ) 
 cout<<"O No. "<< N <<" ESTA NA POS "<< i << endl; 
 else cout<<"O No. "<< N <<" NAO FOI ENCONTRADO \n"; 
 cout<<"DIGITE UM NUMERO: ou (-1) pra SAIR \n"; 
 cin >> N; 
 } system("PAUSE"); } 
Exemplo 3: 
 
 
#include <iostream> 
using namespace std; 
main( ) { 
int i ; 
char NOME[15]; 
cout<<"DIGITE UM NOME:\n"; 
cin>>NOME; 
If (NOME[ i ]== 'A') 
 { 
 cout<<"ACHEI \n"; 
 cout<<"A LETRA ("<<'A'<<") Eh a "<<i+1<<"\xA7 LETRA"<<endl; 
 } 
 else 
 cout<<"NaO ACHEI"; 
system("PAUSE"); 
} 
AULA 18 
Avaliação N2 
AULA 19 
Prova substitutiva 
AULA 19 
entrega dos resultados.

Continue navegando