Escolar Documentos
Profissional Documentos
Cultura Documentos
CADERNO DE EXERCÍCIOS
LINGUAGEM DE PROGRAMAÇÃO I
1. Introdução à resolução de problemas
1.1 Você tem 12 bolas de bilhar, de número e cores diferentes, mas todas
idênticas (de mesmo peso e formato), com exceção de uma, que é defeituosa.
Esse defeito consiste em uma diferença de peso. Mas você não sabe se ela é
mais leve ou mais pesada que as outras. Problema: utilizando-se uma balança
de pratos é possível identificar qual a bola de peso diferente com somente 3
(três), e apenas três, medições? Alem disso, é possível saber se ela é mais
pesada ou mais leve? Como? Faca o algoritmo para este problema.
1.2 Oito carros, de marcas e cores diferentes estão alinhados, lado a lado, para
uma corrida. As cores não têm relação com as das equipes de Fórmula 1.
Estabeleça a ordem em que os carros estão dispostos, baseando-se nas
seguintes informações:
• O FERRARI está entre os carros 'vermelho' e 'cinza'.
• O carro 'cinza' está à esquerda do LOTUS.
• O MACLAREN é o segundo carro à esquerda do FERRARI e o primeiro à
direita do carro 'azul'.
• O TYRREL não tem carro a sua direita e esta logo depois do carro 'preto'.
• O carro preto está entre o TYRREL e o carro 'amarelo'.
• O JORDAN não tem carro algum à esquerda: está a esquerda do carro
'verde'.
• A direita do carro 'verde' está o MARCH.
• O LOTUS é o segundo à direita do carro 'creme' e o segundo a esquerda
do carro 'marrom'.
• O WILLIAN é o segundo à esquerda do BENETTON.
1.5 Um algoritmo não pode conter um comando como “Escreva todos os números
inteiros positivos”. Por quê?
CICLO BÁSICO
1.6 Suponha que temos um robô a nossa disposição. Esse robô chama-se MANNY
e precisa ser ensinado a fazer determinadas tarefas. Para ensinar o MANNY,
vamos fazer uso do português para passar-lhe as instruções necessárias à
execução de cada atividade. Escreva os passos necessários para o nosso robô
executar as seguintes tarefas:
a) encher uma bacia com água;
b) trocar uma lâmpada no teto de sua casa;
c) trocar o pneu de um carro;
d) calcular a sua idade daqui a 20 anos;
e) calcular a média de um aluno com 3 notas.
1.9 Um pai preocupado com a saúde de seus filhos quer que eles comam maçãs,
mas não sabe fazer a distribuição. Se der 5 maçãs para cada filho, vão lhe sobrar
quatro, se der 6, vai faltar uma. Quantos filhos e quantas maçãs ele tem?
1.10 Daniela é mais jovem do que Adriano. Carlos é mais velho do que Daniela.
Qual dessas conclusões é verdadeira?
Adriano é mais velho do que Carlos.
Carlos é mais velho do que Adriano.
Daniela é a mais jovem dos três.
1.11 Distribua os números de 1 a 9 nos círculos abaixo, de modo que a soma das
linhas seja sempre 10.
CICLO BÁSICO
1.12 Em uma folha de papel traçam-se duas retas, formando um ângulo de 15°.
Ao utilizar uma lente que aumenta três vezes, quantos graus passará a ter o
ângulo?
1.13 Oito pessoas de uma só família estão sentadas em volta de uma mesa
redonda. Seu Daniel é o chefe da família, é casado com dona Marina, ótima
cozinheira, principalmente aos domingos, quando toda a família vem almoçar. Eles
têm 3 filhos : Claudinho, que é casado com Doroti; Luísa, que é solteira e estuda
nos Estados Unidos; e Júlio, que é viúvo. A filha de Claudinho e Doroti chama-se
Sônia e sempre se senta entre os dois. Os filhos de Júlio chamam-se Pedro e
Paulo, sempre estão brigando, e a avó não permite que se sentem juntos. Júlio
sempre coloca os cotovelos na mesa e isso irrita Doroti, que sempre fica longe
dele. Júlio prefere sentar-se no lado esquerdo do pai. Dona Marina tem um
carinho especial pelo neto Pedro e está sentada ao lado dele, enquanto conversa
animadamente com sua nora, que está à sua esquerda. Paulo sempre chega
depois que o almoço foi servido e nunca fica contente com o lugar que sobrou
para ele. Em que lugares estão sentadas todas as pessoas em volta da mesa ?
2.2 Supondo que as variáveis Nb, Na, Nmat e Sx sejam utilizadas para armazenar
a nota de um aluno, seu nome, o número de matrícula e sexo,
respectivamente. De qual tipo deve ser cada uma?
CICLO BÁSICO
2.3 Encontre os erros dos seguintes tipos e nomes de variáveis:
inteiro endereço, inteiro nfilhos, inteiro valor$, inteiro xpto, inteiro c, inteiro
peso, caractere idade, caractere x , logico nome.
3 EXPRESSÕES E OPERADORES
3.1 O que são expressões aritméticas?
CICLO BÁSICO
3.2 Seguindo a prioridade dos operadores, qual é o resultado das seguintes
operações
a) 4**2/4+17-5/2,5
b) 3**3*2+(4-6-1)/4+11
c) 3* (7 DIV 2)^2+(4-6)/4+1+(4MOD2)
3.5 Qual o resultado das expressões lógicas abaixo, sabendo-se que os valores de
A e B são, respectivamente, TRUE e FALSE:
a) not A and B or A and not B
b) not (not (A or B) and (A or B))
c) A or B and not A or not B
d) (A or B) and (not A or not B)
4 Estruturas Seqüenciais
4.1 Leia duas variáveis A e B. A seguir, calcule o produto entre elas e atribua à
variável PROD. A seguir mostre a variável PROD com uma mensagem
correspondente.
4.6 Escreva um algoritmo que leia o nome de um vendedor, o seu salário fixo e o
total de vendas efetuadas por ele no mês (em dinheiro). Sabendo que este
vendedor ganha 15% de comissão sobre suas vendas efetuadas, informe o
seu salário no final do mês.
4.8 Escreva um algoritmo que leia o código de uma peça 1, o número de peças do
tipo 1, o valor unitário de cada peça do tipo 1, o código de uma peça 2, o
número de peças do tipo 2, o valor unitário de cada peça do tipo 2 e calcula e
mostra o valor a ser pago.
4.11Dois carros (x e y) saem de uma mesma cidade. O carro X sai com velocidade
constante de 60 Km/h e o carro Y com velocidade constante de 90 Km/h. Crie
um algoritmo que faça a leitura de uma distância (em Quilômetros) e calcule
quanto tempo leva para o carro mais veloz ficar a esta distância do outro carro.
4.21Crie um algoritmo que leia um nome do teclado e ver se é igual ao seu nome.
Imprimir conforme o caso: “NOME CORRETO” ou “NOME INCORRETO”.
4.31 Calcule a dívida do cheque especial ao ser quitada 6 meses depois a uma
taxa de 5% de juros. O valor do empréstimo deve ser informado.
4.37 Dada a razão de uma PA e seu primeiro termo, calcular o 20º termo.
4.38 Dada a razão de uma PG e seu primeiro termo, calcular o 20º termo.
5 Estruturas de Decisão
5.1 Escreva um algoritmo que leia um valor e escreva a mensagem É MAIOR QUE
10! se o valor lido for maior que 10, caso contrário escreva NÃO É MAIOR
QUE 10!
5.2 Escreva um algoritmo que leia dois números e exiba o maior deles.
5.3 Construa um algoritmo que receba a idade do usuário e verifique se ele tem
mais de 21 anos.
CICLO BÁSICO
5.4 Escreva um programa que leia três números inteiros distintos e determine o
menor dentre eles.
5.5 Escreva um algoritmo que leia o ano atual e o ano de nascimento de uma
pessoa. A seguir, o algoritmo deve escrever uma mensagem que diga se ela
poderá ou não votar este ano (para o cálculo considere apenas o ano. Não
leve em consideração meses e dias).
5.7 Faça um algoritmo que leia 3 valores e mostre estes valores ordenados por
ordem decrescente.
5.9 Desenvolva um algoritmo que leia 3 valores inteiros e efetue o cálculo das
raízes da equação de báscara. Se não foi possível calcular as raízes, mostre
uma mensagem correspondente.
Obs.: não é possível divisão por 0 (zero) e raíz quadrada de número negativo;
5.16Elabore um algoritmo que recebe a idade de Futebol e, com base neste valor,
classifica-o em uma das seguintes categorias:
infantil = 5 - 14 anos
sub-17 = 15-17 anos
sub-20 = 18-20 anos
5.19Elabore um algoritmo que escreva qual o dia do ano, para uma dada data
introduzida pelo usuário. O algoritmo recebe o dia e o mês e depois mostra o
dia seqüencial do ano. Por exemplo, dia 23 e mês 02 corresponde ao dia 54 do
ano (considere que os anos não são bissextos).
5.24Um 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.
6 Estruturas de Repetição
6.1 Faça um programa que mostre todos os números inteiros pares de 2 a 100.
6.2 Faça um programa para gerar e exibir os números inteiros de 20 até 10,
decrescendo de 1 em 1.
6.5 Crie um algoritmo que retorne o menor inteiro positivo x cujo quadrado é
superior a um valor L fornecido.
CICLO BÁSICO
6.6 Escreva um algoritmo que calcule e imprima a tabuada do 8 (8 multiplicado
pelos números de 1 a 10).
6.7 Crie um algoritmo que calcule e mostre a média aritmética dos números pares
compreendidos entre 13 e 73.
6.12Crie um algoritmo que leia 10 valores e escrever quantos destes valores estão
no intervalo [10,20] e quantos deles estão fora deste intervalo.
6.24Crie um algoritmo que leia 1 variável X inúmeras vezes (parar quando o valor
digitado for <= 0). Para cada valor lido mostre a seqüência de 1 até o valor lido.
6.31Mostre os números entre 1000 e 2000 que quando divididos por 11 dão resto
igual a 5.
CICLO BÁSICO
6.33José tem 1,50 m e cresce 2 centímetros por ano. Pedro tem 1,10 m e cresce 3
centímetros por ano. Construa um algoritmo que calcule em quantos anos
Pedro será maior que José.
6.35Leia 100 valores. A seguir, para cada valor, mostre se o valor é primo ou não.
Em caso negativo, mostre quantos divisores o número possui.
6.37Escreva um algoritmo que calcula e mostra a soma dos números primos entre
92 e 1478.
6.47 Imprima uma PA, onde são fornecidos o primeiro termo, a razão e a
quantidade de termos desejada.
6.48 Dado um limite inferior e superior, calcule a soma de todos os números pares
contidos nesse intervalo.
6.51 Dado um limite inferior e superior, imprima todos os números primos contidos
nesse intervalo.
CICLO BÁSICO
6.53 Ler vários números até obter o finalizador 0. Indicar quantos números primos
foram lidos.
6.54 Ler vários números até obter o finalizador 0. Indicar quantos números
quadrados perfeitos (que tem raiz quadrada inteira) foram lidos.
7 Vetores
7.1 Escreva um algoritmo que leia um vetor com 50 posições de números inteiros e
mostre somente os positivos.
5 10 7 6 16 3 9 2 2 1
1 2 3 4 5 6 7 8 9 10
● V[X+1]
● V[Y+2]
● V[X+3]
● V[X*4]
● V[Y*1]
● V[Y*2]
● V[Y*3]
● V[V[X+Y]]
● V[X+Y]
CICLO BÁSICO
● V[8–V[4]]
● V[V[4]]
● V[V[V[7]]]
● V[V[1]*V[2*5]]
● V[V[X+5]]
7.6 Escreva um algoritmo que leia um vetor com 50 posições de números inteiros e
mostre somente os positivos.
7.8 Escrever um algoritmo que leia 2 vetores X(10) e Y(10) e os escreva. Crie, a
seguir, um vetor P, que seja:
1. A união de X com Y
2. A diferença entre X e Y
3. A soma entre X e Y
4. O produto entre X e Y
5. A interseção entre X e Y
Escreva o vetor P a cada operação.
7.17 Leia um vetor de 40 posições e atribua valor 0 para todos os elementos que
possuírem valores negativos.
8 Matrizes
8.1 Leia uma matriz 10 x 10 e escreva a localização (linha e a coluna) do maior
valor.
8.3 Leia duas matrizes 4 x 4 e escreva uma terceira com os maiores elementos
entre as primeiras.
8.4 Leia uma matriz 6 x 6, conte e escreva quantos valores maiores que 10 ela
possui.
8.5 Leia uma matriz 20 x 20. Leia também um valor X. O programa deverá fazer
uma busca desse valor na matriz e, ao final escrever a localização (linha e
coluna) ou uma mensagem de “não encontrado”.
8.6 Leia uma matriz 4 x 4 e troque os valores da 1ª.linha pelos da 4ª.coluna, vice-
e-versa. Escrever ao final a matriz obtida.
CICLO BÁSICO
8.7 Leia uma matriz 8 x 8 e a transforme numa matriz triangular inferior , atribuindo
zero a todos os elementos acima da diagonal principal, escrevendo-a ao final.
8.8 Leia uma matriz 5 x 5 e faça uma troca entre as diagonais superior e inferior.
Escreva-a ao final.
8.9 Leia duas matrizes 10 x 10 e faça uma substituição entre a diagonal inferior da
primeira coma diagonal superior da segunda.
Índice 1 2 3 4 5 6
Cidade 3 4 2 5 6 1
1 2 3 4 5
5 2 1 1 3
7 4 7 3 2
4 5 2 2 1
3 3 1 4 1
8 4 2 9 3
9.3 Escrever um algoritmo para ler o raio de um círculo, calcular e escrever a sua
área.
9.5 Escrever um algoritmo para ler uma temperatura em graus Celsius, calcular e
escrever o valor correspondente em Fahrenheit. Fórmula: C/5=(F-32)/9.
9.8 Uma loja vende bicicletas com um acréscimo de 50% sobre o preço de custo.
Ela paga a cada vendedor 2 salários mínimos mensais, mais uma comissão de
15% sobre o preço de custo de cada bicicleta vendida, dividida igualmente
entre eles. Escreva um algoritmo que leia o número de empregados da loja, o
valor do salário mínimo, o preço de custo de cada bicicleta, o número de
bicicletas vendidas, calcule e escreva: o salário total de cada empregado e o
lucro líquido da loja.
9.19Escrever um algoritmo para ler cinco valores inteiros, calcular a sua média, e
escrever na tela os que são superiores à média.
CICLO BÁSICO
9.20Escrever um algoritmo para ler a quantidade de horas aula dadas por dois
professores e o valor por hora recebido por cada um. Mostrar na tela qual dos
professores tem salário total maior.
9.24 Escrever um algoritmo para ler dois valores e uma das seguintes operações a
serem executadas (codificadas da seguinte forma: 1 – Adição, 2 – Subtração, 3
– Multiplicação e 4 – Divisão). Calcular e escrever o resultado dessa operação
sobre os dois valores lidos.
9.25Dadas a altura e o sexo de uma pessoa, determinar seu peso ideal, utilizando
as seguintes fórmulas: para homens: (72,7 * altura) - 58
para mulheres: (62,1 * altura) – 44,7.
Tabela 2 - classificações
Novo preço classificação
até R$80,00 Barato
entre R$80,00 e R$120,00 (inclusive) Normal
entre R$120,00 e R$200,00 (inclusive) Caro
acima de R$200,00 Muito Caro
Categoria Idade
Infantil 5a7
Juvenil 8 a 10
Adolescente 11 a 15
Adulto 16 a 30
Sênior acima de 30
Calcule e mostre:
o peso da carga do caminhão, convertido em quilos;
o preço da carga do caminhão;
o valor do imposto, sabendo-se que o imposto é cobrado sobre o preço da
carga do caminhão e que depende do estado de origem;
o valor total transportado pelo caminhão (carga mais imposto).
9.43Um banco concederá um crédito especial aos seus clientes de acordo com o
saldo médio no último ano. Faça um algoritmo que receba o saldo médio de
um cliente e calcule o valor do crédito, de acordo com a tabela a seguir. Mostre
o saldo médio e o valor do crédito.
9.47Faça um algoritmo que leia o número inteiro do meio externo e imprima uma
mensagem indicando se o número lido é par ou ímpar.
9.50Faça um algoritmo para ler dois números inteiros e calcular e mostrar o valor
resultante se elevarmos a base representada pelo primeiro à potência
representada pelo segundo.