Buscar

Apostila algoritimo

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 51 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 51 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 51 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

1 
 
 
 
 
 
 
Fundamentos de Programação. 
Algoritmos & Linguagem C++ 
 (MII) 
Nome:_______________________________________ Turma:______ 
Elaborado pelos Educadores Voluntários: 
Luiz Claudio de Andrade Junior (luiz.junior@gec.inatel.br) 
Wellington Cássio Faria (wellingtonf@gec.inatel.br) 
Laís Olímpio (lais-olimpio@hotmail.com) 
 
Revisada por: 
Elisa Marinho de Oliveira - Técnica de Telecomunicações (elisa@inatel.br) 
 
 
2 
 
Sumário 
 
Introdução: ............................................................................................................................. 5 
O que é Programação? ....................................................................................................... 5 
O que é um Programa e um Algoritmo? ............................................................................ 5 
Capítulo I ................................................................................................................................. 6 
1- Linguagem de programação C++ ................................................................................. 6 
2- Compilador .................................................................................................................. 6 
3- Ambiente Integrado de Desenvolvimento (IDE) ......................................................... 7 
4- Método para a construção de algoritmos ................................................................... 8 
4.1- Tipos de algoritmos ................................................................................................. 8 
4.1.1- Descrição narrativa ............................................................................................... 8 
4.1.2- Fluxograma ........................................................................................................... 9 
Exercícios de Fluxograma: ............................................................................................ 11 
4.4.3- Pseudo Código ou Portugal ................................................................................ 12 
4.4.3- Indentação .......................................................................................................... 13 
5- Tipos de Dados .......................................................................................................... 14 
5.1- Numéricos ............................................................................................................. 14 
5.2- Lógicos ................................................................................................................... 14 
5.3- Literais ou Caracteres ............................................................................................ 14 
Exercícios de Pseudocódigo: ............................................................................................ 15 
Capítulo II .............................................................................................................................. 16 
1- Conversão Portugol Para C++ .................................................................................... 16 
1.1- Operadores Aritméticos: .................................................................................... 16 
1.2- Operadores Relacionais...................................................................................... 16 
1.3- Operadores Lógicos ............................................................................................ 17 
1.4- Funções de Entrada de Dados ............................................................................ 18 
1.5- Funções Matemáticas ........................................................................................ 19 
Exercícios de funções Matemáticas: ............................................................................ 20 
1.6- Estruturas ........................................................................................................... 20 
1.7- Declaração de Variáveis ..................................................................................... 21 
Exercícios de Implementação C++: ............................................................................... 22 
 
3 
 
Capítulo III ............................................................................................................................. 22 
1. Estrutura Condicional em pseudocódigo .................................................................. 22 
1.1- Estrutura Condicional simples ............................................................................... 22 
1.2- Estrutura condicional composta. .......................................................................... 22 
2. Estrutura condicional em Fluxograma ....................................................................... 23 
2.1- Estrutura condicional simples ............................................................................... 23 
2.2- Estrutura condicional composta ........................................................................... 24 
3. Estrutura condicional em C/C++ ................................................................................ 24 
3.1- Estrutura condicional simples ............................................................................... 24 
3.2- Estrutura condicional composta ........................................................................... 25 
4. Estrutura Case ............................................................................................................ 26 
4.1- Comando em Pseudocódigo. ................................................................................. 26 
4.2- Fluxograma ............................................................................................................ 27 
4.3- Comando em C/C++............................................................................................... 27 
Exercícios de IF/ELSE e Switch Case em C++: ................................................................ 28 
Capítulo IV ............................................................................................................................ 30 
1. Estrutura de Repetição em Algoritmo .......................................................................... 30 
1.1- Estrutura de Repetição para número definido de repetições (Estrutura PARA) .. 30 
1.2- Estrutura de Repetição para número indefinido de repetições e teste no início 
(Estrutura ENQUANTO) ................................................................................................ 32 
1.3 Estrutura de repetição para número indefinido de repetições e teste no final 
(Estrutura REPITA) ........................................................................................................ 34 
Exercícios de Estruturas de Repetição ......................................................................... 36 
Capítulo V ............................................................................................................................. 38 
1.1- Declaração de vetor ............................................................................................... 38 
1.2- Atribuindo valores ao vetor ................................................................................... 38 
1.3- Preenchendo um vetor .......................................................................................... 39 
1.4- Mostrando os elementos do vetor ........................................................................ 40 
1.5- Vetor em C++ ......................................................................................................... 40 
1.5.1- Declaração de vetor ........................................................................................... 41 
1.5.2- Atribuindovalores ao vetor ............................................................................... 41 
1.5.3- Preenchendo um vetor....................................................................................... 42 
1.5.4- Mostrando os elementos do vetor..................................................................... 42 
 
4 
 
Exercícios de Vetor: ...................................................................................................... 43 
Sub-Rotinas ou Funções ....................................................................................................... 44 
1. Exemplo em Pseudocódigo: ......................................................................................... 44 
2. Exemplo em Fluxograma: ............................................................................................. 44 
3. Exemplo em C++ ........................................................................................................... 45 
3.1. Como criar e utilizar uma função?......................................................................... 45 
3.2. Funções que retornam valores .................................................................................. 46 
3.3. Funções com argumentos ......................................................................................... 47 
4. Variáveis globais e locais .............................................................................................. 48 
4.1. Variáveis Locais ...................................................................................................... 48 
4.2. Variáveis Globais ................................................................................................ 48 
Exercícios de Funções: .................................................................................................. 50 
Bibliografia ............................................................................................................................ 51 
 
 
 
 
 
 
 
 
 
 
 
 
5 
 
Introdução: 
 
O que é Programação? 
 
Programação é o processo de escrita, teste e manutenção de um programa de 
computador. O programa é escrito em uma linguagem de programação, embora seja 
possível, com alguma dificuldade, escrevê-lo diretamente em linguagem de máquina. 
Não pensei que somente os computadores pessoais (Desktop e Laptops) são 
computadores. Computador é qualquer dispositivo eletrônico capaz de tratamento 
automaticamente informações ou 
processamento de dados. 
Assumiu-se que os computadores 
pessoais e laptops são ícones da Era da 
Informação; e isto é o que muitas 
pessoas consideram como "computador". 
Entretanto, atualmente as formas mais 
comuns de computador em uso são os 
sistemas embarcados, pequenos 
dispositivos usados para controlar outros 
dispositivos, como robôs, câmeras 
digitais, brinquedos e celulares. 
 
O que é um Programa e 
um Algoritmo? 
 
Um algoritmo é uma sequência de 
passos para realizar uma tarefa ou 
resolver um problema. Em nosso dia a dia 
utilizamos algoritmos para realizar nossas 
atividades, definindo a sequência de 
atividades que devemos fazer para atingir um objetivo. 
Um algoritmo é, num certo sentido, um programa abstrato, já um programa é um 
algoritmo concretizado. Os programas são uma coleção de algoritmos menores que 
combinados dando origem ao programa. Podemos considerar uma casa como exemplo, a 
casa é um programa e o tijolo, telhado e janelas são algoritmos que constroem a casa. 
 
 
 
Pequeno programa na 
linguagem de 
programação C . 
 
6 
 
Capí tulo I 
 
O conceito de algoritmo é frequentemente ilustrado pelo exemplo de uma receita 
culinária, embora muitos algoritmos sejam mais complexos. Eles podem repetir passos ou 
necessitar de tomadas de decisões até que a tarefa seja completada. 
Um algoritmo não representa, necessariamente, um programa de computador, e 
sim os passos necessários para realizar uma tarefa. Por exemplo, um algoritmo para se 
calçar sapato pode especificar que você vista primeiro as meias e depois os sapatos e 
amarre-os. 
Nesse capitulo estudaremos os métodos para construção de algoritmos como PORTUGOL 
e FLUXOGRAMA e posteriormente iremos implementar esses algoritmos no computador, 
traduzindo os algoritmos para a linguagem de programação C++. 
 
 
1- Linguagem de programação C++ 
 
A linguagem de programação C++ é sinônimo de desenvolvimento robusto em 
sistemas que exijam suporte a alta complexidade em algoritmos computacionais. 
O C++ toca a linha tênue entre a camada de hardware e a camada de software, 
podendo trabalhar tanto no mais baixo até o mais alto nível, construindo sistemas dos 
mais variados tipos e aplicações. 
Construída nos anos 80 pelo cientista em computação “Bjarne Stroustrup“ nos 
laboratórios da Bell, a linguagem é uma espécie de upgrade da linguagem “C” com todo o 
suporte a POO (Programação Orientada a Objeto). 
Esta linguagem tão conhecida por desenvolvedores do mundo todo, suporta 
basicamente tudo o que a linguagem “C” oferece, tendo ainda suporte a orientação a 
objetos, herança, polimorfismo, dados genéricos, abstração, exceções etc. 
A linguagem ainda conta com uma biblioteca padrão constituída de 
funcionalidades que vão desde a manipulação de conjunto de caracteres (std::string), 
passando por manipulação de arquivos(std::fstream) até a manipulação de algoritmos 
matemáticos complexos, dando também suporte a toda biblioteca padrão “C”. 
Outro ponto forte da linguagem é a portabilidade, sistemas ou aplicações 
desenvolvidas em C++ são portáveis para outras plataformas. 
 
2- Compilador 
 
Um compilador é um programa de computador que, a partir de um código 
fonte escrito em uma linguagem, cria um programa semanticamente equivalente, porém 
escrito em outra linguagem. 
 
7 
 
 O compilador é usado principalmente para os programas que traduzem o código 
fonte de uma linguagem de programação de alto nível (Linguagem C++) para 
uma linguagem de programação de baixo nível (código de máquina). 
Os computadores só são capazes de “entender” o código de máquina que são 
instruções que são representadas por sequências de bits. Esse código é chamado de 
código binário. São formados por 0 e 1. 
 
3- Ambiente Integrado de Desenvolvimento (IDE) 
 
 IDE é um programa 
de computador que reúne 
características e ferramentas 
de apoio ao desenvolvimento 
de software com o objetivo de 
agilizar este processo. As 
características e ferramentas 
mais comuns encontradas 
nos IDEs são: 
 Editor - edita 
o código-fonte do 
programa escrito 
na(s) linguagem(ns) 
suportada(s) pela 
IDE; 
 Compilador (compil
er) - compila o 
código-fonte do 
programa, editado 
em uma linguagem específica e a transforma em linguagem de máquina; 
 Depurador (debugger) - auxilia no processo de encontrar e corrigir defeitos no código-
fonte do programa, na tentativa de aprimorar a qualidade de software; 
 Refatoração (refactoring) - consiste na melhoria constante do código-fonte do software, 
seja na construção de código mais otimizado, mais limpo e/ou com melhor entendimento 
pelos envolvidos no desenvolvimento do software. A refatoração, em conjunto com os 
testes automatizados, é uma poderosa ferramenta no processo de erradicação de "bugs", 
tendo em vista que os testes "garantem" o mesmo comportamento externo do software ou 
da característica sendo reconstruída. 
 
A IDE que utilizaremos será o Code::Blocks que é voltado para o desenvolvimento 
em C/C++ 
 
 
8 
 
4- Método para a construção de algoritmos 
 
Para a Construção de qualquer tipo de algoritmo, é necessário seguir estes passos: 
 
a) Compreender complemente o problema a ser resolvido, destacandoos pontos 
mais importantes e os objetos que o compões. 
 
b) Definir os dados de entrada, ou seja, quais dados serão fornecidos e quais objetos 
fazem parte desse cenário-problema. 
 
c) Definir o processamento, ou seja, quais cálculos serão efetuados e quais as 
restrições para esses cálculos. O processamento é responsável pela transformação 
dos dados de entrada em dados de saída. Além disso, deve se verificar quais 
objetos são responsáveis pelas atividades. 
 
d) Definir os dados de saída, ou seja, quais dados serão gerados depois do 
processamento. 
 
e) Construir o algoritmo utilizando um dos tipos descritos na próxima seção. 
 
f) Testar o algoritmo realizando simulações. 
 
 
 
4.1- Tipos de algoritmos 
 
Os três tipos mais utilizados de algoritmo são: descrição narrativa, fluxograma e 
pseudocódigo ou portugol, que descrevemos a seguir. 
 
4.1.1- Descrição narrativa 
 
A descrição narrativa consiste em analisar o enunciado do problema e escrever, 
utilizando uma linguagem natural (por exemplo, a língua portuguesa), os passos a serem 
seguidos para sua resolução. 
 
Vantagem: não é necessário aprender nenhum conceito novo, pois uma língua natural, 
neste ponto, já é bem conhecida. 
 
Desvantagem: a língua natural abre espaço para várias interpretações, o que 
posteriormente dificultará a transcrição desse algoritmo para programa. 
 
9 
 
 
Exemplo: 
 
1 - Um algoritmo para se calçar sapato 
 
1° Pegar sapatos. 
2° Pegar meia. 
3° Vista as meias. 
4° Calce os sapatos. 
5° Amarre os sapatos. 
 
1 – Algoritmo, arrumar para ir à uma festa. 
 
1° Pegar Toalha. 
2° Tomar banho. 
3°Escolher roupa. 
4°Pegar roupa. 
5°Vestir a roupa. 
6°Pentear cabelo. 
7°Calçar sapatos. 
8°Dar tchau para a mãe. 
9°Ir para festa. 
 
 
4.1.2- Fluxograma 
 
O fluxograma consiste em analisar o enunciado do problema e escrever, utilizando 
símbolos gráficos pré definidos, os passos a serem seguidos para sua resolução. 
 
Vantagem: o entendimento de elementos gráficos é mais simples que o entendimento de 
textos. 
 
Desvantagem: é necessário aprender a simbologia dos fluxogramas e, além disso, o 
algoritmo resultante não apresenta muitos detalhes, dificultando sua transcrição para um 
programa. 
 
 
10 
 
 
 
Exemplo 
 
1 - Um algoritmo para se calçar sapato 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Inicio Pegar sapatos 
 
 Vista a meia 
Pegar meia 
 
Calce os sapatos 
Amarre os Sapatos 
Fim 
 
11 
 
2 - Algoritmo, arrumar para ir a uma festa. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exercícios de Fluxograma: 
 
1. Faça um fluxograma para entrar no Facebook. 
2. Faça um fluxograma para escovar os dentes. 
3. Faça um fluxograma que mostre o resultado da multiplicação de dois números. 
4. Faça um fluxograma para mostar a divisão de dois números. 
5. Faça um fluxograma para calcular a média aritmética entre duas notas de um 
aluno e mostre sua situação, que pode ser aprovado(media>=60) ou 
reprovado(média<60). 
6. Faça um fluxograma para calcular o novo salário de um funcionário. Sabe-se que os 
funcionários que recebem atualmente até R$500,00 terão um aumento de 20%; os 
demais terão aumento 10%. 
7. Faça um fluxograma que receba quatro notas de um alun, calcule e mostre a media 
aritmética das notas e a mensagem de aprovado ou reprovado, considerando para 
a aprovação média 7. 
8. *Faça um fluxograma que receba três números e execute as operações listadas a 
seguir, de acordo com a escolha do usuário. 
Inicio Pegar Toalha 
 
Tomar Banho 
 
Escolher Roupa Pegar roupa 
 
Vestir Roupa 
 
Pentear Cabelo 
Calçar 
sapatos 
Dar tchau para a 
mãe 
Ir para festa. 
Fim 
 
12 
 
 
 
 
 
 
 
 
 
4.4.3- Pseudo Código ou Portugal 
 
 O pseudocódigo ou portugol consiste em analisar o enunciado do problema 
e escrever, por meio de regras predefinidas, os passos a serem seguidos para sua 
resolução. 
 
Vantagem: a passagem do algoritmo para qualquer linguagem de programação é 
quase imediata, bastando conhecer as palavras reservas dessa linguagem que serão 
utilizadas. 
 
Desvantagem: é necessário aprender as regras do pseudocódigo. 
Exemplo 
 
1 - Um algoritmo para se calçar sapato. 
 
ALGORITMO_SAPATO 
INICIO 
 
DECLARE meia, sapato, amarra_sapato literal; 
 
//entrada de dados 
 
ESCREVA “Pegar meia e sapato”; 
LEIA meia, sapato; 
 
//Processamento 
 
amarra_sapato = meia + sapato; 
 
//Saída_de_Dados 
 
ESCREVA “Sapatos calçados; 
 
FIM 
Escolha do Usuário Operações 
1 Média entre os dois números 
2 Subtrair o primeiro do segundo 
3 Produto dos dois números 
4 Divisão do Primeiro pelo Segundo 
 
13 
 
 
 
1 - Um algoritmo que some dois números 
 
ALGORITMO_SOMA 
INICIO 
DECLARE N1,N2,S NUMERICO; 
ESCREVA “Digite dois números”; 
LEIA N1,N2; 
S=N1+N2; 
ESCREVA “A soma é: “, s; 
 FIM 
 
 
4.4.3- Indentação 
 
É um termo aplicado ao código fonte de um programa para ressaltar a hierarquia 
entre os elementos. Na maioria das linguagens a indentação tem um papel meramente 
estético, tornando a leitura do código fonte muito mais fácil. A indentação facilita 
também a modificação, seja para correção ou aprimoramento, do código fonte. 
Existem centenas de estilos de indentação, mas, basicamente, consiste na adição de 
tabulações (Espaço) no início de cada linha na quantidade equivalente ao número de 
blocos em que cada linha está contida. 
 
 
 
 
 
14 
 
5- Tipos de Dados 
 
 Os tipos de dados mais utilizados são: numérico, lógico e literais/caracteres, que 
descrevemos a seguir. 
 
5.1- Numéricos 
 
 Os dados numéricos dividem se em dois grupos: inteiros e reais. 
 
 Os números inteiros pode ser positivo ou negativos e não possuem parte 
fracionária. 
 
Exemplo 
 
-23 98 0 -357 237 -2. 
 
Os números reais podem ser positivos ou negativos e possuem parte fracionária. 
 
Exemplo 
 
23. 45 346. 89 -34. 88 0. 0 -247. 0 
 
5.2- Lógicos 
 
 São também chamados dados booleanos e podem assumir os valores verdadeiro 
ou falso. 
 
5.3- Literais ou Caracteres 
 
 São dados formados por um único caracter ou por uma cadeia de caracteres. Esses 
caracteres podem ser as letras maiúsculas, as letras minúsculas, os números(não podem 
ser usados para cálculos) e os caracteres especiais (&, #, @, ?, +). 
Exemplo: 
 
'aluno' 
'1234' 
'@ internet' 
'0.34' 
'1 + 2' 
 
15 
 
Exercícios de Pseudocódigo: 
 
1. Faça um programa que receba 4 números inteiros, calcule e mostre a soma desses 
numeros. 
2. Faça um programa que receba três notas, calcule a e mostre a mérdia aritmética 
entre elas. 
3. Faça um programa que receba o sálario de um funcionário, calcule e mostre o 
novo sálario, sabendo-se que este sofreu um aumento de 25%. 
4. Faça um programa que receba o sálario de um funcionário e o percetual de 
aumento, calcule e mostre o valor do aumento e novo sálario. 
5. Faça um programa que calcule e mostre a área de um triângulo. Sabe-se que: 
Área=(base*altura)/2. 
6. Faça um programa que receba uma medida em pés, faça as conversões a seguir e 
mostre os resultados. 
 1 pé = 12 polegadas 
 1 jarda = 3 pés 
 1 milha = 1760 jardas 
Faça um programa que receba uma medida em pés, faça as conversões e mostre 
os resultados em polegadas, jardas e milhas. 
7. Faça um programa para resolver equação do 2º grau. 
 
Equação: aX²+bX+c 
 
 
8. Faça um programa que calcule e mostre a área de um círculo. Sabe-se que: 
 
9. O custo ao consumidor de um carro novo é a soma do preço de fábrica 
com o percentual de lucro do distribuidor e dos impostos aplicados ao preço 
de fábrica. Faça um programaque receba o preço de fábrica de um veículo, 
o percentual de lucro do distribuidor e o percentual de impostos. Calcule e 
mostre: 
a. O valor correspondente ao lucro do distribuidor 
b. O valor correspondente aos impostos. 
c. O preço final do veículo. 
 
 
16 
 
Capí tulo II 
 
 Nesse capítulo vamos implementar os exercícios do capítulo anterior convertendo 
o Portugol para Linguagem C++. Utilizaremos a IDE “Code::Blocks” para transformará 
nossos programas em C++ em Código de Máquina. 
1- Conversão Portugol Para C++ 
1.1- Operadores Aritméticos: 
Operação C++ Exemplo Valor de X? 
Igualdade e Atribuição = X=10 
Soma + X=5+5 
Subtração - x=5-4 
Multiplicação * x=4*3 
Divisão / x=8/2 
Módulo (Resto da Divisão) % x=11%2 
Parentes ( ) X=(5*2+10)+6-1*2 
Prioridades: 1º Parentes, 2º Multiplicação e Divisão, 3º Soma e Subtração 
1.2- Operadores Relacionais 
 
Operador C++ Exemplo Valor de Z e Y? 
Maior > 
A=15; 
Z=A>10; 
Y=20>A; 
 
Maior ou igual >= 
A=10; 
Z=A>=10; 
Y=A>=2; 
 
Menor < 
A= -10; 
Z=A<0; 
Y= -100<A; 
 
Menor ou Igual <= 
A=5; 
Z= A<=3; 
Y= A<=2; 
 
Igual == 
A=5; 
B=5; 
Z=A==B; 
Y=A==2; 
 
Diferente != 
A=5; 
B=5; 
Z=A!=B; 
Y=A!=2; 
 
 
17 
 
 
1.3- Operadores Lógicos 
Operador C++ Exemplo Valor de Z? 
E 
V e V = V 
V e F = F 
F e V = F 
F e F= F 
&& 
X=10 
Y=5 
Z= (X>=Y)&&(Y==5) 
 
 
OU 
V e V = V 
V e F = V 
F e V = V 
F e F= F 
|| 
A= ‘s’; 
B= ‘n’; 
Z=(A!=‘s’)||(B== ‘n’) 
 
NÃO 
 
! 
X=10; 
Z=!(X!=10) 
 
 
 
Macete: ARNEOU 
 
A - 1º Prioridade Aritmético 
R - 2º Prioridade Relacional 
N - 3º Prioridade Não 
E- 4º Prioridade E 
OU- 5º Prioridade OU 
 
Z=10>=5&&5==2||5+2*2<(4+1)*2 = _____________ 
 
 
 
 
 
 
 
 
 
18 
 
1.4- Funções de Entrada de Dados 
 
 
 
Portugol C++ Biblioteca 
LEIA (Caracteres e 
Números) 
cin>> 
 
cin >>variável; 
 
#include <iostream> 
using namespace std; 
 
LEIA (String) 
 
cin.getline(variável); 
 
char nome[10]; 
cout << "Digite um nome: "; 
cin.getline(nome); 
 
#include <iostream> 
using namespace std; 
 
ESCREVA 
cout<< 
 
X=10; 
cout << "O valor de X=" << X; 
 
#include <iostream> 
using namespace std; 
 
 
CARACTER é uma letra ou símbolo, por exemplo: A, B, $, C, A etc. Já uma STRING é 
conjunto de CARACTERES, por exemplo, um nome: MARIA é uma STRING com 5 
CARACTERES. 
Exemplo: 
 
 
#include <iostream> 
using namespace std; 
 
char nome[10]; //Nome com 10 Caracteres 
int idade; 
 
 
 
int main() 
{ 
 cout << "Entre com nome: “; 
 cin.getline(nome); 
 
 cout << "Entre com a Idade:"; 
 cin>>idade; 
 
 cout <<nome<<” tem “<<idade<<” anos”; 
 
19 
 
 system("PAUSE"); 
 return 0; 
} 
1.5- Funções Matemáticas 
 
 
 C++ / Portugol Biblioteca 
|x| 
Módulo 
abs(x) 
 
#include <cmath> 
 
 
Cosseno 
cos(x) 
#include <cmath> 
 
 
Seno 
sin(x) 
#include <cmath> 
 
 
Tangente 
tan(x) #include <cmath> 
 
Exponencial 
exp(x) 
#include <cmath> 
 
 
Log neperiano/natural/base e 
log(x) 
#include <cmath> 
 
 
Log na base 10 
log10(x) 
#include <cmath> 
 
 
Potenciação 
pow(2, 3) 
pow(base, expoente) 
#include <cmath> 
 
√ 
 
 
Raiz Quadrada 
sqrt(49) 
sqrt(Radicando) 
Índice=2 
#include <cmath> 
 
 
Arredondamento para 
Baixo. 
floor(x) 
 
#include <cmath> 
 
Arredondamento para 
Cima. 
ceil(x); 
 
#include <cmath> 
 
 
20 
 
 
 
Exercícios de funções Matemáticas: 
 
1) Implemente em C++ as expressões abaixo: 
 
b) 
 
 
c) 
 √ 
 
 
 
 
d) ( ) 
 
1.6- Estruturas 
PORTUGOL C/ C++ 
 
ALGORITMO_NomeDoAlgoritmo 
INICIO 
 comandos; 
FIM 
 
int main(void) 
{ 
 cout<< “Estrutura Básica!”; 
} 
SE(condição) 
 
INICIO 
 comandos; 
FIM 
 
 
if(condição) 
{ 
 cout<< “Entra se condição for verdadeira!”; 
} 
 
SE(condição) 
INICIO 
 comandos; 
FIM SENÃO 
INICIO 
 comandos; 
FIM 
 
 
If(condição) 
{ 
 cout<< “Entra se condição for verdadeira!”; 
}else 
{ 
 cout<< “Entra se condição for Falsa!”; 
} 
 
21 
 
ENQUANTO condição FAÇA 
INICIO 
 comandos; 
FIM 
while(condição) 
{ 
 cout<< “Repita até condição FALSA!”; 
} 
PARA i=n ATÉ m FAÇA 
INICIO 
 comandos; 
FIM 
for(i=n;n<=m;n++) 
{ 
 cout<< “Repita até n=m!”; 
} 
REPITA 
 comandos; 
ATÉ condição; 
do 
{ 
 cout<< “Repita até condição VERDADEIRA!”; 
}while(condição); 
ESCOLHA(variável) 
INICIO 
 CASO valor1: comando1; 
 CASO valor2: comando1; 
 ... 
 CASO valor12: comando12; 
 CASO CONTÁRIO: comando13; 
FIM 
 
switch(variável) 
{ 
 case valor1: cout<<“Executa quando 
variável = valor2”; 
 break; 
 
 case valor2: cout<<“Executa quando 
variável = valor2”; 
 break; 
 
... 
 
 case valor12: cout<<“Executa quando 
variável = valor12”; 
 break; 
 
 default: cout<<“Executa no quando 
variável != de valor1, valor2,..., valor12”; 
 
} 
1.7- Declaração de Variáveis 
 
Portugol C++ / C 
 
DECLARE a,b NUMERICO; 
 
int a; //Números inteiros 
float b; //Números Fracionários 
 
DECLARE nome,sexo LITERAL; 
 
char nome[10]; //String com 10 Carácteres 
char sexo; //(M ou F) Carácter 
 
22 
 
 
DECLARE a LOGICO 
boolean a; 
 
 Exercícios de Implementação C++: 
1) Implemente em C++ os Exercícios de Pseudocódigo do Capitulo I 
 
Capítulo III 
1. Estrutura Condicional em pseudocódigo 
 
1.1- Estrutura Condicional simples 
 
 SE (condição) 
 ENTÃO comandos 
 
O comando só será executado se a condição for verdadeira. Uma condição é uma 
comparação que possui dois valores possíveis: verdadeiro ou falso. 
 
 SE (condição) 
 ENTÃO INÍCIO 
 comando1; 
 comando2; 
 comando3; 
FIM 
 
Os comandos 1, 2 e 3 só serão executados se a condição for verdadeira. As palavras INÍCIO 
e FIM serão necessária apenas quando dois ou mais comando forem executados. 
1.2- Estrutura condicional composta. 
 
 SE (Condição) 
 ENTÃO INÍCIO 
 comando1; 
 comando2; 
 FIM 
 SENÃO INÍCIO 
 comando3; 
 comando4; 
 FIM 
 
23 
 
 
Se a condição for verdadeira, o comando1 e o coomano2 serão executados; caso 
contrário, o comando 3 e o comando4 serão executados 
 
2. Estrutura condicional em Fluxograma 
 
2.1- Estrutura condicional simples 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INICIO 
SE 
F 
V 
COMANDO1 
COMANDO2 
COMANDO3 
CONTINUA 
PROGRAMA 
FIM 
 
24 
 
2.2- Estrutura condicional composta 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3. Estrutura condicional em C/C++ 
 
3.1- Estrutura condicional simples 
 
 if (condição) 
 comando; 
 
O comando só sera executados se a condição for verdadeira. Uma condição é uma 
comparação que possui dois valores possíveis: verdadeiro ou falso. 
 
 If (condição) 
 { 
 comando1; 
 comando2; 
 comando3; 
 } 
Em C/C++ torna-se obrigatória a utilização de chaves quando existe mais e um comando a 
executar. Os comandos etre chaves { } só serão executados se a condição for verdadeira. 
 
 
INICIO 
SE 
SENÃO 
COMANDO1 
COMANDO2 
 
V 
COMANDO3 
COMANDO4 
F 
CONTINUA O 
PRORAMA FIM 
 
25 
 
3.2- Estrutura condicional composta 
 
 if (condição) 
 comando1; 
 elses 
 comando2; 
 
Se a condição for verdadeira, será executado o comando1; sefor falsa, será executado o 
comando2. 
 
Exemplo 1: 
 
 If (condição) 
 { 
 comando1; 
 comando2; 
 } 
 else 
 { 
 comando3; 
 comando4; 
 } 
 
Exemplo 2: 
 
 If (condição1) 
 { 
 comando1; 
 comando2; 
 
 If (condição2) 
 { 
 comando5; 
 comando6; 
 } 
 
 } 
 else if 
 { 
 comando3; 
 comando4; 
 } 
 else 
 
26 
 
 { 
 comando7; 
 comando8; 
 } 
 
Se a condição fo verdadeira, o comando1 e o comando2 serão executados; caso 
contrário, o comando e o comando4 serão executados. 
 
 
4. Estrutura Case 
 
 Em alguns programas, existem situações mutuamente exclusivas, isto é, se uma 
situação for executada, as demais não serão. Esse comando em C/C++ tem a seguinte 
sintaxe: 
 
4.1- Comando em Pseudocódigo. 
 
ESCOLHA (Variável) 
 { 
 CASO valor1: lista de comandos; 
 break; 
 CASO valor2: lista de comandos; 
 break; 
 ….. 
 CASO CONTRARIO: lista de comanos; 
 } 
 
 
 
 
 
 
 
 
 
 
 
 
 
27 
 
4.2- Fluxograma 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4.3- Comando em C/C++ 
 
 switch (Variável) 
 { 
 case valor1: lista de comandos; 
 break; 
 case valor2: lista de comandos; 
 break; 
 ….. 
 default: lista de comanos; 
 } 
INICIO 
CASE 1 COMANDO1 
COMANDO2 
V 
CASE 2 
V 
COMANDO3 
COMANDO4 
V 
CASE 2 
COMANDO3 
COMANDO4 
CASO NÂO 
EXITE 
FIM 
 
28 
 
 
O comando switch (variável) avalia o valor de uma variável para decidir qual case 
será executado. Cada case está associado a UM possível valor da variável, que deve ser, 
obrigatoriamente, do tipo char, unsigned char, int, unsigned int, short int, long ou 
unsigned long. 
 
O comando break deve ser utilizado para impedir a execução dos comandos 
definidos nos cases, será executado então o default. 
 
Exemplo: 
 #include <iostream.h> 
 #include <conio.h> 
 
 void main () 
 { 
 int i; 
 clrscr (); 
 cout<<”Digite um número”; 
 cin>>i 
 
 switch(i) 
 { 
 case 1:cout<<”Número 100”; 
 break; 
 case 2:cout<<”Número 200”; 
 break; 
 default:cout<<”Número diferente de 1 e 2”; 
 } 
 getch(); 
 } 
 
Exercícios de IF/ELSE e Switch Case em C++: 
 
1) Faça um programa que receba dois números inteiros, digitados pelo usuário e 
mostre o maior e o menor número digitado. 
2) Tendo como dados de entrada a altura e o sexo de uma pessoa (M masculino e F 
feminino), construa um algoritmo que calcule seu peso ideal, utilizando as 
seguintes fórmulas: 
 
- para homens: (72.7*h)-58 
- para mulheres: (62.1*h)-44.7 
 
29 
 
3) Faça um algoritmo que leia um nº inteiro e mostre uma mensagem indicando se 
este número é par ou ímpar, e se é positivo ou negativo. 
4) Faça um Programa que peça um valor e mostre na tela se o valor é positivo ou 
negativo. 
5) Faça um Programa que verifique se uma letra digitada é vogal ou consoante. 
6) Faça um programa para a leitura de duas notas parciais de um aluno. O programa 
deve calcular a média alcançada por aluno e apresentar: 
 A mensagem "Aprovado", se a média alcançada for maior ou igual a sete; 
 A mensagem "Reprovado", se a média for menor do que sete; 
 A mensagem "Aprovado com Distinção", se a média for igual a dez. 
7) Faça um Programa que leia três números e mostre-os em ordem decrescente. 
8) Faça um Programa que pergunte em que turno você estuda. Peça para digitar M-
matutino ou V-Vespertino ou N- Noturno. Imprima a mensagem "Bom Dia!", "Boa 
Tarde!" ou "Boa Noite!" ou "Valor Inválido!", conforme o caso. 
 
 
 
 
 
 
 
 
 
 
 
9) Um banco concederá um crédito especial aos seus clientes, variável com o saldo 
médio no último ano. Faça um algoritmo que leia o saldo médio de um cliente e 
calcule o valor do crédito de acordo com a tabela abaixo. Mostre uma mensagem 
informando o saldo médio e o valor do crédito. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Saldo médio Percentual 
de 0 a 200 nenhum crédito 
de 201 a 400 20% do valor do saldo médio 
de 401 a 600 30% do valor do saldo médio 
acima de 601 40% do valor do saldo médio 
 
30 
 
Capítulo IV 
 
Estrutura de repetição, na ciência da computação, é uma estrutura que realiza e/ou repete 
diferentes algoritmos/ações dependendo se uma condição é verdadeira ou falsa. 
 
1. Estrutura de Repetição em Algoritmo 
 
 Uma estrutura de repetição é utilizada quando um trecho do programa ou até 
mesmo o algoritmo inteiro precisa ser repetido. O número de repetições pode ser fixo ou 
estar atrelado a uma condição. Assim, existem estruturas para tais situações, descritas a 
seguir. 
 
1.1- Estrutura de Repetição para número definido de repetições 
(Estrutura PARA) 
 
 Essa Estrutura de repetição é utilizada quando se sabe o número de vezes que um 
trecho do algoritmo deve ser repetido. O formato geral dessa estrutura é: 
 
 PARA I < 1Valor inicial ATÉ valor final FAÇA [PASSO N] 
 INICIO 
 comando1; 
 comando2; 
 …; 
 comandoM; 
 FIM 
 
 O comando1, o comando2 e o comandoM serão executados utilizando-se a 
variável I como controle, e seu conteúdo vai variar do valor inicial até valor final. A 
informação do PASSO está entre colchetes porque é opcional. O PASSO indica como será a 
variável de controle. Por exemplo, quando for indicado PASSO 2, a variável de controle 
será aumentada em 2 unidades a cada interação até atingir o valor final. Quando a 
informação do PASSO for suprimida,isso significa que o incremento ou o decremento da 
variável de controle será de 1 unidade. 
 Quando houver apenas um comando a ser repetido, os marcadores de bloco 
INÍCIO e FIM poderão ser suprimidos. 
 
Exemplos: 
 
 PARA I < 1 ATÉ 10 FAÇA; 
 ESCREVA I; 
 
 
31 
 
 O comando ESCREVA I será executado dez vezes, ou seja, para I variando de 1 a 10. 
Assim, os valores de I serão 1, 2, 3, 4, 5, 6, 7, 8, 9 e 10. 
 
 PARA J < 1 ATÉ 9 FAÇA PASSO 2; 
 ESCREVA J; 
 
 O comando ESCREVA J será executado cinco vezes, ou seja para J variando de 1 a 
10, de 2 em 2. Assim, os valores de J serão: 1, 3, 5, 7 e 9. 
 
 PARA I < 10 ATÉ 5 FAÇA; 
 ESCREVA I; 
 
 O comando ESCREVA I será executado seis vezes, ou seja, para I variando de 10 a 5. 
Assim, os valores de I serão: 10, 9, 8, 7, 6 e 5. 
 
 PARA J < 15 ATÉ 1 FAÇA PASSO -2 
 ESCREVA J; 
 
 O comando ESCREVA J será executado oito vezes, ou seja, para J variando de 15 a 
1, de 2 em 2. Assim, os valores de J serão: 15, 13, 11, 9, 7, 5, 3 e 1. 
 
Exemplo em C++ da Estrutura FOR(Para): 
No exemplo, faremos um programa que contará de 1 a 100: 
 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main (void) 
{ 
int x; 
for (x=1; x<=100; x++) 
{ 
cout << x <<"\t"; 
} 
system ("pause"); 
return 0; 
} 
 
 
 
 
32 
 
1.2- Estrutura de Repetição para número indefinido de repetições e teste 
no início (Estrutura ENQUANTO) 
 
 Essa estrutura de repetição é utilizada quando não se sabe o número de vezes que 
um trecho do algoritmo deve ser repetido, embora também possa ser utilizada quando se 
conhece esse número. 
 Essa estrutura baseia-se na análise de uma condição. A repetição será feita 
enquanto a condição mostrar-se verdadeira. 
 Existem situações em que o teste condicional da estrutura de repetição, que fica 
no início, resulta em um valor falso logo na primeira comparação. Nesses casos, os 
comandos de dentro da estrutura de repetição não serão executados. 
 
 ENQUANTO condição FAÇA 
 comando1; 
 
Enquanto a condição for verdeira, o comando1 será executado. 
 
 ENQUANTO condição FAÇA 
 INICIO 
 comando1; 
 comando2; 
 comando3; 
 FIM 
 
Enquanto a condição for verdadeira, o comando1, o comando2 e o comando3 
serão executados. 
 
Exemplos: 
 
X <1; 
Y < 2; 
ENQUANTO X<Y FAÇA 
INÍCIO 
X < X + 2; 
Y < Y + 1; 
FIM 
 
 
Simulação: 
 
X Y 
1 5 Valores iniciais 
 
 
33 
 
3 6 Valores obtidos dentro da estrutura de repetição 
5 7 
7 8 
9 9 
 
 No trecho do algoritmo anterior, portanto, os comandos que estão dentro da 
estrutura de repetição serão repetidos quatro vezes. 
 
X < 1; 
Y < 2; 
ENQUANTO X <= Y FAÇA 
INÍCIO 
X < X * 2; 
Y < Y + 1; 
FIM 
 
Simulação: 
 
X Y 
1 1 Valores iniciais 
 
1 2 Valores obtidos dentro da estrutura de repetição 
2 3 
6 4 
24 5 
120 6 
 
 No trecho do algoritmo anterior, portanto, os comandos que se localizam na 
estrutura de repetição serão repetidos cinco vezes. Nesses exemplo, a estrutura 
ENQUANTO é utilizada para repetir o trecho do algoritmo um número definido de vezes 
 
Exemplo de C++: 
No exemplo são mostrados os números pares entre 0 e 100. 
 
 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main (void) 
{ 
int par=0; 
cout <<"Os numeros pares de 0 a 100 sao:\n\n"; 
 
 
 
34 
 
while (par<=100) 
{ 
cout <<par<<"\t"; 
par+=2; //o mesmo que par=par+2 
} 
 
system ("pause"); 
return 0; 
} 
 
1.3 Estrutura de repetição para número indefinido de repetições e teste 
no final (Estrutura REPITA) 
 
 Essa estrutura de repetição é utilizada quando não se sabe o número e vezes que 
um trecho do algoritmo deve ser repetido, embora também possa ser utilizada quando se 
conhece esse número. 
Essa estrutura baseia-se na análise de uma condição. A repetição será feita até a condição 
tornar-se verdadeira. 
A diferença entre a estrutura ENQUANTO e a estrutura REPITA é que nesta última os 
comandos serão repetidos pelo menos uma vez, já que a condição de parada se encontra 
no final. 
REPITA 
Comandos; 
ATÉ (condição) 
 
Repita os comandos até a condição se tornar verdadeira. 
Exemplos: 
 
X < 1; 
Y < 5; 
REPITA 
X < X + 2; 
Y < Y + 1; 
 
Simulação: 
 
X Y 
1 5 Valores iniciais 
 
3 6 Valores obtidos dentro da estrutura de repetição 
5 7 
7 8 
9 9 
 
35 
 
 
No trecho do algoritmo anterior, portanto, os comandos de dentro da estrutura de 
repetição serão repetidos quatro vezes. 
 
X < 1; 
Y < 5; 
REPITA 
Y < X * Y; 
X < X + 1; 
ATÉ X = 6; 
 
Simulação: 
 
X Y 
1 1 Valores iniciais 
 
1 2 Valores obtidos dentro da estrutura de repetição 
2 3 
6 4 
24 5 
120 6 
 
 No trecho do algoritmo anterior, portanto, os comandos que se localizam dentro 
da estrutura de repetição serão repetidos cinco vezes. Nesse exemplo, a estrutura REPITA 
é utilizada para repetir o trecho do algoritmo um número definido de vezes. 
Exemplo em C++: 
Este programa verifica se um número é par ou ímpar, e finaliza em 0. 
 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
 
int main (void) 
{ 
int nr; 
do 
{ 
cout <<"Digite um numero (0 para finalizar): "; 
cin >> nr; 
cin.ignore (); 
if (nr%2==0) 
{ 
cout <<"Este numero e par\n"; 
 
36 
 
}else 
{ 
cout <<"Este numero e impar\n"; 
} 
system ("pause"); 
system ("cls"); //Limpa a Tela 
} while (nr!=0); //enquanto nr for diferente de 0 
return 0; 
} 
 
Exercícios de Estruturas de Repetição 
 
1) Faça um programa que imprima na tela os números de 1 a 20, um abaixo do outro. 
2) Faça um programa que imprima na tela os números de 1 a 20 um ao lado do outro. 
3) Faça um programa que peça uma nota, entre zero e dez. Mostre uma mensagem 
caso o valor seja inválido e continue pedindo até que o usuário informe um valor 
válido. 
4) Faça um programa que leia um login e uma senha, se login estiver errado peça 
para o usuário entrar de novo com o login e mesmo como a senha. Quando o 
senha e login estiverem certos, envie uma mensagem de sucesso .(Login=aluno, 
Senha=123) 
5) Supondo que a população de um país A seja da ordem de 80000 habitantes com 
uma taxa anual de crescimento de 3% e que a população de B seja 200000 
habitantes com uma taxa de crescimento de 1.5%. Faça um programa que calcule e 
escreva o número de anos necessários para que a população do país A ultrapasse 
ou iguale a população do país B, mantidas as taxas de crescimento. 
6) Faça um programa que leia 5 números e informe o maior número. 
7) Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número 
inteiro entre 1 a 10. O usuário deve informar de qual numero ele deseja ver a 
tabuada. A saída deve ser conforme o exemplo abaixo: 
 Tabuada de 5: 
 5 X 1 = 5 
 5 X 2 = 10 
 ... 
 5 X 10 = 50 
8) Faça um programa que peça dois números, base e expoente, calcule e mostre o 
primeiro número elevado ao segundo número. Não utilize a função de potência da 
linguagem. 
9) Faça um programa que peça 10 números inteiros, calcule e mostre a quantidade 
de números pares e a quantidade de números impares. 
10) Faça um programa que calcule o fatorial de um número inteiro fornecido pelo 
usuário. Ex.: 5!=5.4.3.2.1=120 
 
37 
 
11) Faça um programa que, dado um conjunto de N números, determine o menor 
valor, o maior valor e a soma dos valores. 
12) Faça um programa que peça um número inteiro e determine se ele é ou não um 
número primo. Um número primo é aquele que é divisível somente por ele mesmo 
e por 1. 
13) Altere o programa de cálculo dos números primos, informando, caso o número 
não seja primo, por quais número ele é divisível. 
14) O Sr. Manoel Joaquim possui uma grande loja de artigos de R$ 1,99, com cerca de 
10 caixas. Para agilizar o cálculo de quanto cada cliente deve pagar ele 
desenvolveu um tabela que contém o número de itens que o cliente comprou e ao 
lado o valor da conta. Desta forma a atendente do caixa precisa apenas contar 
quantos itens o cliente está levando e olhar na tabela de preços. Você foi 
contratado para desenvolver o programa que monta esta tabela de preços, que 
conterá os preços de 1 até 50 produtos, conforme o exemplo abaixo: 
 Lojas Quase Dois - Tabela de preços 
 1 - R$ 1.99 
 2 - R$ 3.98 
 ... 
 50 - R$ 99.50 
15) O Sr. Manoel Joaquim expandiu seus negócios para além dos negócios de 1,99 e 
agora possui uma loja de conveniências. Faça um programa que implemente uma 
caixa registradora rudimentar. O programa deverá receber um número 
desconhecido de valores referentes aos preços das mercadorias. Um valor zero 
deve ser informado pelo operador para indicar o final da compra. O programa 
deve então mostrar o total da compra e perguntar o valor em dinheiro que o 
cliente forneceu, para então calcular e mostrar o valor do troco. Após esta 
operação, o programa deverá voltar ao ponto inicial, para registrar a próxima 
compra. A saída deve ser conforme o exemplo abaixo: 
 Lojas Tabajara 
 Produto 1: R$ 2.20 
 Produto 2: R$ 5.80 
 Produto 3: R$ 0 
 
Total: R$ 9.00 
Dinheiro: R$ 20.00 
Troco: R$ 11.00 
... 
 
16) O Departamento Estadual de Meteorologia lhe contratou para desenvolver um 
programa que leia as um conjunto indeterminado de temperaturas, e informe ao 
final a menor e a maior temperatura informadas, bem como a média das 
temperaturas. 
 
 
38 
 
Capítulo V 
 
Vetor também é conhecido como variável composta homogênea unidimensional. 
Isto quer dizer que se trata de um conjunto de variáveis de mesmo tipo, que possuem o 
mesmo identificador (nome) e são alocadas sequencialmente na memória. Como as 
variáveis têm o mesmo nome, o que as distingue é um índice que referencia sua 
localização dentro da estrutura. 
 
1.1- Declaração de vetor 
 
 DECLARE nome [tamanho] TIPO; 
 
Nome: é o nome da variável do tipo vetor. 
Tamanho: é a quantidade de variáveis que vão compor o vetor. 
Tipo: é o tipo básico dos dados que serão armazenados no vetor. 
 
Exemplo de vetor 
 
DECLARE x[5] NUMÉRICO;X =[ ] 
 
 
 1 2 3 4 5 
 
1.2- Atribuindo valores ao vetor 
 
 As atribuições em vetor exigem que seja informada em qual de suas posições o 
valor ficará armazenado. 
 
X[1] = 45 
 
No exemplo, o número 45 será armazenado na posição de índice 1 do vetor. 
 
X[4] = 0 
 
No exemplo, o número 45 será armazenado na posição de índice 4 do vetor. 
 
 
39 
 
1.3- Preenchendo um vetor 
 
 Preencher um vetor significa atribuir valores a todas as suas posições. Assim, deve-
se implementar um mecanismo que controle o valor do índice. 
 
Para i  1 ate 5 para faça 
 
INICIO 
 Escreva “Digite o ”, i, “° número”; 
 LEIA x[i]; 
FIM 
 
Nesse exemplo, a estrutura de repetição PARA foi utilizada para garantir que a variável i 
assuma todos os valores possíveis para o índice do vetor. Assim, para cada execução da 
repetição, será utilizada uma posição diferente do vetor. 
 
Simulação: 
 
X =[i] 
 
 
 1 2 3 4 5 
 
i = 1 TELA “Digite o primeiro número”, x [1]= 95 
 
95 
 1 2 3 4 
5 
 
i = 2 TELA “Digite o segundo número”, x [2]= 13 
 
95 13 
 1 2 3 4 
5 
 
i = 3 TELA “Digite o terceiro número”, x [3]= -25 
 
95 13 -25 
 1 2 3 4 5 
 
i = 4 TELA “Digite o quarto número”, x [4]= 47 
 
40 
 
 
95 13 -25 47 
 1 2 3 4 5 
 
i = 5 TELA “Digite o quinto número”, x [5]= 0 
 
95 13 -25 47 0 
 1 2 3 4 5 
 
1.4- Mostrando os elementos do vetor 
 
 Mostrando os valores contidos em um vetor também implica a utilização do índice. 
 
PARA i < 1 até 5 faça 
INICIO 
 Escreva “Este é o ”, i, ”° número do vetor”; 
 Escreva X[i]; 
FIM 
 
Nesse exemplo, a estrutura de repetição PARA foi utilizada para garantir que a 
variável i assuma todos os valores possíveis para o índice do vetor. Assim, para execução 
da repetição, será utilizada uma posição diferente e, dessa forma, todos os valores do 
vetor serão mostrados. 
 
 
1.5- Vetor em C++ 
 
Definição de vetor 
 
 As variáveis compostas homogêneas unidimensionais (vetores) são capazes de 
armazenar vários valores. Cada um desses valores é identificado pelo mesmo nome (o 
nome dado ao vetor). Eles são diferenciados apenas por um índice. 
 Os índices utilizados na linguagem C++ para identificar as posiçoes de um vetor 
começam sempre em 0(zero) e vão até o tamanho do vetor menos uma unidade. 
 
 
41 
 
1.5.1- Declaração de vetor 
 
 Os vetores em C++ são identificados pela existência de colchetes logo após o nome 
da variável no momento da declaração. Dentro dos colchetes deve-se colocar o número 
de posições do vetor. 
 
Exemplo de vetor 
 
 int vet[10]; 
 
vet [i] 
 
10 5 3 8 1 19 44 21 2 7 
 0 1 2 3 4 5 6 7 8 9 
 
 Nesses exemplo, o vetor chamado vet possui dez posições, começando pela 
posição 0 e indo até a posição 9 (tamanho do vetor -1). Em cada posição poderão ser 
armazenados números inteiros, conforme especificado pelo tipo int da declaração. 
 
 Char x[5]; 
 
x[i] 
 
A * 2 @ K 
 0 1 2 3 
4 
 
 Nesse exemplo, o vetor chamado x possui cinco posições, começando pela posição 
0 e indo até a posição 4 (tamanho do vetor -1). Em cada posição poderão ser armazenados 
caracteres, conforme especificado pelo tipo char na declaração. 
 
Obs: É importante lembrar, que toda vez que se faz uso de um vetor para armazenar uma 
cadeia de caracteres, deve-se definir uma posição a mais que a necessária para armazenar 
a marca de finalização de cadeia (\0). 
 
1.5.2- Atribuindo valores ao vetor 
 
 As atribuições em vetor exigem que seja informada em qual de suas posições o 
valor ficará armazenado. Deve-se lembrar sempre que a primeira posição de um vetor em 
C++ tem índice 0. 
 
42 
 
 
vet [0] = 1; //atribui o valor 1 a primeira posição do vetor (lembre-se que o vetor começa 
na posição 0) 
x[3] = 'b'; //atribui a letra b à quarta posição do vetor (lembre-se que o vetor começa na 
posição 0) 
 
1.5.3- Preenchendo um vetor 
 
 Preencher um vetor significa atribuir valores a todas as suas posições. Assim, deve-
se implementar um mecanismo que controle o valor do índice. 
 
 for (i=0; i<10; i++) 
{ 
 cin >> vetor[i]; 
} 
 
 Nesse exemplo, a estrutura de repetição FOR foi utilizada para garantir que a 
variável i assuma todos os valores possíveis para o índice do vetor (de 0 a 9). Assim, para 
cada execução da repetição, será utilizada uma posição diferente do vetor. 
 
1.5.4- Mostrando os elementos do vetor 
 
 Mostrar os valores contidos em um vetor também exige a utilização do índice. 
 
 for (i=0; i<10; i++) 
{ 
 cout << vetor[i]; 
} 
 
 Nesse exemplo, a estrutura de repetição FOR foi utilizada para garantir que a 
variável i assuma todos os valores possíveis para o índice do vetor (de 0 a 9). Assim, para 
cada execução da repetição, será utilizada uma posição diferente e, dessa forma, todos os 
valores do vetor serão mostrados. 
 
 
 
 
 
43 
 
Exercícios de Vetor: 
1) Faça um Programa que leia um vetor de 5 números inteiros e mostre-os. 
2) Faça um Programa que leia um vetor de 10 números reais e mostre-os na ordem 
inversa. 
3) Faça um Programa que leia 4 notas, mostre as notas e a média na tela. 
4) Faça um Programa que leia 20 números inteiros e armazene-os num vetor. 
Armazene os números pares no vetor PAR e os números IMPARES no vetor impar. 
Imprima os três vetores. 
5) Faça um Programa que peça as quatro notas de 10 alunos, calcule e armazene 
num vetor a média de cada aluno, imprima o número de alunos com média maior 
ou igual a 7.0. 
6) Uma empresa de pesquisas precisa tabular os resultados da seguinte enquete 
feita a um grande quantidade de organizações: 
 "Qual o melhor Sistema Operacional para uso em servidores?" 
 As possíveis respostas são: 
 1- Windows Server 
 2- Unix 
 3- Linux 
 4- Netware 
 5- Mac OS 
 6- Outro 
Você foi contratado para desenvolver um programa que leia o resultado da 
enquete e informe ao final o resultado da mesma. O programa deverá ler 
os valores até ser informado o valor 0, que encerra a entrada dos dados. 
Não deverão ser aceitos valores além dos válidos para o programa (0 a 6). 
Os valores referentes a cada uma das opções devem ser armazenados num 
vetor. Após os dados terem sido completamente informados, o programa 
deverá calcular a percentual de cada um dos concorrentes e informar o 
vencedor da enquete. O formato da saída foi dado pela empresa, e é o 
seguinte: 
Sistema Operacional Votos % 
------------------- ----- --- 
Windows Server 1500 17% 
Unix 3500 40% 
Linux 3000 34% 
Netware 500 5% 
Mac OS 150 2% 
Outro 150 2% 
------------------- ----- 
Total 8800 
O Sistema Operacional mais votado foi o Unix, com 3500 votos, 
correspondendo a 40% dos votos. 
 
 
44 
 
Sub-Rotinas ou Funções 
 
 Sub-rotinas, também chamadas de funções, são blocos de instrução que realizam 
tarefas específicas. As funções podem ser executados quantas vezes forem necessários, elas 
também ajudar diminuindo o programa principal tornando-o menor e mais organizado. 
 Os programas em geral são executados linearmente(uma linha após a outra, até o 
fim). Entretanto, quando são utilizadas a funções,é possível a realização de desvios na 
execução do programa. Estes desvios são efetuados quando uma função é chamada pelo 
programa principal. 
 
1. Exemplo em Pseudocódigo: 
 
 O algoritmo apresentado tem como objetivo receber o valor do salário de um 
funcionário e calcular o novo salário. 
 
ALGOTIMO Novo_salario 
INICIO 
 DECLARE sal, aumento, novo_sal NUMERICO; 
 LEIA sal; 
 aumento ← calc_almento(sal); 
 novo_sal ← sal+aumento; 
 ESCREVA “Novo Salário é”, novo_sal; 
FIM 
 
FUNCAO calc_almento(sal NUMERICO) //Com passagem de parâmetro 
INICIO 
 DECLARE percentual, valor NUMERICO; 
 LEIA percentual; 
 valor ← sal*percentual/100; 
 RETORNE valor; //Com retorno 
FIM 
 
 
2. Exemplo em Fluxograma: 
 
Programa com uma função para calcular o Fatorial de um número.(Com passagem de 
parâmetro e retorno) 
 
45 
 
3. Exemplo em C++ 
 
 
Funções são usadas para criar pequenos pedaços de códigos separados do 
programa principal. Em C/C++, tudo, na verdade, é uma função. INT MAIN (VOID) é uma 
função, por exemplo. 
Exceto a função MAIN, todas as outras funções são secundárias, o que significa que 
elas podem existir ou não. 
Então, qual a vantagem de fazermos uma função? 
Funções são importantes porque elas retornam valores, ajudam a fragmentar o 
código em partes menores - mais fáceis de lidar - e ainda por cima podem ser utilizadas 
mais de uma vez no mesmo programa, poupando preciosos minutos de programação e 
inúmeras linhas de código. 
 
3.1. Como criar e utilizar uma função? 
 
Criamos uma função indicando o tipo de retorno (saída) que será int, float, etc... 
Nomeamos a função (valem as mesma regras das variáveis, ex.: Não começa nomes de 
funções com número) e terminamos colocando entre parênteses os argumentos. Todo o 
código da função deve estar dentro de um bloco de instrução ( { } ), mesmo que haja 
apenas uma linha. 
Após a função ser criada, basta chamarmos a função dentro da função principal 
MAIN. 
Para chamá-la, apenas digitamos o nome da função e entre parênteses colocamos 
seus argumentos. 
 
 
46 
 
 
 
Exemplos de Tipo de Retorno: 
 
Int – Número inteiros 
Float –Número com virgula 
Char - Caráter 
Void – Não retorna Valor 
 
Exemplo: 
A Função que usaremos não retornará nenhum valor porque a única coisa que ela 
faz é mostrar uma mensagem na tela. Ela terá o tipo de retorno vazio também - void. 
Como esta função não tem argumentos, simplesmente colocamos nada entre os 
parênteses. 
 
 
 
3.2. Funções que retornam valores 
Como já foi dito uma função pode retornar um valor, e esse valor pode ou não ser 
guardado em uma variável, isso depende de como queremos lidar com isso. 
Para retornarmos um valor usamos o comando RETURN. Toda vez que retornamos um 
valor é porque terminamos a função. Por isso, todo programa utilizado até agora termina 
em RETURN 0;. Mas em projetos maiores tem por convenção utilizar uma constante - 
EXIT_SUCCESS - para deixar o programa com mais legibilidade. 
No código abaixo, usaremos uma função que chamaremos de somar que retornará 
um inteiro resultante da soma de duas variáveis. No programa (função MAIN) 
guardaremos o retorno da função em uma variável chamada resultadoDaFuncao. No final 
imprimiremos na tela o resultado. 
 
47 
 
 
 
 
3.3. Funções com argumentos 
Primeiramente, o que são argumentos? Argumentos são parâmetros pré-
especificados que são necessários para o funcionamento de uma função. Resumidamente, 
um argumento é uma variável ou valor que é necessário para algum processo da função. 
Para criar uma função com argumento é simples. 
Criamos a função como de costume. Primeiro o tipo de retorno e depois o nome 
da função. Então, entre parênteses "declaramos uma variável", ou praticamente isso. 
Podemos por quantos argumentos quisermos, basta que para cada argumento 
especifique-se seu tipo e separe-se por vírgula. 
 
Exemplo: 
 
1 argumento: INT NOMEDAFUNÇÃO (int argumento1) 
2 argumentos: INT NOMEDAFUNÇÃO (int argumento1, int argumento 2) 
3 argumentos: INT NOMEDAFUNÇÃO (int argumento1, float argumento2, int argumento3) 
etc... 
 
include <iostream> 
#include <cstdlib> 
using namespace std; 
 
int multiplicar(int a,int b, int c); 
{ 
 int reposta; 
 resposta=a*b*c; 
 return resposta; 
} 
int main (void) 
{ 
int x,y,z,resp_mutiplicacao; 
x=2; 
 
48 
 
y=3; 
z=5; 
resp_mutiplicacao=multiplicar(x,y,z); 
cout<<”A multiplicação=”<<resp_mutiplicacao 
 
system ("pause"); 
return 0; 
} 
 
Foi criada uma função chamada multiplicar que precisa de três 
argumentos: a, b e c. O seu retorno é a multiplicação das três (a*b*c) que fica gravado na 
variável resp_mutiplicacao. 
 
4. Variáveis globais e locais 
4.1. Variáveis Locais 
Variáveis locais são aquelas nas quais apenas a função onde ela está pode usá-la. 
Por exemplo, se declaramos int x dentro da função main, apenas a função main poderá 
utilizá-la para guardar dados e nenhuma outra função poderá utilizar o int x da função 
main. Veja: 
 
Perceba que a variável x só pode ser utilizado por main e a variável y só pode ser 
utilizada por obterY. Para conseguirmos utilizar o valor guardado em y na função obterY, 
tivemos que retornar (por na saída da função) o valor de y (return y) e guardamos dentro 
de outra variável que estava em main - valorDeY. 
 
4.2. Variáveis Globais 
As variáveis globais são declaradas da mesma forma que uma variável local - 
primeiro o tipo, depois o nome da variável. Mas a diferença é que esta variável é 
declarada fora de qualquer função. Por convenção, geralmente, utilizamos um underline 
(_) no começo do nome da variável para facilitar a leitura do programa e facilmente 
percebermos de que se trata de uma variável global. 
 
49 
 
Variáveis globais podem ser utilizadas por qualquer função. E qualquer função 
pode alterar o valor, utilizá-la em um processo ou até mesmo atribuir o valor que quiser. 
 
Perceba que a variável _iniciado está sendo usada nas duas funções - main e start. 
Toda vez que a função start é chamada, é incrementado (somado) um a _iniciado. 
Prestemos atenção no seguinte também, dentro da função main também tem uma 
variável chamada x que toda vez que chamamos main deve ser incrementada (x++). 
Então, por que apenas o valor de _iniciado muda e x continua sempre 1? 
É aí que está a vantagem e também a desvantagem da variável global. 
A variável global está constantemente na memória. O fato de reiniciar o programa 
ou não, pouco importa, porque o valor de _iniciado nunca é reinicializado quando 
chamamos uma função. A não ser que em algum lugar do programa nós especifiquemos 
isso. 
Já as variáveis locais estão presas as funções. Cada vez que chamamos uma função, 
também chamamos as variáveis dentro da função. Se finalizamos uma função, também 
finalizamos a variável. Resumindo, se reiniciamos a função, também reiniciamos a variável 
daquela função. 
A desvantagem da variável global é a dificuldade de lidar com ela. Devemos usar 
variáveis globais apenas quando realmente necessário. 
Porque, imagine usar uma variável global e dentro de nosso programa tem 10 ou mais 
funções, todas elas utilizando a mesma variável global e alterando seu valor. Ao final de 
todas as operações, dificilmente saberemos qual será seu resultado. Ou seja, isso 
dificultará a lógica do nosso programa, deixando-o difícil de interpretar. 
 
 
 
 
 
50 
 
Exercícios de Funções: 
1) Faça um programa com uma função que receba um número inteiro e positivo N 
como parâmetro e retorne a soma dos números inteiros existentes entre 1 e 
N(inclusive). 
2) Faça um programa com uma função que receba três números inteiros como 
parâmetros, representado horas, minutos e segundos, e os converta em 
segundos. Exemplo: 2h,40min, 10 s correspondem a 9610 segundos. 
3) Elabore um programa com uma função que receba como parâmetro o raio de 
uma esfera, calcule e mostre no programa principal qual o seu volume: 
v=4/3*R³. 
4) Faça um programa com uma função que receba um numero e informe se o 
mesmo é positivo ou negativo. 
5) Faça um programa com uma função que leia um número não determinado de 
valores positivos e retorne a média aritmética desses valores. 
6) Faça um programa com uma função que receba um valor inteiro e positivo, 
calcule e mostre o seu fatorial. 
7) Faça um programa com uma função que receba o valor de altura e largura e 
calcule e mostre o valor da área. 
8) Faça um programa encomendado pelo Rubinho Barrichello para cálculo da 
velocidade média escalar do seu carro de fórmula 1. O programa deve ter 3 
funções, uma para calcular Variação de Espaço, outra para calcular Variação do 
Tempo e uma para Cálculo da Velocidade Média Escalar. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51 
 
Bibliografia 
 
Site: www.tiexpert.net

Outros materiais