Buscar

APOSTILA ALGORITMOS

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

LÓGICA DE PROGRAMAÇÃO 
 
INTRODUÇÃO À LÓGICA 
 
OBJETIVOS: Abordar o conceito de lógica como ciência; destacar o uso da lógica de maneira muitas vezes incondicional, nas tarefas do 
dia-a dia; usar o raciocínio lógico para a tomada de decisões e para a resolução de problemas. 
 
 O filósofo grego Aristóteles é considerado o criador da lógica. No entanto, ele não a chamava assim, denominava-a ‘razão’. O termo 
‘lógica’ só passou a ser utilizado mais tarde. 
 A palavra ‘lógica’ é originária do grego logos, que significa linguagem racional. De acordo com o dicionário Michaelis, lógica é a 
análise das formas e leis do pensamento, mas não se preocupa com a produção do pensamento, quer dizer, não se preocupa com o conteúdo 
do pensamento, mas sim com a forma deste, isto é, com a maneira pela qual um pensamento ou uma idéia são organizados e apresentados, 
possibilitando que cheguemos a uma conclusão por meio do encadeamento dos argumentos. 
 Os argumentos podem ser dedutivos ou indutivos. Os argumentos indutivos são aqueles com que, a partir dos dados, se chega a uma 
resposta por meio da analogia, ou seja, pela comparação com algo conhecido, porém esse tipo de raciocínio não oferece certeza de que a 
resposta será de fato verdadeira. É necessário conhecer os fatos ou as situações para que se possa fazer a comparação. Por exemplo: ontem 
não havia nuvens no céu e não choveu. Hoje não há nuvens no céu, portanto não vai chover. 
 Já os argumentos dedutivos são aqueles cuja conclusão é obtida como conseqüência das premissas, isto é, por meio da análise das 
situações ou fatos, pode-se obter a resposta. Trabalha-se com a forma das sentenças, sem que haja necessidade do conhecimento prévio 
das situações ou fatos. Por exemplo: Joana é uma mulher. As mulheres são seres humanos. Logo, Joana é um ser humano. 
 A lógica nos permite caminhar pelos limiares das diversas ciências! 
 
O USO DO RACIOCÍNIO LÓGICO NO DIA-A-DIA 
 
 Desde os tempos primitivos o homem utiliza-se do raciocínio lógico para a realização das suas atividades. Isso é comprovado pelo 
fato de ele ter estabelecido seqüências adequadas para a realização das suas tarefas com sucesso. Podemos citar alguns exemplos 
relacionados às suas atividades do dia-a-dia: 
� Uma pessoa adulta, para tomar banho, primeiro tira a roupa para não molhá-la e também para estabelecer contato direto 
entre sua pele e a água; 
� Uma criança, desde pequenina, aprende que, para chupar uma bala, é preciso tirá-la da embalagem; 
� Foi utilizando-se do raciocínio lógico que o homem conseguiu criar a roda! 
 
O USO DA LÓGICA APLICADA À INFORMÁTICA 
 
 A lógica é aplicada a diversas ciências, tais como a informática, a psicologia e a física, entre outras. Na informática e na 
computação, aplica-se a todas as suas áreas, para a construção e funcionamento do hardware e do software. Por exemplo, na construção de 
um circuito integrado para o teclado, trabalha-se com o conceito de portas lógicas para a verificação da passagem ou não de pulsos 
elétricos, a fim de que seja estabelecida uma comunicação entre os componentes. Já na construção de software, é por meio de raciocínio 
lógico que o homem constrói algoritmos que podem ser transformados em programas de computador capazes de solucionar problemas cada 
vez mais complexos. É justamente esse assunto que estudaremos a seguir. 
 
NOTA: Hardware – (parte física do computador – peças. Ex.: teclado) 
 Software – (parte lógica do computador – programas. Ex.: Windows) 
 Algoritmo – (seqüência de passos ordenados para a realização de uma tarefa) 
 Programa – (conjunto de instruções legíveis para o computador e capazes de realizar tarefas) 
 
 Para nos auxiliar na resolução dos problemas de construção de algoritmos aplicados à informática, faremos uso da lógica formal 
dedutiva. No entanto, para que sejam reunidos dados para a solução dos problemas, muitas vezes utilizaremos o raciocínio lógico indutivo. 
 Como foi visto anteriormente, a lógica, preocupa-se com a forma da construção do pensamento. Isto permite que se trabalhe com 
variáveis para que se possa aplicar o mesmo raciocínio a diferentes problemas. Por exemplo: 
 
 Gerson é cientista. 
 Todo cientista é estudioso. 
 Logo, Gerson é estudioso. 
 
 Substituindo as palavras ‘Gerson’ e ‘estudioso’ por A e B: 
 
 A é cientista. 
 Todo cientista é B. 
 Logo, A é B. 
 
 O raciocínio lógico nos conduz a uma resposta que pode ser ‘verdadeiro’ ou ‘falso’. Na construção de algoritmos para a solução de 
problemas computacionais, trabalha-se com esse tipo de raciocínio. As informações a ser analisadas são representadas por variáveis que 
posteriormente receberão valores. As variáveis, por sua vez, representarão as premissas. Por exemplo: 
 Dados dois valores quaisquer, deseja-se saber qual é o maior. 
 Os dois valores são representados pelas variáveis A e B. Analisa-se o problema a fim de averiguar qual é a melhor maneira de 
descobrir a solução, então se monta a seqüência para que seja verificada a questão. Para descobrir a solução, pode-se partir de problemas 
similares já resolvidos e, por analogia, aplicar o mesmo método ao problema atual, ou podem-se estudar formas de resolvê-lo buscando dados 
com especialistas no assunto em questão. 
 Neste caso, vamos substituir as variáveis por valores conhecidos, apenas como modelo para facilitar o entendimento do raciocínio 
aplicado: 
 A será substituída por 7 e B, por 19. 
 Para que seja verificado o maior valor, deve-se fazer uma comparação, por exemplo: 7 é maior do que 19? 
 Logo tem-se a resposta: falso. 
 Então, pode-se concluir que 19 é o maior número entre os dois. 
 
LEMBRE-SE: A resposta a uma questão deve ser ‘verdadeiro’ ou ‘falso’; nunca pode ser as duas opções ao mesmo tempo. 
 
 Quando os valores são desconhecidos, na representação par a solução do problema, trabalha-se apenas com as variáveis: 
 
 A é maior do que B? 
 Se a resposta é ‘verdadeiro’, A é o maior valor. 
 Se a resposta é ‘falso’, B é o maior valor. 
 
NOTA: Não está sendo considerada a possibilidade de os valores de A e B serem iguais, por se tratar apenas de um exemplo para a 
construção do raciocínio, não sendo levada em conta a complexidade do problema em questão para o caso de uma implementação. 
 
EXERCÍCIOS PARA FIXAÇÃO 
 
1. Dadas as premissas a seguir, verifique quais são as sentenças que representam a conclusão correta: 
I. Cavalos são animais. Animais possuem patas. Logos: 
a) Cavalos possuem patas 
b) Todos os animais são cavalos 
c) Os cavalos possuem quatro patas 
II. Retângulos são figuras que têm ângulos. Temos uma figura sem nenhum ângulo. Logo: 
a) Essa figura pode ser um círculo 
b) Não é possível tirar conclusões 
c) Essa figura não é um retângulo 
III. Se o verde é forte, o vermelho é suave. Se o amarelo é suave, o azul é médio. Mas ou o verde é forte ou o amarelo é suave. 
Forte, suave e médio são as únicas tonalidades possíveis. Logo: 
a) O azul é médio 
b) Ou o vermelho é suave ou o azul é médio 
c) O amarelo e o vermelho são suaves 
2. Responda: 
a) Qual a importância da lógica para a informática? 
b) Descreva algumas atividades relacionadas ao seu dia-a-dia nas quais o uso da lógica se faz presente e 
perceptível. 
c) O que são argumentos? 
d) Qual é a diferença entre argumentos dedutivos e argumentos indutivos? Exemplifique. 
 
EXERCÍCIOS COMPLEMENTARES 
 
1. Dadas as premissas a seguir, verifique quais são as sentenças que representam a conclusão correta: 
I. Você está dirigindo seu carro. Se brecar repentinamente, um caminhão baterá na traseira dele. Se não brecar 
imediatamente, você atropelará uma criança que está atravessando a estrada. Logo: 
a) As crianças devem afastar-se das estradas 
b) O caminhão baterá na traseira de seu carro ou você atropelará a criança 
c) O caminhão vai muito depressa. 
II. Todas as plantas verdes têm clorofila. Algumas coisas que têm clorofila são comestíveis.Logo: 
a) Alface é comestível 
b) Algumas plantas verdes são comestíveis 
c) Alface tem clorofila. 
2. De acordo com as pistas de cada uma das histórias, descubra o que se pede: 
a) As amigas de Maria organizaram um chá-de-panela para comemorar seu casamento, que estava próximo. Como é de costume, 
cada amiga compareceu à reunião com um presente devidamente embrulhado. O chá-de-panela consiste em uma brincadeira 
que é feita com a noiva, na qual ela deve adivinhar o presente contido em cada embrulho que recebe. Se errar, recebe castigos. 
Sua tarefa é descobrir o presente que cada amiga levou. De acordo com as dicas abaixo, preencha a tabela. 
� Maria adivinhou os presentes de Janete e Sandra; 
� Maria não adivinhou o conteúdo do embrulho que continha uma garrafa térmica, por isso teve de vestir uma fantasia de 
coelhinha; 
� Márcia pediu que Maria dançasse a dança da garrafa; 
� Renata a castigou com uma maquiagem de palhacinho; 
� Maria acertou os embrulhos da frigideira e da jarra para suco; 
� O faqueiro não foi presente de Izabel; 
� Por ter errado o caldeirão, Maria acabou ficando embriagada; 
� No embrulho de Sandra estava escrito ‘frágil’ e isso facilitou muito a descoberta. 
Colega Presente 
 
 
 
 
 
 
b) Oito carros de equipes diferentes estão alinhados lado a lado para uma corrida. De acordo com as pistas abaixo, descubra a 
ordem dos carros para a largada e a cor de cada carro. (Obs.: a cor utilizada não é a cor original das equipes). 
� O carro branco está à esquerda do Lótus; 
� O carro da equipe Ferrari está entre os carros vermelho e branco; 
� O McLaren é o segundo carro à esquerda do Ferrari e o primeiro à direita do carro azul; 
� O Sauber não tem carro à sua direita e está logo depois do carro preto; 
� O carro preto está entre o Sauber e o carro amarelo; 
� O Jaguar não tem carro algum à sua esquerda e está à esquerda do carro verde; 
� À direita do carro verde está o Renault; 
� O Jordan é o segundo carro à direita do carro prata e o segundo à esquerda do carro laranja; 
� O Toyota é o segundo carro à esquerda do Minardi. 
3. Um pastor deve levar suas três ovelhas e seus dois lobos para o pasto que fica ao sul da região. Ele deve levar também a provisão 
de alimentos para as ovelhas, que consiste em dois maços de feno. No entanto, no meio do caminho existe um grande rio cheio de 
piranhas e o pastor tem apenas um pequeno barco à sua disposição, que lhe permite levar dois ‘passageiros’ de cada vez. Considere 
como passageiros as ovelhas, os maços de feno e os lobos e considere que, se as ovelhas ficarem em menos número do que os lobos 
serão comidas e que, se o feno ficar com as ovelhas sem um lobo por perto, as ovelhas comerão o feno. Ajude o pastor a atravessar 
o rio e preservar suas posses. 
 
PROPOSIÇÃO 
 
 Segundo Quine, toda proposição é uma frase mas nem toda frase é uma proposição; uma frase é uma proposição apenas quando 
admite um dos valores lógicos: Falso (F) ou Verdadeiro (V). 
 Exemplos: 
 1. Frases que não são proposições 
 - Pare! 
 - Quer uma xícara de café? 
 - Eu não estou bem certo se esta cor me agrada. 
 2. Frases que são proposições 
 - A lua é o único satélite natural do planeta terra (V) 
 - A cidade de Salvador é a capital do Estado do Amazonas (F) 
 - O número 712 é impar (F) 
 - Raiz quadrada de dois é um número irracional (V) 
 
COMPOSIÇÃO DE PROPOSIÇÕES 
 
 É possível construir a partir de proposições já existentes. Este processo é conhecido por Composição de Proposições. Suponha que 
tenhamos duas proposições. 
 1. A = “Maria tem 23 anos” 
 2. B = “Maria é menor” 
 Pela legislação corrente de um país fictício, uma pessoa é considerada de menor idade caso tenha menos que 18 anos, o que faz com 
que a proposição B seja F, na interpretação da proposição A ser V. Vamos a alguns exemplos: 
 1. “Maria não tem 23 anos” (não A) 
 2. “Maria não é menor” (não B) 
 3. “Maria tem 23 anos” e “Maria é menor” (A e B) 
 4. “Maria tem 23 anos” ou “Maria é menor” (A ou B) 
 5. “Maria não tem 23 anos” e “Maria é menor” (não A e B) 
 6. “Maria não tem 23 anos” ou “Maria é menor” (não A ou B) 
 7. “Maria tem 23 anos” ou “Maria não é menor” (A ou não B) 
 8. “Maria tem 23 anos” e “Maria não é menor” (A e não B) 
 9. Se “Maria não tem 23 anos” então “Maria é menor” (A => B) 
 10. Se “Maria não tem 23 anos” então “Maria é menor” (não A => B) 
 11. “Maria não tem 23 anos” e “Maria é menor” (não A e B) 
 12. “Maria tem 18 anos” é equivalente a “Maria não é menor” (C <=> não B) 
 Note que, para compor proposições usou-se os símbolos não (negação), e (conjunção), ou (disjunção), => (implicação) e, 
finalmente <=> (equivalência). São os chamados conectivos lógicos. Note, também, que usou-se um símbolo para representar uma 
proposição: C representa a proposição Maria tem 18 anos. Assim, não B representa Maria não é menor, uma vez que B representa Maria é 
menor. 
 
 
 
 
TABELA-VERDADE 
 
 A tabela-verdade, como se sabe, é instrumento eficiente para a especificação de uma composição de proposições. A seguir segue a 
tabela-verdade dos conectivos aqui tratados. 
A Negação 
~(A), ou –A, ou /A, ou ainda, A’ 
F V 
V F 
 
A B 
Conjunção 
(e) 
A . B, ou AB 
Disjunção 
(ou) 
A + B 
Implicação 
A => B 
Equivalência 
A <=> B 
V V V V V V 
V F F V F F 
F V F V V F 
F F F F V V 
 
 
INTRODUÇÃO AOS ALGORITMOS 
 
OBJETIVOS: Mostrar as aplicações dos algoritmos para resolução de diferentes problemas; especificar a importância dos algoritmos para 
a resolução de problemas computacionais; abordar os conceitos de entrada, processamento e saída do ponto de vista computacional. 
 
 Um algoritmo é uma seqüência lógica de instruções que devem ser seguidas para a resolução de um problema ou para a execução de 
uma tarefa. Os algoritmos são amplamente utilizados nas disciplinas ligadas à área de ciências exatas, tais como matemática, física, química 
e informática, entre outras, e também são utilizados com muito sucesso em outras áreas. 
 No dia-a-dia, as pessoas utilizam-se de algoritmos de maneira intuitiva, sem que haja necessidade de planejar previamente a 
seqüência de passos para a resolução das tarefas quotidianas. Dentre os inúmeros exemplos existentes, podemos citar: 
 
� Quando uma dona de casa prepara um bolo, segue uma receita, que nada mais é do que um algoritmo em que cada 
instrução é um passo a ser seguido para que o prato fique pronto com sucesso: 
 Bata quatro claras em neve; 
 Adicione duas xícaras de açúcar; 
 Adicione duas xícaras de farinha de trigo, quatro gemas, umas colher de fermentos e duas colheres de chocolate; 
 Bata por três minutos; 
 Unte uma assadeira com margarina e farinha de trigo; 
 Coloque o bolo para assar durante vinte minutos em temperatura média. 
 
� Um motorista que necessita efetuar a troca de um pneu furado segue uma rotina para realizar essa tarefa: 
 Verifica qual pneu está furado; 
 Posiciona o macaco para levantar o carro; 
 Pega o estepe; 
 Solta os parafusos; 
 Substitui o pneu furado; 
 Recoloca os parafusos; 
 Desce o carro; 
 Guarda o macaco e o pneu furado. 
 
� Um matemático, para resolver uma equação qualquer, utiliza passos pré-determinados que conduzem à obtenção do 
resultado. 
 
ALGORITMOS APLICADOS À SOLUÇÃO DE PROBLEMAS COMPUTACIONAIS 
 
 Os algoritmos são amplamente utilizados na área da computação, seja na elaboração de soluções voltadas à construção de 
interfaces, softwares e hardwares, seja no planejamento de redes. Os algoritmos também constituem uma parte importante da 
documentação de sistemas, pois descrevem as tarefas a serem realizadas pelos programas. 
 
TIPOS DE ALGORITMOS 
 
 Existem diversos tipos de algoritmos. Dentre eles, podemos citar: pseudocódigo, descrição narrativa, fluxograma e diagrama de 
Chapin. 
� O pseudocódigo utiliza linguagem estruturada e seassemelha, na forma, a um programa escrito na linguagem de 
programação Pascal. O pseudocódigo é também denominado por alguns autores como português estruturado, embora 
existam pequenas diferenças de metodologia entre ambos. É bastante utilizado para representação da resolução de 
problemas computacionais. 
� A descrição narrativa utiliza linguagem natural para especificar os passos para a realização das tarefas. Isso dá margem 
a más interpretações e ambigüidades. Não é muito utilizada. 
� O fluxograma é uma forma universal de representação, pois se utiliza de figuras geométricas para ilustrar os passos a 
serem seguidos para a resolução dos problemas. Bastante utilizados, é também chamado por alguns autores de diagrama 
de blocos. 
� O diagrama de Chapin, também conhecido como diagrama Nassi-Shneiderman ou diagrama N-S, apresenta a solução 
do problema por meio de um diagrama de quadros com uma visão hierárquica e estruturada. Esse tipo de diagrama não é 
muito utilizado, pois é muito difícil representar recursividade, entre outros procedimentos. 
 
PSEUDOCÓDIGO 
 
 O pseudocódigo é um tipo de algoritmo que utiliza uma linguagem flexível, intermediária entre a linguagem natural e a linguagem de 
programação. É utilizado para organizar o raciocínio lógico a ser seguido para a resolução de um problema ou para definir os passos para a 
execução de uma tarefa. É também utilizado para documentar rotinas de um sistema. 
 A palavra ‘pseudocódigo’ significa ‘falso código’. Esse nome se deve à proximidade que existe entre um algoritmo escrito em 
pseudocódigo e a maneira pela qual um programa é representado em uma linguagem de programação. 
 Exemplo 2.1: Desenvolver um pseudocódigo para ler o nome, a idade, o cargo e o salário de 50 pessoas e verificar quantas possuem 
idade inferior a 30 anos e um salário superior a R$ 3.000,00. 
 
Algoritmo Exemplo_2.1 Identificação do algoritmo 
 
Var nome, cargo: literal Declaração das variáveis 
 idade, n_pessoas, tot_pessoas: inteiro 
 salário: real 
 
Início Corpo do algoritmo 
 n_pessoas � 1 Inicialização de variáveis 
 tot_pessoas � 0 
 
 Enquanto (n_pessoas <= 50) faça 
 Ler (nome, idade, cargo, salário) 
 Se (idade <= 30) e (salário >= 3000,00) então 
 Tot_pessoas � tot_pessoas + 1 
 Fim-Se 
 n_pessoas � n_pessoas + 1 
 Fim-Enquanto 
 Mostrar (“O total de pessoas que atendem a condição é “, tot_pessoas) 
Fim. 
 
IDENTIFICAÇÃO DO ALGORITMO 
 
 Todo algoritmo representado por um pseudocódigo deverá ser, primeiramente, identificado. Para se identificar ou nomear o 
algoritmo, recomenda-se: 
• Não utilizar espaços entre as letras. Por exemplo: para um cadastro de clientes, o correto seria cad_cli ou cadcliente. O caractere 
‘sublinha’ ou ‘underline’ ( _ ) pode ser utilizado para representar o espaço entre as letras; 
• Não iniciar o nome com algarismos (números). Por exemplo: não usar 1algoritmo. O correto seria algoritmo1; 
• Não utilizar palavras reservadas, isto é, palavras que são utilizadas nos algoritmos para representar ações específicas. Por 
exemplo: se (palavra que representa uma condição ou teste lógico); var (palavra que representa a área de declaração de variáveis); 
• Não utilizar caracteres especiais, como acentos, símbolos (? / : @ # etc), ç, entre outros; 
• Não utilizar nomes iguais para representar variáveis diferentes; 
• Ser sucinto e utilizar nomes coerentes. 
 
DECLARAÇÃO DE VARIÁVEIS 
 
 Todas as variáveis que serão utilizadas na resolução do problema devem ser previamente declaradas, isto é, todas as informações 
necessárias à resolução do problema devem ser representadas. 
 
CORPO DO ALGORITMO 
 
 É a área do algoritmo reservada para a resolução do problema. Nessa parte, devem-se escrever todos os passos lógicos 
necessários para solucionar o problema, tais como: 
• Representar a entrada de valores para as variáveis; 
• Representar as operações de atribuição, lógicas e aritméticas; 
• Representar a abertura e fechamento de arquivos; 
• Representar os laços de repetição; 
• Representar a exibição dos resultados; entre outros. 
 
EXERCÍCIOS PARA FIXAÇÃO 
 
1. Qual é a principal função dos algoritmos? 
Identificação do algoritmo 
2. Descreva três tipos de algoritmos. 
3. Escreva a seqüência de passos para que um robô seja capaz de trocar uma lâmpada queimada que está localizada no centro de uma 
sala. Há uma escada posicionada logo abaixo da lâmpada queimada e o robô está em frente à escada. 
 
EXERCÍCIOS COMPLEMENTARES 
 
1. Escreva a seqüência de passos para que uma pessoa abra um arquivo armazenado em um CD utilizando o Word for Windows. 
2. Escreva os passos necessários para uma pessoa efetuar um saque em um caixa eletrônico. 
3. Escreva os passos necessários para uma pessoa efetuar uma compra por meio da Internet. 
 
CONCEITOS BÁSICOS SOBRE ALGORITMOS 
 
OBJETIVOS: Mostrar os tipos de dados básicos; definir o conceito, a aplicação e a identificação de variáveis e constantes; demonstrar o 
uso dos operadores de atribuição, aritméticos, relacionais e lógicos na notação algorítmica; exemplificar a construção de expressões de 
atribuição, aritméticas e lógicas; mostrar a ordem de precedência matemática utilizada na resolução de problemas; apresentar a tabela-
verdade como recurso que facilita o entendimento do uso dos operadores lógicos. 
 
 Os dados são, na verdade, os valores que serão utilizados para a resolução de um problema. Esses valores podem ser fornecidos 
pelo usuário do programa, podem ser originados a partir de processamentos (cálculos) ou, então, a partir de arquivos, bancos de dados ou 
outros programas. 
 Os dados são armazenados temporariamente em variáveis para que sejam processados de acordo com as especificações do 
algoritmo. Para que haja integridade no resultado obtido, os dados ser classificados de acordo com o tipo do valor a ser armazenado na 
variável, isto é, para evitar problemas que podem ser ocasionados devido ao fornecimento de valores inadequados à operação que será 
realizada. Por exemplo, vamos supor que o algoritmo deva especificar os passos para efetuar a soma de dois números quaisquer fornecidos 
pelo usuário. Então, será feita uma operação aritmética (soma), que só poderá ser realizada com valores numéricos. 
 Os tipos de dados são definidos, normalmente, a partir dos tipos primitivos criados em função das características dos 
computadores. Como os dados manipulados pelos computadores durante a execução dos programas são armazenados na memória, esses tipos 
seguem as características de formato e espaço disponível nessa memória. Assim, são organizados em bits e bytes e suas combinações. Por 
exemplo, para representar um número inteiro, poderiam ser usados dois bytes ou 16 bits. Isso resultaria em 216 combinações possíveis para 
a representação de números, ou 65.536 possibilidades, considerando os estados possíveis que um bit pode assumir: 0 ou 1. Lembrando que os 
números poderiam assumir valores negativos e positivos nessa faixa, teríamos representações que iriam de –32.768 a 32.767, conforme 
pode ser verificado na tabela do item a seguir. 
 
NOTA: Byte – Conjunto de 8 bits que pode representar um caractere (letras, números ou símbolos especiais); 
 Bit –A menor unidade de informação reconhecida pelo computador; pode representar os estados 0 (desligado) ou 1 (ligado). 
 
TIPOS DE DADOS 
 
 Definir o tipo de dado mais adequado para ser armazenado em uma variável é uma questão de grande importância para garantir a 
resolução do problema. Ao desenvolver um algoritmo, é necessário que se tenha conhecimento prévio do tipo de informação (dado) que será 
utilizado para resolver o problema proposto. A partir daí, escolhe-se o tipo adequado para a variável que representará esse valor. Na 
confecção de algoritmos, utilizamos os tipos de dados primitivos (literal, inteiro, real e lógico), uma vez que os algoritmos apenas 
representam a resolução dos problemas. 
Primitivos 
Tipos de dados Definição 
Literal – também conhecido como texto ou caractere 
Poderá receber letras, números e símbolos. 
Obs.: Os números armazenados em uma variável cujo 
tipo de dado é literal não poderão ser utilizados para 
cálculos. 
Inteiro Poderá receber números inteiros positivos ou negativos. 
Real – também conhecido como ponto flutuante 
Poderá receber números reais, isto é, com casas 
decimais, positivos ou negativos. 
Lógico – também conhecido como booleano Poderá receber verdadeiro (1) ou falso (0). 
 
CONSTANTES 
 
 São valores que não sofrem alterações ao longo do desenvolvimento do algoritmo ou da execução do programa. Por exemplo, na 
expressão abaixo, o valor 3 . 1415 é atribuído à constante pi e permanecerá fixo até o final da execução. 
 
pi � 3.1415; 
perímetro � 2 * pi * raio; 
 
 As constantes devem ser declaradas como variáveis cujo valor atribuído permanecerá inalterado ao longo do programa. Por isso, 
são também chamadas de variáveis somente de leitura. 
 
OPERADORES 
 
 Os operadores são utilizados para representar expressões de cálculo, comparação, condição e atribuição. Temos os seguintes tipos 
de operadores: de atribuição, aritméticos, relacionais e lógicos. 
 
OPERADORES DE ATRIBUIÇÃO 
 
 São utilizados para expressar o armazenamento de um valor em uma variável. Esse valor pode ser pré-definido (variante ou não) ou 
pode ser o resultado de um processamento. 
Representação utilizando-se a notação algorítmica 
� 
Exemplo: nome � “Fulano de tal” 
 resultado � a + 5 
 Valor � 3 
NOTA: Alguns autores utilizam := (dois pontos, igual) como sinal de atribuição em algoritmos. 
 
OPERADORES ARITMÉTICOS 
 
 São utilizados para a realização dos diversos cálculos matemáticos. São eles: 
Operador Representação utilizando-se a notação algorítmica 
Incremento Utiliza-se uma expressão. Por exemplo: a + 1 
Decremento Utiliza-se uma expressão. Por exemplo: a – 1 
Multiplicação * 
Divisão / 
Exponenciação ^ ou **. Por exemplo: 23 é 2 ^ 3. 
Módulo Mod. Por exemplo: a mod b. 
Adição + 
Subtração - 
 
OPERADORES RELACIONAIS 
 
 São utilizados para estabelecer uma relação de comparação entre valores ou expressões. O resultado dessa comparação é sempre 
um valor lógico (booleano) verdadeiro ou falso. 
Operador Representação utilizando-se a notação algorítmica 
Maior > 
Maior ou igual >= 
Menor < 
Menor ou igual <= 
Igual a = 
Diferente de <> 
 
OPERADORES LÓGICOS 
 
 São utilizados para concatenar ou associar expressões que estabelecem uma relação de comparação entre valores. O resultado 
dessas expressões é sempre um valor lógico (booleano) verdadeiro ou falso. 
 
TABELA-VERDADE 
 
 A tabela-verdade expressa o conjunto de possibilidades existentes para a combinação de variáveis ou expressões e operadores 
lógicos. Um exemplo de combinação entre variáveis é A >= 5 
 
 
E X E R C Í C I O S 
 
ÁLGEBRA DAS PROPOSIÇÕES 
 
1. Verifique se as proposições abaixo são verdadeiras ou falsas, partindo das seguintes afirmações: 
a) Os primeiros computadores lançados mundialmente eram a válvulas 
 Os computadores de antigamente eram lentos e caros 
 Portanto: As válvulas eram lentas e caras 
 
b) O MS-DOS é um Sistema Operacional 
 Um computador não funciona sem um SO 
 O computador foi o maior invento de todos os tempos 
 Portanto: O MS-DOS foi o maior invento de todos os tempos 
 
 
 
 
2. Analise as sentenças abaixo: 
a) João e Pedro ganharam o primeiro prêmio num concurso de duplas caipiras, porém o prêmio seria entregue posteriormente, o 
organizador do concurso mandou um de seus auxiliares entregar o prêmio na casa dos ganhadores, e deu a seguinte instrução: 
 
- Entregue este pacote para João ou para Pedro 
 
Chegando lá o menino somente encontrou Pedro em casa e entregou-lhe o prêmio. 
Agiu corretamente o menino? (V ou F) Justifique. 
 
E se ao invés da instrução ter sido a anterior tivesse sido esta: 
 
- Entregue este pacote para João e para Pedro 
 
Teria ainda assim agido corretamente o menino? (V ou F) Justifique. 
 
b) Desta vez o organizador do concurso mandou novamente o menino levar um prêmio para a casa de João e Pedro, porém, desta 
vez o prêmio era somente de João por ter sido o melhor individualmente. E a instrução para o menino foi a seguinte: 
 
- Entregue este pacote para João e não Pedro (Pedro não pode saber da entrega) 
 
Chegando lá o menino somente encontrou João em casa e entregou-lhe o pacote. Está certo o menino? (V ou F) Justifique. 
 
Mas, supondo agora que o menino tivesse ido à casa de João e Pedro para levar o pacote e, lá chegando encontrasse os dois, e 
entregasse o pacote a João. Teria assim mesmo agido corretamente o menino? (V ou F) Justifique. 
 
3. Analise as sentenças abaixo e preencha os quadros que se seguem: 
a) Mário irá ao clube se fizer sol e se seu carro tiver combustível. 
Mário vai ao clube (S/N)? 
A Faz sol Carro com combustível 
B Faz sol Carro sem combustível 
C Não faz sol Carro com combustível 
D Não faz sol Carro sem combustível 
 
b) Marta irá ao shopping se ela receber o seu salário ou se vender à vista os seus livros de aventura. 
Marta vai ao shopping? 
A Recebeu salário Vendeu os livros 
B Recebeu salário Não vendeu os livros 
C Não recebeu salário Vendeu os livros 
D Não recebeu salário Não vendeu os livros 
 
c) Ana viajará para Natal-RN se passar direto na escola e se arrumar o dinheiro necessário. 
Ana vai para Natal? 
A Passou direto Arrumou dinheiro 
B Passou direto Não arrumou dinheiro 
C Não passou direto Arrumou dinheiro 
D Não passou direto Não arrumou dinheiro 
 
4. Verifique se as proposições abaixo são verdadeiras ou falsas: 
 A – A memória RAM (Randon Access Memory) é uma memória secundária. ( ) 
 B – O sistema de numeração decimal trabalha com 10 dígitos. ( ) 
 C – O sistema de numeração binário trabalha com 4 dígitos. ( ) 
 D – Um disco não formatado pode guardar até 10 arquivos. ( ) 
 
De acordo com os resultados das proposições anteriores, analise as equações abaixo: 
a) Não A i) Não A e Não C ou D 
b) A e B j) C ou D e Não (Não B) ou A 
c) C ou D k) A e Não (C ou D) ou Não A 
d) D e Não D l) A ou B e Não (Não C e Não D) 
e) A e B e D m) D e Não (B ou C e Não (A ou A)) 
f) A ou B ou C n) B e Não (C ou D) e Não (A e Não B) 
g) B e C ou D o) Não (A ou Não B e C e Não (D ou Não A)) 
h) A ou C ou Não D p) Não (B e Não C ou D) e Não (A e B ou Não (C ou D)) 
 
 
 
 
 
 
 
 
 
RACIOCÍNIO LÓGICO 
 
5. Complete as séries abaixo: 
a) 3, 7, 11, 15, ____, ____, ____, ____, ____, ____ 
b) 2, 4, 8, 16, ____, ____, ____, ____, ____, ____ 
c) 1, 0, 4, 0, 8, ____, ____, ____, ____, ____, ____ 
d) 90, 75, 60, 45, ____, ____, ____, ____, ____, ____ 
e) 5, 25, 125, ____, ____, ____, ____, ____, ____ 
f) 90, 30, 80, 40, 70, ____, ____, ____, ____, ____, ____ 
g) 9, 4, 12, 5, 15, 6, ____, ____, ____, ____, ____, ____ 
h) 64, 8, 49, 7, 36, ____, ____, ____, ____, ____, ____ 
i) 50, 40, 32, 26, ____, ____, ____, ____, ____, ____ 
j) 30, 10, 27, 9, 24, 8, ____, ____, ____, ____, ____, ____ 
k) 56, 60, 63, ____, ____, ____, ____,____, ____ 
l) 200, 50, 160, ____, ____, 30, 80, 20 
m) 100, 200, 80, ____, ____, 50, 40 
n) 33, 11, ____, ____, 39, 13 
o) 1, 1, 2, 4, 3, 9, 4, 16, ____, ____, ____, ____, ____, ____ 
p) 2, 3, 5, 9, 17, ____, ____, ____, ____, ____, ____ 
q) 2, 4, 6, 36, 8, ____, ____, ____, ____, ____, ____ 
r) 4, 9, 17, 35, ____, 139 
 
6. Um peixe de um quilo foi devorado por um maior. Acontece que o primeiro havia devorado um de cem gramas, o segundo, que pesava 
dez quilos, foi devorado, por sua vez, por um peixe de cinqüenta quilos. Quanto ficou pesando o peixe de cinqüenta quilos? 
 
7. A e B estão separados por 45Km. Se andarem ao encontro um do outro, aquele andando a 4Km/h e este a 5Km/h, pergunta-se: 
depois de quantas horas irão se cruzar? 
 
8. Ovos de Páscoa: São quatro ovos de Páscoa, do mesmo tamanho, mas de pesos diferentes; uns têm mais recheio, outros menos. 
Pesam no total 8Kg e 800gramas. O quarto tem 200g menos que o segundo. O terceiro pesa 400g mais que o primeiro. O peso do 
segundo é 100g maior que a média deles todos. Quanto pesa cada um? 
 
9. Sem desviar do caminho: Passando por todos os pontos, faça um caminho contínuo. Use como ponto de partida uma das marcas 
assinaladas e chegue até a outra. 
 . . . . . 
 . ( ) . . . 
 . . . . . 
 . . . ( ) . 
 . . . . . 
 
 
10. Que número falta? 
82 97 114 133 ? 
 
11. As três retas: Traçando apenas três linhas retas, divida o quadro abaixo em cinco setores, com dois círculos em cada um. 
 
 
 
 
 
 
 
 
 
 
 
 
 
12. Na lavanderia: A lavanderia Sol Nascente recebeu 6 blusas, 20 camisas, 10 calças, 5 ternos e 5 saias para lavar. A recepcionista 
anotou o nome de suas freguesas: Amélia, Lucinda, Solange, Carmen e Maria. O problema é que ela perdeu o bloco de anotações e 
agora está tentando descobrir a que pertencem todas aquelas roupas. 
 Ela só se lembra que: Amélia entregou 9 peças; Lucinda só entregou camisas e calças; Solange não entregou nenhuma blusa; Carmen 
 só entregou camisas, calças e saias; Maria não entregou nenhuma camisa. As camisas que Lucinda entregou foram o dobro das 
 calças que ela mandou lavar. Carmen e Maria mandaram lavar a mesma quantidade de calças. As calças que Amélia mandou lavar 
 eram a metade da quantidade de calças que Lucinda entregou. Só quatro pessoas entregaram calças para lavar. Camen entregou 9 
 peças para lavar, sendo que quatro eram camisas. Solange entregou 7 peças, sendo que algumas delas eram ternos. Amélia não 
 entregou nenhuma saia, entregou 1 terno, entregou mais calças do que terno e entregou 3 blusas. Quantas e quais peças entregou 
 cada freguesa? 
PEÇAS NOMES 
BLUSAS CAMISAS CALÇAS TERNOS SAIAS 
 
 
 
 
 
 
13. Lotes iguais: Um homem possui um pedaço de terra em forma de L e pretende doar o terreno aos seus filhos, que são em número 
de quatro. Ele quer dividi-lo em lotes idênticos, todos os quatro exatamente do mesmo tamanho e formato. Como fazer? 
 
 
 
 
 
 
 
 
 
 
 
 
14. Separando as bolas: Dividir o quadrado abaixo em quatro partes iguais, com 3 linhas retas, de modo que cada parte contenha 3 
esferas cada uma. 
 
 
 
 
 
 
 
 
 
 
15. Triângulos ligeiros: Transformar a figura abaixo em três triângulos, mexendo apenas dois palito. 
 
 
 
 
 
 
 
 
 
16. Os missionários e os canibais: Três missionários e três canibais chegam à margem de um rio em plena selva. Encontram um bote 
capaz de conduzir apenas duas pessoas. Os missionários percebem que devem ser prudentes para não permitir que os canibais se 
tornem, em qualquer momento, numericamente superior a eles, ou correrão o risco de ser devorados. Como será possível que todos 
cruzem o rio sem que os canibais matem qualquer dos missionários? 
 
17. Os dez abajures: Como você disporia dez abajures de pé numa sala de estar quadrada de modo que a cada parede correspondesse 
um número igual de lâmpadas? 
 
 
 
 
 
 
 
ALGORITMOS 
 
18. Agora que você já conhece um algoritmo, então faça um algoritmo para escovar os dentes. 
 
19. Escreva com suas palavras o que são constantes e variáveis e os tipos em que são classificados. Dê exemplos. 
 
20. Identifique o tipo das constantes abaixo: 
a) “Araguatins, 05 de agosto de 2008” 
b) “45 * 10V2 + 3 / 5 ** 2” 
c) verdadeiro 
d) “falso” 
e) 4,325 * 10 ** -3 
f) Maria gosta de brincar 
g) “!!!!!|||||%%%%%” 
h) 43% 
i) Falso 
 
21. Verifique os identificadores abaixo, se forem válidos marque V, caso contrário marque F: 
a) Maria mora em São Paulo ( ) 
b) nomefunc ( ) 
c) !idade ( ) 
d) joao_pedro ( ) 
e) salário-bruto ( ) 
f) nota10 ( ) 
g) 1ano ( ) 
h) endereço/logradouro ( ) 
i) “CEP “ ( ) 
j) (SEXO) ( ) 
 
22. Usando as regras que você aprendeu, forme identificadores para as seguintes variáveis: 
25. Uma variável para receber o valor médio das idades da população de Araguatins 
_________________________________ 
26. Uma variável para receber a data de nascimento de um funcionário 
__________________________________________ 
27. Uma variável para receber o nome da esposa ou marido de um cliente 
_________________________________________ 
 
23. No nosso algoritmo utilizaremos 5 variáveis para armazenar a idade, o sexo, a altura, o nome e o estado civil (sendo que o estado 
civil será somente definido pelos valores verdadeiro para casado e falso para outros). 
 Faça as declarações necessárias para a criação destas variáveis. 
 
24. Utilizando o comando de atribuição “�”, faça: 
a) atribua um valor numérico para a variável (saldo_banco) 
b) atribua um valor literal para a variável (musica) 
c) atribua um valor lógico para a variável (eu_aprenderei_algoritmo) 
 
25. Resolva as seguintes expressões aritméticas: 
a) 1 + 46 * (3 ** 2) 
b) 16 * 2 + (256 – 243) / 2 
c) (25 * 2 / (19456 – 19455)) 
d) (45 / 7 + 16 * 5 – (81 * 4)) 
e) (9 * 4) * (48 / 24) / (25 / 5 + 1) 
 
26. Dadas as variáveis abaixo e de acordo com as atribuições, verifique o resultado das relações seguintes: 
declare valor, numero, numero1 numérico 
delare nome, endereco literal 
declare conjuge lógico 
valor � 35 
numero1 � 2 
numero � 12 
nome � “Sebastiana” 
endereço � “Rua 34, número 37162 St dos desabrigados” 
cônjuge � verdadeiro 
 
a) (numero1 + 32) > valor 
b) RESTO (42,7) + 12 < > numero 
c) nome = “Sebastia” 
d) endereco < > “Rua 34, número 37162 St dos desabrigados” 
e) conjuge = falso 
 
27. Considerando a, b e c variáveis numéricas, contendo os valores: 1; 4,5 e 8, respectivamente; nome e cor variáveis literais 
contendo as seqüências de caracteres “TANIA” e “BRANCO” e teste variável lógica contendo o valor verdadeiro, determinar os 
resultados obtidos da avaliação das seguintes expressões lógicas: 
a) a = 1 e teste 
b) nome = “PEDRO” ou cor < > “BRANCO” 
c) não teste ou RESTO (B,2) = 0,5 
d) C < 10 ou teste e cor = “PRETO” 
e) teste e não teste 
 
28. Quais seriam os valores obtidos das expressões a seguir, supondo a, b e c variáveis literais contendo “BENS”, “!”, “PARA”, 
respectivamente? 
a) a | b | c 
b) a | c | b 
c) c | a | b 
 
29. Crie um algoritmo que receba do usuário 4 valores numéricos e mostre a média aritmética dos números digitados. 
 
30. Crie um algoritmo que leia o nome de um funcionário, o valor de seu salário bruto, o valor dos descontos e o valor dos acréscimos a 
serem aplicados no salário bruto. Escreva o nome do funcionário e o seu salário líquido. 
 
31. Crie um algoritmo que leia o nome e o valor do salário líquido de uma determinada pessoa. Escreva o nome da pessoa e o seu salário 
aumentado de 20%. 
 
32. Crie um algoritmo que receba do usuário: 
 A quantidade de quilômetros que um determinado carro faz com um litro de combustível; 
 O valor inicial do odômetro ao iniciar um determinado percurso; 
 O valor finaldo odômetro ao terminar o percurso. 
 
 Calcule e escreva: 
� A quantidade aproximada de litros de combustível que foram gastos para realizar o percurso. 
 
33. Crie um algoritmo que receba do usuário: 
 O valor de uma determinada compra; 
 A quantidade de parcelas que se quer dividir o valor da compra. 
 
 Calcule e escreva: 
� O valor da compra; 
� O valor de cada parcela. 
 
34. Crie um algoritmo que receba do usuário: 
 Uma quantidade de dias qualquer. 
 
 Calcule e escreva a quantidade de voltas (em um relógio analógico) que o ponteiro de horas, o ponteiro de minutos e o ponteiro de 
 segundos dão nesta quantidade de dias. 
 
35. Faça um algoritmo que calcule quantos minutos correspondem a 3 dias. 
 
36. Faça um algoritmo que calcule e informe o valor a ser pago no IPVA do seu carro, sabendo que você deve pagar: 
 IPVA = 240,00 
 Multas = 87,00 
 Relicenciamento = 20% do valor do IPVA 
 
37. Fazer um algoritmo que calcule o valor a ser pago em sua conta telefônica ao final do mês. Sabe-se que ligações normais o valor é 
de R$ 0,10 por minuto, ligações interurbanas são de R$ 0,80 por minuto e ligações internacionais de R$ 3,00 por minuto. Neste 
mês você fez 100 ligações normais totalizando 360 minutos, fez 20 ligações interurbanas totalizando 80 minutos e 2 
internacionais totalizando 10 minutos. 
 
38. Você e mais 5 amigos foram ao boliche se divertir, ficaram por lá por duas horas, na hora de ir, vocês irão dividir a conta, só que 
não sabem quanto cada um deve pagar. Faça um algoritmo que calcule este valor, para isso você terá que ler o valor do aluguel da 
pista por hora. 
 
39. Você foi ao “Supermercado Preço Bão”, fazer algumas compras. Lá chegando você comprou 8 pães a R$ 0,15 cada, comprou 300g de 
presunto a R$ 3,00 o quilo, comprou 200g de mussarela a R$ 2,00 o quilo, comprou duas coca-colas a R$ 1,40 cada e comprou 3 
pacotes de manteiga a R$ 1,48 cada. Faça um algoritmo que calcule o valor a ser pago no caixa. 
 
40. Fazer um algoritmo que calcule o valor a ser pago à vista em um Posto de Combustível. Para isso você deverá ler : o valor do litro do 
combustível e a quantidade, em litros, que você abasteceu. Obs.: Para pagamentos à vista o posto dá 10% de desconto. 
 
ESTRUTURA CONDICIONAL 
 
41. Fazer um algoritmo que leia três valores, determine e imprima o maior deles. 
 
42. Faça um algoritmo que calcule e escreva o valor a ser pago à sua provedora de acesso à Internet, para isso você deverá ler a 
quantidade de horas que você utilizou. Sabe-se que você pagará R$ 30,00 por 20 horas de uso (valor básico), caso você tenha 
usado mais de 20 horas, então você deve acrescentar 10% do valor básico por hora extra. 
 
43. Fazer um algoritmo que leia o nome e a altura de três pessoas, determine e imprima o nome e a altura do menor deles. 
 
44. Você tem um desejo incontrolável de descobrir quantos dias você já viveu em toda a sua vida, então faça um algoritmo que leia o 
ano de nascimento de uma pessoa e o ano atual, depois calcule e escreva o nome e o número de dias, aproximados, já vividos por 
essa pessoa. 
 
45. Faça um algoritmo que leia o nome e o salário bruto de um funcionário. Sabendo que o imposto a ser descontado é de 5% sobre o 
salário bruto, calcule o salário líquido. Escreva o nome do funcionário, o salário bruto, o valor do desconto e o salário líquido. 
 
46. Um concurso de piadas foi feito no interior do Tocantins, e você foi escolhido para fazer um algoritmo que leia o nome e a nota dos 
3 candidatos finalistas, determine e escreva quem foi o vencedor e a sua nota. 
 
47. Fazer um algoritmo que leia o nome, número de faltas e a nota de um aluno. Determine se o aluno foi aprovado e escreva nome e 
mensagem de aprovado ou reprovado, considerando que: nota igual ou maior que 7,0 e número de faltas inferior a 5 aluno aprovado. 
 
48. Fazer um algoritmo que leia o nome, o cargo e o salário de um funcionário. Se o cargo for Operador, o funcionário deverá receber 
um aumento de 20%, se o cargo for Programador, o funcionário deverá receber um aumento de 18%. Escreva o nome e o novo 
salário do funcionário. 
 
49. Faça um algoritmo que leia o nome e o valor de uma determinada mercadoria de uma loja. Sabendo que o desconto para pagamento à 
vista é de 10% sobre o valor total, calcule o valor a ser pago à vista. Escreva o nome da mercadoria, o valor total, o valor do 
desconto e o valor a ser pago à vista. 
 
50. Fazer um algoritmo que leia os seguintes dados de três pessoas: Nome, Salário e a Idade. 
 Calcule e escreva: a soma das idades de todas as pessoas, a média da idade destas pessoas, a média de renda conforme 
 os salários informados. 
 
51. Faça um algoritmo que possibilite ao usuário do programa, informar o nome e o salário de três pessoas. No desenvolvimento, 
estruture uma seqüência lógica que informe para o usuário qual é o maior salário. 
 
52. Faça um algoritmo que leia uma letra e informe ao usuário se esta letra informada é ou não uma vogal. 
 
53. Faça um algoritmo que leia um valor qualquer. Analisando este número, se for positivo escreva seu triplo, e se não for, emita uma 
mensagem que informe o tipo de número (negativo ou nulo). 
 
54. Fazer um algoritmo que leia um número qualquer e verifique se o mesmo é par ou ímpar. Caso seja par escreva na tela o seu 
antecessor e caso seja ímpar, escreva na tela o seu sucessor. 
 
55. Faça um algoritmo que leia quatro valores. Calcule e escreva dentre os números lidos aqueles maiores que a média aritmética dos 
mesmos. 
 
56. Algoritmo 
 declare b1, b2, b3 lógico 
 se b1 então 
 comando1 
 senão 
 se b2 então 
 se b3 então 
 comando2 
 senão 
 comando3 
 comando4 
 fim-se 
 fim-se 
 fim-se 
 comando5 
 fim-algoritmo. 
 
 
 
Dado o algoritmo ao lado responda: 
 Quais os comandos seriam executados para os 
valores das variáveis dispostas abaixo: 
a) b1 = V 
 b2 = V 
 b3 = V 
 
b) b1 = F 
 b2 = V 
 b3 = V 
 
c) b1 = V 
 b2 = F 
 b3 = V 
57. Uma determinada empresa de transporte trabalha com três tipos de passagens: econômica, simples ou de luxo. A passagem 
econômica custa R$ 350,00, a simples R$ 400,00 e a de luxo R$ 500,00. Se o passageiro escolher serviço de bordo especial, 
pagará a mais R$ 30,00. Crie um algoritmo que leia o valor pago por um passageiro e escreva qual tipo de passagem ele adquiriu e 
se optou por serviço de bordo especial ou não. 
 
58. Uma determinada escola aplica uma avaliação cujo valor total é de 7,5 pontos. Sabendo que a primeira questão desta avaliação vale 
3,0 pontos, a segunda vale 2,0 pontos e a terceira vale 2,5 pontos. Crie um algoritmo que recebendo o resultado (certo ou errado) 
de cada uma das questões da prova de um determinado aluno, mostre na tela a sua nota. 
 
59. Crie um algoritmo que receba dois números e a operação que deve ser aplicada nestes números: adição, subtração, multiplicação ou 
divisão. Mostre na tela o resultado encontrado. Lembre-se que não existe divisão por zero. 
 
60. Crie um algoritmo que leia três números e os escreva em ordem crescente. 
 
REPETIÇÃO 
 
61. Fazer um algoritmo que leia 34 valores, em reais, e retorne a quantidade de centavos que correspondem estes valores em reais. 
 Ex: 2 reais correspondem a 200 centavos 
 1,5 reais correspondem a 150 centavos 
 Depois de calcular, escreva se a quantidade de centavos é pouca ou não (adote que valores menores que 500 centavos são pouco). 
 
62. Faça uma algoritmo que leia o nome, o salário e a quantidade de horas trabalhadas por dia, de 250 funcionários. 
 Depois calcule e escreva o salário final de cada funcionário (função) 
 Sabe-se que: 
 Funcionários que trabalham 2 horas não recebem acréscimo 
 Funcionários que trabalham mais de 2 horas e menos de 4 horas recebem acréscimo de 20% 
 Funcionários que trabalham 4 horasou mais recebem acréscimo de 30% 
 
63. Faça um algoritmo que leia o nome, o valor de compra e o tipo de 110 mercadorias de um estoque: 
 Calcule e escreva: 
 O valor total das mercadorias 
 O valor médio das mercadorias 
 Quantas mercadorias têm o valor maior ou igual a 100. 
 
64. Faça um algoritmo que leia a altura, o sexo e o nome de 300 pessoas. 
 Você deve calcular e escrever: 
 A quantidade de mulheres 
 A média das alturas das mulheres 
 A soma das alturas 
 
65. Faça um algoritmo que leia o nome e as três notas de 120 alunos. 
 Calcule e escreva para cada aluno: 
 A soma das suas notas (sub-rotina) 
 A média (função) 
 Se o aluno foi aprovado ou não (média > = 7,0 aprovado) 
 Para todos (geral) 
 A soma das médias (sub-rotina) 
 A média geral (função) 
 
66. Faça um algoritmo que leia 274 números, determine e escreva o maior deles. 
 
 
67. Fazer um algoritmo que leia 40 idades e calcule a média aritmética entre elas. Escreva o valor obtido. 
 
68. Sabe-se que foi feita uma entrevista com 1000 pessoas. Faça um algoritmo que leia as respostas das pessoas entrevistadas (SIM 
ou NÃO) e calcule quantas pessoas responderam SIM e quantas responderam NÃO. Escreva os valores encontrados. 
 
69. Um comerciante fez um levantamento no seu estabelecimento e verificou possuir 200 mercadorias diferentes. Faça um algoritmo 
que, dados os preços e os códigos das mercadorias, encontre e escreva a média dos preços das mesmas. Escreva também o código 
da mercadoria mais cara e o código da mais barata. 
 
70. Uma empresa possui 100 funcionários. Sabe-se que cada funcionário deve receber um aumento conforme um nível a que pertence. 
Os funcionários do nível A receberão aumento de 10%, os funcionários do nível B receberão aumento de 15% e os funcionários de 
nível C receberão aumento de 18%. Faça um algoritmo que leia o nível e o salário de cada funcionário. Calcule e escreva o seu novo 
salário (para cada funcionário). 
 
71. Faça um algoritmo que leia um número indeterminado de nomes e salários. Calcule e escreva a média entre os salários lidos. O flag 
de interrupção é o nome igual a “FIM”. 
 
72. Faça o exercício 70 novamente, considerando que não se sabe o número de funcionários, pois o mesmo varia de mês para mês. O 
flag de interrupção será nível igual a “Z”. 
 
73. Fazer um algoritmo que leia e escreva o nome e altura das moças inscritas em um concurso de beleza. Para cada moça leia seu nome 
e sua altura. O último dado que não corresponde a nenhuma moça, conterá a palavra “VAZIO” no lugar do nome. Calcule e escreva a 
maior altura encontrada. 
 
74. Foi feita uma pesquisa de audiência de canal de TV em várias casas de uma certa cidade, num determinado dia. Para cada casa 
visitada, foi fornecido o número do canal (4, 5, 7, 12) e o número de pessoas que o estavam assistindo naquela casa. Se a TV 
estivesse desligada, nada era anotado, ou seja, esta casa não entrava na pesquisa. Fazer um algoritmo que: 
 Leia um número indeterminado de dados, sendo que o flag corresponde ao número de canal igual a zero 
 Calcule a porcentagem de audiência para cada emissora 
 Escreva o número do canal e a sua respectiva porcentagem. 
 
75. Fazer um algoritmo que: 
 Leia um número indeterminado de dados contando cada um a idade de um indivíduo 
 O último dado, que não entrará nos cálculos, contém o valor da idade igual a zero 
 Calcule e escreva a idade média deste grupo de indivíduos. 
 
76. Tem-se um conjunto de dados contendo a altura e o sexo (masculino ou feminino) de 50 pessoas. Fazer um algoritmo que calcule e 
escreva: 
 A maior e a menor altura do grupo 
 A média de altura das mulheres 
 O número de homens. 
 
77. A conversão de graus Fahrenheit para Centígrados é obtida pela fórmula: C = 5 (F – 32) / 9 
 Escreva um algoritmo que calcule e escreva uma tabela de graus centígrados em função de graus Fahrenheit que variem de 50 a 
 150 de 1 em 1. 
 
78. Um comerciante deseja fazer o levantamento do lucro das mercadorias que ele comercializa. Para isto, mandou ler para cada 
mercadoria nome, preço de compra e preço de vendas das mesmas. Fazer um algoritmo que: 
 Determine e escreva quantas mercadorias proporcionam: 
o Lucro < 10% 
o 10% < = Lucro < = 20% 
o Lucro > 20% 
 Determine e escreva o valor total de compra e de venda de todas as mercadorias, assim como lucro total. 
 
79. Uma universidade deseja fazer um levantamento sobre o seu concurso vestibular. Para cada curso é fornecido o seguinte conjunto 
de valores: 
 O código do curso 
 Número de vagas 
 Número de candidatos do sexo masculino 
 Número de candidatos do sexo feminino 
 Último conjunto, para indicar fim de dados, contém o código do curso igual a zero. 
Fazer um algoritmo que: 
o Calcule e escreva, para cada curso, o número de candidatos por vaga e a porcentagem de candidatos do sexo 
feminino (escreva também o código correspondente do curso) 
o Determine o maior número de candidatos por vaga e escreva esse número juntamente com o código do curso 
correspondente (supor que não haja empate) 
o Calcule e escreva o total de candidatos.

Outros materiais