Linguagem C ListaExerciciosAlg

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 26

CADERNO DE EXERCÍCIOS

ALGORITMOS

PROF. ANGELO AUGUSTO FROZZA, M.Sc.

Fev. / 2012
(Versão 1.3)
ÍNDICE
A.  VARIÁVEIS, EXPRESSÕES E OPERADORES MATEMÁTICOS .......................................................... 3 
B.  EXERCÍCIOS DE LÓGICA .............................................................................................................. 5 
C.  EXERCÍCIOS ESTRUTURA SE...ENTAO .......................................................................................... 8 
D.  EXERCÍCIOS ESTRUTURA ESCOLHA...CASO ................................................................................ 14 
E.  EXERCÍCIOS ESTRUTURA PARA...FAÇA ...................................................................................... 17 
F.  EXERCÍCIOS ESTRUTURAS ENQUANTO‐FACA E REPITA‐FACA ..................................................... 19 
G.  EXERCÍCIOS USANDO VETORES E MATRIZES .............................................................................. 23 
H.  EXERCÍCIOS SOBRE REGISTROS ................................................................................................. 24 
I.  EXERCÍCIOS SOBRE MODULARIZAÇÃO ...................................................................................... 26 
J.  EXERCÍCIOS SOBRE ARQUIVOS .................................................................................................. 27 
K.  DESAFIOS ................................................................................................................................. 30 
CADERNO DE EXERCÍCIOS
ALGORITMOS

A. VARIÁVEIS, EXPRESSÕES E OPERADORES MATEMÁTICOS

1. Calcule o valor de cada expressão abaixo e indique o tipo do resultado (inteiro ou


real):
a) (20 - 15)/2 b) 20 - 15/2 c) 2*5/20 + 30/15*2
d) 2*(5/20) + 30/(15*2) e) 23 div 4 f) 23 mod 4
g) 35 div 6 + 2 h) 35 div 6 - 2 i) 35 div 6 * 2
j) sqrt(625) k) sqr(20) l) 2 + sqrt(21 div 5)

OBS.: sqrt(a) => (raiz quadrada de a); sqr(a) => (quadrado de a);
2 div 3 => (inteiro da divisão); 2 mod 3 => (resto da divisão).

2. Escreva em pseudocódigo, as seguintes expressões matemáticas:


a) (A + B)*C
b) TOTAL / N
c) A - B(C + D2) / E
d) baseexpoente
e ) a * bc

3. Considerando as variáveis declaradas na tabela abaixo e mais a variável


booleana TESTE, com valor FALSO, avalie as expressões a seguir, para cada
uma das três combinações de valores apresentadas:

variáveis
A B NOME PROFISSÃO
01 3 16 'MIRIAM' 'ADVOGADO'
02 5 64 'PEDRO' 'MEDICO'
03 2,5 9 'ANA' 'PROFESSOR'

a) (A + 1 >= ((B) ^ (1/2)) OU (NOME <> 'ANA'))


b) (A + 1 >= ((B) ^ (1/2)) E (PROFISSAO = 'MEDICO'))
c) (NOME <> 'ANA') OU (PROFISSAO = 'MEDICO') E (A + 1 >= ((B) ^ (1/2)))
d) NÃO TESTE E ((A + 1) >= ((B) ^ (1/2)) OU NÃO (PROFISSAO = 'MEDICO'))
e) NÃO (A + 1 >= ((B) ^ (1/2)) E TESTE)

a B c d e
01
02
03
CADERNO DE EXERCÍCIOS
ALGORITMOS

4. Coloque VERDADEIRO ou FALSO na avaliação das seguintes expressões:


a) 6 <= 7 b) (64) ^ (1/2) > (5)*2
c) 'Pseudocódigo' < 'PSEUDOCÓDIGO' d) 'Pseudocódigo' > 'turbo'
e) 3 + 5 <= 2 * 4

5. Qual é o resultado das operações quando o algoritmo encontrar as seguintes


linhas:
a) Escreva ('mario' = 'maria'); b) Escreva (2 + 4 = 6);
c) Escreva (10 - 4 > 7); d) Escreva ((2*3)>(3*2));
e) Escreva (não('a' > 'A'));

6. Com as declarações:
real soma, x
string nome, cor
booleano cod, teste, tudo

Assinale com um X os comandos de atribuição válidos.


( ) teste = cod OU ((x)*2 <> soma)
( ) tudo = soma
( ) x = nome >= cor
( ) cod = cor = 'verde'
( ) tudo = NÃO teste OU cod E (soma < x)
CADERNO DE EXERCÍCIOS
ALGORITMOS

B. EXERCÍCIOS DE LÓGICA

7. Faça um algoritmo para calcular a área de uma circunferência, considerando a


fórmula ÁREA = π * RAIO2. Utilize as variáveis AREA e RAIO, a constante π (pi =
3,14159) e os operadores aritméticos de multiplicação.

8. Faça um algoritmo que calcule a área de um triângulo, considerando a fórmula


 .
Á   . Utilize as variáveis AREA, BASE e ALTURA e os
operadores aritméticos de multiplicação e divisão.

9. Faça um algoritmo que:


a) Leia o nome;
b) Leia o sobrenome;
c) Concatene o nome com o sobrenome;
d) Apresente o nome completo.

10. Faça um algoritmo que:


a) Leia um número inteiro;
b) Leia um segundo número inteiro;
c) Efetue a adição dos dois valores;
d) Apresente o valor calculado.

11. Faça um algoritmo que:


a) Obtenha o valor para a variável HT (horas trabalhadas no mês);
b) Obtenha o valor para a variável VH (valor hora trabalhada):
c) Obtenha o valor para a variável PD (percentual de desconto);
d) Calcule o salário bruto => SB = HT * VH;
e) Calcule o total de desconto => TD = (PD/100)*SB;
f) Calcule o salário líquido => SL = SB – TD;
g) Apresente os valores de: Horas trabalhadas, Salário Bruto, Desconto, Salário
Liquido.

12. Faça um algoritmo que leia uma temperatura em graus Celsius e apresente-a
convertida em graus Fahrenheit. A fórmula de conversão é: F = (9 * C + 160) / 5,
na qual F é a temperatura em Fahrenheit e C é a temperatura em Celsius;

13. Faça um algoritmo que leia uma temperatura em Fahrenheit e a apresente


convertida em graus Celsius. A fórmula de conversão é C = (F – 32) * ( 5 / 9), na
qual F é a temperatura em Fahrenheit e C é a temperatura em Celcius.

14. Faça um algoritmo que calcule e apresente o valor do volume de uma lata de
óleo, utilizando a fórmula VOLUME = 3,14159 * RAIO2 * ALTURA.
CADERNO DE EXERCÍCIOS
ALGORITMOS

15. Faça um algoritmo que calcule a quantidade de litros de combustível gasta em


uma viagem, utilizando um automóvel que faz 12Km por litro. Para obter o
cálculo, o usuário deve fornecer o tempo gasto na viagem e a velocidade média
durante ela. Desta forma, será possível obter a distância percorrida com a
fórmula DISTANCIA = TEMPO * VELOCIDADE. Tendo o valor da distância,
basta calcular a quantidade de litros de combustível utilizada na viagem com a
fórmula: LITROS_USADOS = DISTANCIA / 12. O programa deve apresentar os
valores da velocidade média, tempo gasto na viagem, a distância percorrida e a
quantidade de litros utilizada na viagem.

16. Faça um algoritmo que leia dois valores para as variáveis A e B e efetue a troca
dos valores de forma que a variável A passe a possuir o valor da variável B e a
variável B passe a possuir o valor da variável A. Apresente os valores trocados.

17. Faça um algoritmo que leia quatro números e apresente os resultados de adição
e multiplicação dos valores entre si, baseando-se na utilização da propriedade
distributiva, ou seja, se forem lidas as variáveis A, B, C e D, devem ser somadas
e multiplicadas A com B, A com C e A com D; B com C, B com D e por último C
com D.

18. Faça um algoritmo que leia os valores de COMPRIMENTO, LARGURA e


ALTURA e apresente o valor do volume de uma caixa retangular. Utilize para o
cálculo a fórmula VOLUME = COMPRIMENTO * LARGURA * ALTURA.

19. Faça um algoritmo que leia um valor inteiro e apresente os resultados do


quadrado e do cubo do valor lido.

20. Faça um algoritmo que leia dois valores inteiros (A e B) e apresente o resultado
do quadrado da soma dos valores lidos.

21. Faça um algoritmo que leia dois valores inteiros (A e B) e apresente o resultado
da soma do quadrado de cada valor lido.

22. Faça um algoritmo que leia dois números nas variáveis Val1 e Val2, calcule sua
média na variável Media e imprima seu valor.

23. Faça um algoritmo que leia dois números nas variáveis NumA e NumB, nessa
ordem, e imprima em ordem inversa, isto é, se os dados lidos forem 5 e 9, por
exemplo, devem ser impressos na ordem 9 e 5.

24. Faça um algoritmo que leia a velocidade de um veículo em km/h e calcule e


imprima a velocidade em m/s (metros por segundo).

25. Faça um algoritmo que leia dois números inteiros (Int1 e Int2) e imprima o
quociente e o resto da divisão inteira de Int1 por Int2.
CADERNO DE EXERCÍCIOS
ALGORITMOS

26. Considere a seguinte situação: descontam-se inicialmente 10% do salário bruto


do trabalhador como contribuição à previdência social. Após esse desconto, há
um outro desconto de 5% sobre o valor restante do salário bruto, a título de um
determinado imposto. Faça um algoritmo que leia o salário bruto de um cidadão e
imprima o seu salário líquido.

DICA: Para a solução dos exercícios abaixo utilize os operadores de divisão inteira e
de módulo.

27. Leia um código de cinco algarismos (variável Codigo) e gere o digito verificador
(DigitoV) módulo 7 para o mesmo.
Supondo que os cinco algarismos do código são ABCDE, uma forma de calcular
o dígito desejado, com módulo 7 é:
DigitoV = resto da divisão de S por 7, onde
S = 6*A + 5*B + 4*C + 3*D + 2*E

28. Dado um número de três algarismos N = CDU (onde C é o algarismo das


centenas, D é o algarismo das dezenas e U o algarismo das unidades),
considere o número M constituído pelos algarismos de N em ordem inversa, isto
é, M = UDC. Gerar M a partir de N (p.ex.: N = 123 -> M = 321).

29. Admitindo que uma data é lida pelo algoritmo em uma variável inteira, e não em
uma variável do tipo data, crie um algoritmo que leia uma data no formato
DDMMAA e imprima essa data no formato AAMMDD, onde:
• A letra D corresponde a dois algarismos representando o dia;
• A letra M corresponde a dois algarismos representando o mês;
• A letra A corresponde aos dois últimos algarismos representando o ano.

30. Suponha que uma escola utilize, como código de matrícula, um número inteiro
no formato AASDDD, onde:
• Os dois primeiros dígitos, representados pela letra A, são os dois últimos
algarismos do ano da matrícula;
• O terceiro dígito, representado pela letra S, vale 1 ou 2, conforme o aluno
tenha se matriculado no 1º ou 2º semestre;
• Os quatro últimos dígitos, representados pela letra D, correspondem à ordem
da matrícula do aluno, no semestre e no ano em questão.
Crie um algoritmo que leia o número de matrícula de um aluno e imprima o ano
e o semestre em que ele foi matriculado.
CADERNO DE EXERCÍCIOS
ALGORITMOS

C. EXERCÍCIOS ESTRUTURA SE...ENTAO

31. Faça um algoritmo que leia dois números A e B e imprima o maior deles.

32. Faça um algoritmo que leia um número N e imprima “F1”, “F2” ou “F3”, conforme
a condição:
• “F1”, se N <= 10
• “F2”, se N > 10 e N <= 100
• “F3”, se n > 100

33. O sistema de avaliação de determinada disciplina, é composto por três provas. A


primeira prova tem peso 2, a segunda tem peso 3 e a terceira tem peso 5. Faça
um algoritmo para calcular a média final de um aluno desta disciplina.

34. Construa um algoritmo que receba como entrada três valores e os imprima em
ordem crescente.

35. Considere que o último concurso vestibular apresentou três provas: Português,
Matemática e Conhecimentos Gerais. Considerando que para cada candidato
tem-se um registro contendo o seu nome e as notas obtidas em cada uma das
provas, construa um algoritmo que forneça:
a) o nome e as notas em cada prova do candidato
b) a média do candidato
c) uma informação dizendo se o candidato foi aprovado ou não. Considere que
um candidato é aprovado se sua média for maior que 7.0 e se não apresentou
nenhuma nota abaixo de 5.0

36. Uma empresa de vendas tem três corretores. A empresa paga ao corretor uma
comissão calculada de acordo com o valor de suas vendas. Se o valor da venda
de um corretor for maior que R$ 50.000.00 a comissão será de 12% do valor
vendido. Se o valor da venda do corretor estiver entre R$ 30.000.00 e R$
50.000.00 (incluindo extremos) a comissão será de 9.5%. Em qualquer outro
caso, a comissão será de 7%. Escreva um algoritmo que gere um relatório
contendo nome, valor da venda e comissão de cada um dos corretores. O
relatório deve mostrar também o total de vendas da empresa.

37. Escreva um algoritmo que determine o número de dias que uma pessoa já viveu.
Considere que um mês tenha 30 dias.

38. Faça um algoritmo que leia os valores A, B e C. Mostre uma mensagem que
informe se a soma de A com B é menor, maior ou igual a C.
CADERNO DE EXERCÍCIOS
ALGORITMOS

39. Suponha que um caixa disponha apenas de notas de 1, 10 e 100 reais.


Considerando que alguém está pagando uma compra, escreva um algoritmo que
mostre o número mínimo de notas que o caixa deve fornecer como troco. Mostre
também: o valor da compra, o valor do troco e a quantidade de cada tipo de nota
do troco. Suponha que o sistema monetário não utilize moedas.

40. Uma empresa produz três tipos de peças mecânicas: parafusos, porcas e
arruelas. Têm-se os preços unitários de cada tipo de peça e sabe-se que sobre
estes preços incidem descontos de 10% para porcas, 20% para parafusos e 30%
para arruelas. Escreva um algoritmo que calcule o valor total da compra de um
cliente. Deve ser mostrado o nome do cliente. O número de cada tipo de peça
que o mesmo comprou, o total de desconto e o total a pagar pela compra.

41. A revendedora de carros Pica-Pau Ltda. paga aos seus funcionários vendedores
dois salários mínimos fixos, mais uma comissão fixa de R$ 50,00 por carro
vendido e mais 5% do valor das vendas. Faça um algoritmo que determine o
salário total de um vendedor.

42. Uma pessoa comprou quatro artigos em uma loja. Para cada artigo, tem-se
nome, preço e percentual de desconto. Faça um algoritmo que imprima nome,
preço e preço com desconto de cada artigo e o total a pagar.

43. Uma empresa irá dar um aumento de salário aos seus funcionários de acordo
com a categoria de cada empregado. O aumento seguirá a seguinte regra:
• Funcionários das categorias A, C, F, e H ganharão 10% de aumento sobre o
salário;
• Funcionários das categorias B, D, E, I, J e T ganharão 15% de aumento sobre
o salário;
• Funcionários das categorias K e R ganharão 25% de aumento sobre o salário;
• Funcionários das categorias L, M, N, O, P, Q e S ganharão 35% de aumento
sobre o salário;
• Funcionários das categorias U, V, X, Y, W e Z ganharão 50% de aumento
sobre o salário.
Faça um algoritmo que escreva nome, categoria e salário reajustado de cada
empregado.

44. Uma sorveteria vende três tipos de picolés. Sabendo-se que o picolé do tipo 1 é
vendido por R$ 0.50, o do tipo 2 por R$ 0.60 e o do tipo 3 por R$ 0.75, faça um
algoritmo que, para cada tipo de picolé, mostre a quantidade vendida e o total
arrecadado.

45. Escreva um algoritmo que, para uma conta bancária, leia o seu número, o saldo,
o tipo de operação a ser realizada (depósito ou retirada) e o valor da operação.
Após, determine e mostre o novo saldo. Se o novo saldo ficar negativo, deve ser
mostrada, também, a mensagem “conta estourada”.
CADERNO DE EXERCÍCIOS
ALGORITMOS

46. Um hotel cobra R$ 60.00 a diária e mais uma taxa de serviços. A taxa de
serviços é de:
• R$ 5.50 por diária, se o número de diárias for maior que 15;
• R$ 6.00 por diária, se o número de diárias for igual a 15;
• R$ 8.00 por diária, se o número de diárias for menor que 15.
Construa um algoritmo que mostre o nome e o total da conta de um cliente.

47. Construir um algoritmo que tome como entradas três valores distintos e os
apresente (imprima) em ordem crescente (menor para o maior).

48. Faça um algoritmo que leia 3 números inteiros distintos e escreva o menor deles.

49. Dados três valores X, Y e Z, verificar se eles podem ser os comprimentos dos
lados de um triângulo, e se forem, verificar se é um triângulo equilátero, isóscele
ou escaleno. Se eles não formarem um triângulo, escrever uma mensagem.
Antes da elaboração do algoritmo, torna-se necessário a revisão de algumas
propriedades e definições.
Propriedade – o comprimento de cada lado de um triângulo é menor do que a
soma dos comprimentos dos outros dois lados.
Definição 1 - chama-se de triângulo equilátero o que tem os comprimentos dos
três lados iguais;
Definição 2 - chama-se de triângulo isóscele o triângulo que tem os
comprimentos de dois lados iguais;
Definição 3 - chama-se triângulo escaleno o triângulo que tem os
comprimentos dos três lados diferentes.

50. Suponha que o conceito de um aluno seja determinado em função da sua nota.
Suponha, também, que esta nota seja um valor inteiro na faixa de 0 a 100,
conforme a seguinte faixa:
Nota Conceito
0 a 49 Insuficiente
50 a 64 Regular
65 a 84 Bom
85 a 100 Ótimo

Crie um algoritmo que apresente o conceito e a nota do aluno.

51. Faça um algoritmo que leia dois números e mostre qual o maior dos dois .

52. Faça um algoritmo que leia dois números e indique se são iguais ou se são
diferentes. Mostre o maior e o menor (nesta sequência).

53. Faça um algoritmo que leia três números e mostre-os em ordem decrescente.
CADERNO DE EXERCÍCIOS
ALGORITMOS

54. Faça um algoritmo que leia quatro números (Opção , Num1 , Num2 e Num3) e
mostre o valor de Num1 se Opção for igual a 2; o valor de Num2 se Opção for
igual a 3; e o valor de Num3 se Opção for igual a 4. Os únicos valores possíveis
para a variável Opção são 2, 3 e 4.

55. Calcule a média aritmética das três notas de um aluno e mostre, além do valor
da média, uma mensagem de "Aprovado", caso a média seja igual ou superior a
7; a mensagem “em prova final” caso a média seja menor que 7 e maior ou igual
a 4; e "reprovado", caso contrário.

56. Elaborar um algoritmo que lê três valores a, b, c e os escreve. A seguir, encontre


o maior dos três valores e o escreva com a mensagem : "É o maior”.

57. Elaborar um algoritmo que lê dois valores a e b e os escreve com a mensagem:


“São múltiplos” ou “Não são múltiplos”.

58. Escreva um algoritmo que leia o código de um aluno e suas três notas. Calcule a
média ponderada do aluno, considerando que o peso para a maior nota seja 4 e
para as duas restantes, 3. Mostre o código do aluno, suas três notas, a média
calculada e uma mensagem: "APROVADO" se a média for maior ou igual a 5 e
"REPROVADO" se a média for menor que 5.

59. Faça um algoritmo que leia um número inteiro e mostre uma mensagem
indicando se este número é par ou ímpar e se é positivo ou negativo.

60. O cardápio de uma lanchonete é o seguinte:


Especificação Preço unitário
100 Cachorro quente 1,10
101 Bauru simples 1,30
102 Bauru c/ovo 1,50
103 Hamburger 1,10
104 Cheeseburger 1,30
105 Refrigerante 1,00

Escrever um algoritmo que leia o código do item pedido, a quantidade e calcule


o valor a ser pago por aquele lanche. Considere que a cada execução somente
será calculado um item.

61. Um usuário deseja um algoritmo pelo qual possa escolher que tipo de média
deseja calcular a partir de três notas. Faça um algoritmo que leia as notas, a
opção escolhida pelo usuário e calcule a média:
1- aritmética
2- ponderada (pesos 3, 3, 4)
CADERNO DE EXERCÍCIOS
ALGORITMOS

62. 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

63. Um vendedor necessita de um algoritmo que calcule o preço total devido por um
cliente. O algoritmo deve receber o código de um produto e a quantidade
comprada e calcular o preço total, usando a tabela abaixo:
Código do produto Preço unitário
1001 5,32
1324 6,45
6548 2,37
0987 5,32
7623 6,45

64. Um vendedor precisa de um algoritmo que calcule o preço total devido por um
cliente. O algoritmo deve receber o código de um produto e a quantidade
comprada e calcular o preço total, usando a tabela abaixo. Mostre uma
mensagem no caso de código inválido.
Código Preço Unitário
'ABCD' R$ 5,30
'XYPK' R$ 6,00
'KLMP' R$ 3,20
'QRST' R$ 2,50

65. Crie um algoritmo em que o aluno digita duas notas bimestrais e informa se o
aluno foi aprovado ou não. Nota: Considere aprovado se a nota for maior que
5.0.

66. Escreva um algoritmo que leia dois números inteiros e determine qual é o menor
e qual é o maior também.

67. Crie o algoritmo Funcionario para calcular o aumento salarial de um empregado.


Por padrão, o aumento será de 15%. Entretanto, deve ser aplicada uma regra
diferente para cada faixa salarial. Regras:
a) se 1.500,00 <= salarioAtual < 1.750,00: aumento igual a 12%
b) se 1.750,00 <= salarioAtual < 2.000,00: aumento igual a 10%
c) se 2.000,00 <= salarioAtual < 3.000,00: aumento igual a 7%
d) se salarioAtual acima de 3.000,00: aumento igual a 5%.
CADERNO DE EXERCÍCIOS
ALGORITMOS

68. Crie um algoritmo que calcula o desconto previdenciário de um funcionário. Dado


um salário, o programa deve retornar o valor do desconto proporcional ao
mesmo. O cálculo segue a regra: o desconto é de 11% do valor do salário,
entretanto, o valor máximo de desconto é 318,20. Sendo assim, ou o algoritmo
retorna o valor equivalente a 11% sobre o salário ou 318,20.

69. Crie um algoritmo chamado Zodiaco. Este algoritmo deve ler a data do seu
aniversário e atribuir um valor para a variável inteira chamada signo, conforme
lista abaixo:
a) 1o signo do zodíaco: Aquário (21/jan a 19/fev)
b) 2o signo do zodíaco: Peixes (20/fev a 20/mar)
c) 3o signo do zodíaco: Áries (21/mar a 20/abr)
d) 4o signo do zodíaco: Touro (21/abr a 20/mai)
e) 5o signo do zodíaco: Gêmeos (21/mai a 20/jun)
f) 6o signo do zodíaco: Câncer (21/jun a 21/jul)
g) 7o signo do zodíaco: Leão (22/jul a 22/ago)
h) 8o signo do zodíaco: Virgem (23/ago a 22/set)
i) 9o signo do zodíaco: Libra (23/set a 22/out)
j) 10o signo do zodíaco: Escorpião (23/out a 21/nov)
k) 11o signo do zodíaco: Sagitário (22/nov a 21/dez)
l) 12o signo do zodíaco: Capricórnio (22/dez a 20/jan)

O algoritmo deve imprimir uma mensagem, como o exemplo: "Você é do seguinte


signo do zodíaco: Libra"

70. Crie um algoritmo que retorne verdadeiro quando um número fornecido for par.

71. Crie um algoritmo que peça o nome, a altura e o peso de duas pessoas e
apresente o nome da mais pesada e o nome da mais alta.
CADERNO DE EXERCÍCIOS
ALGORITMOS

D. EXERCÍCIOS ESTRUTURA ESCOLHA...CASO

72. Um determinado clube de futebol pretende classificar seus atletas em categorias


e para isto ele contratou um programador para criar um programa que
executasse esta tarefa. Para isso o clube criou uma tabela que continha a faixa
etária do atleta e sua categoria. A tabela está demonstrada abaixo:
IDADE CATEGORIA
De 05 a 10 Infantil
De 11 a 15 Juvenil
De 16 a 20 Junior
De 21 a 25 Profissional

Construa um programa que solicite o nome e a idade de um atleta e imprima a


sua categoria.

73. Faça um programa, utilizando estrutura de condição, que receba um número


real, digitado pelo usuário e mostre o menu para selecionar o tipo de cálculo que
deve ser realizado:
101-Raiz quadrada
102-A metade
103-10% do número
104-O dobro
Escolha a opção:

74. O programa de uma loja de móveis mostra o seguinte menu na tela de vendas:
1-Venda a Vista
2-Venda a Prazo 30 dias
3-Venda a Prazo 60 dias
4-Venda a Prazo com 90 dias
5-Venda com cartão de débito
6-Venda com cartão de crédito
Escolha a opção:

75. Faça um programa que receba o valor da venda, escolha a condição de


pagamento no menu e mostre o total da venda final conforme condições a seguir:

Venda a Vista - desconto de 10%


Venda a Prazo 30 dias - desconto de 5%
Venda a Prazo 60 dias - mesmo preço
Venda a Prazo 90 dias - acréscimo de 5%
Venda com cartão de débito - desconto de 8%
Venda com cartão de crédito - desconto de 7%
CADERNO DE EXERCÍCIOS
ALGORITMOS

76. Faça um algoritmo que receba uma data no formato DDMMAAAA e escreva qual
a estação do ano correspondente (Primavera, Verão, Outono, Inverno).

77. Elaborar um algoritmo para imprimir o número de dias de um dado mês e ano.
Anos bissextos deverão ser tratados convenientemente.
Dica: Anos bissextos são múltiplos de 4 e não são múltiplos de 100, exceto os
anos múltiplos de 400, que também são bissextos.

78. Faça um programa que lê quatro valores: I, A, B e C, onde I é um número inteiro


e positivo e A, B, e C são quaisquer valores reais. O programa deve escrever os
valores lidos e:
• se I = 1, escrever os três valores A, B e C em ordem crescente;
• se I = 2, escrever os três valores A, B e C em ordem decrescente;
• se I = 3, escrever os três valores A, B, e C de forma que o maior valor fique
entre os outros dois;
• se I não for um dos três valores acima, dar uma mensagem indicando isto.

79. Faça um algoritmo que leia a primeira letra do estado civil de uma pessoa e
mostre uma mensagem com a sua descrição (Solteiro, Casado, Viúvo,
Divorciado, Desquitado). Mostre uma mensagem de erro, se necessário.

80. Construa um algoritmo que leia um número inteiro de 1 a 7 e informe o dia da


semana correspondente, sendo domingo o dia de número 1. Se o número não
corresponder a um dia da semana, mostre uma mensagem de erro.

81. Crie um algoritmo para ler uma letra do alfabeto e mostrar uma mensagem: se é
vogal ou consoante.

82. Construa um algoritmo que, tendo como dados de entrada o preço de um


produto e um código de origem, mostre o preço junto de sua procedência (ex.
500,00 – Sul). Caso o código não seja nenhum dos especificados, o produto
deve ser encarado como importado.
Código de origem
1 – Sul 5 ou 6 – Nordeste
2 – Norte 7 ou 8 ou 9 – Sudeste
3 – Leste 10 até 20 – Centro Oeste
4 – Oeste 25 até 35 – Nordeste

83. Crie um algoritmo para uma calculadora utilizando a instrução escolha-caso para
determinar a operação que deve ser executada, conforme o usuário escolher no
menu de opções. Conforme a opção escolhida pelo usuário, uma operação
diferente da calculadora deve ser executada.

84. Crie um algoritmo que execute as funcionalidades da conta-corrente de uma


pessoa. Toda a conta tem um número, uma pessoa vinculada e um saldo. O
CADERNO DE EXERCÍCIOS
ALGORITMOS

saldo é atualizado conforme o tipo de movimentação bancária: depósito ou


retirada. Se for um depósito, o dinheiro é creditado ao saldo; se for retirada, o
dinheiro é debitado do saldo.

85. Faça um algoritmo para o jogo “pedra-papel-tesoura”. O jogo deve imprimir


vitória, empate ou derrota conforme a opção que o jogador escolher e a opção
que for sorteada aleatoriamente pelo computador. Obs.: pedra ganha de tesoura;
que ganha de papel; que ganha de pedra.

DICA: para gerar valores aleatórios use o comando ALEATORIO, conforme o


exemplo abaixo:
aleatorio 1, 5 //Indica que para gerar um valor
// aleatório entre 1 e 5
leia (numero) //Lê (gera) um número aleatório
aleatorio off //Termina o comando Aleatorio
escreva (numero) //Escreve o número gerado

86. Crie um algoritmo chamado Estacoes. Este algoritmo deve ler uma data e
armazenar na variável mes um número entre 1 e 12, correspondendo a um dos
meses do ano. No final, você deve imprimir uma mensagem conforme o exemplo:
"A estação do ano correspondente ao mês 3 é Verão"

Considere a estação prevalente para cada mês:

a) Janeiro (1): Verão


b) Fevereiro (2): Verão
c) Março (3): Verão
d) Abril (4): Outono
e) Maio (5): Outono
f) Junho (6): Outono
g) Julho (7): Inverno
h) Agosto (8): Inverno
i) Setembro (9): Inverno
j) Outubro (10): Primavera
k) Novembro (10): Primavera
l) Dezembro (10): Primavera

87. Crie um algoritmo que solicita ao usuário para digitar um número e mostra-o por
extenso. Este número deve variar entre 1 e 10. Se o usuário introduzir um
número que não está neste intervalo, mostre: "Número inválido".
CADERNO DE EXERCÍCIOS
ALGORITMOS

E. EXERCÍCIOS ESTRUTURA PARA...FAÇA

88. Some os números de 1 a 100 e imprima o valor.

89. Construa um Algoritmo que, para um grupo de 50 valores inteiros, determine:


a) A soma dos números positivos;
b) A quantidade de valores negativos;

90. Faça um algoritmo que imprima os múltiplos positivos de 7, inferiores a 1000.

91. Faça um algoritmo que imprima todos os números pares compreendidos entre
85 e 907. O algoritmo deve também calcular a soma destes valores.

92. Faça um algoritmo que calcule o valor de A, dado por:


N −1 N − 2 1
A= N+ + + ... +
2 3 N , onde N é um número inteiro positivo.

93. Uma rainha requisitou os serviços de um monge e disse-lhe que pagaria


qualquer preço. O monge, necessitando de alimentos, indagou à rainha sobre o
pagamento, se poderia ser feito com grãos de trigo dispostos em um tabuleiro de
xadrez (que possui 64 casas), de tal forma que o primeiro quadro deveria conter
apenas um grão e os quadros subsequentes, o dobro do quadro anterior. Crie um
algoritmo para calcular o total de grãos que o monge recebeu.

94. Dado o conjunto de instruções a seguir, faça um algoritmo com quatro variações,
colocando o comando de repetição adequadamente, de forma a:
a) Executar o conjunto 10 vezes;
b) Não executar nenhuma vez;
c) Executar o conjunto 100 vezes utilizando duas estruturas de repetição;
d) Executar N vezes, onde N é uma variável informada pelo usuário.
- Ler A, B
- Modulo = A mod B (calcula o resto da divisão)

95. Para uma turma de 45 alunos, construa um algoritmo que determine:


a) A idade média dos alunos com menos de 1,70m de altura;
b) A altura média dos alunos com mais de 20 anos.

96. Escreva um algoritmo que calcule o produto dos inteiros ímpares de 1 a 15 e,


então, exiba os resultados.

97. Faça um algoritmo que leia um número e imprima a sua tabela de multiplicação
de 1 até 13.
CADERNO DE EXERCÍCIOS
ALGORITMOS

98. Escreva um algoritmo que calcule os quadrados e cubos dos números de 0 a 10


e imprima os valores resultantes no formato de tabela, como segue:
Número Quadrado Cubo
0 0 0
1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
9 81 729
10 100 1000

99. Faça um algoritmo que calcule a média de salários de uma empresa, pedindo ao
usuário a quantidade de funcionários, o nome e o salário de cada funcionário e
devolvendo a média, o salário mais alto e o salário mais baixo.

100. Crie um programa que peça 10 números inteiros e apresente: a média, o maior
e o menor.

101. Escreva um algoritmo que determine o fatorial de um número. Para este


problema, tem-se como entrada o valor do número do qual se deseja calcular o
fatorial. O fatorial de 0 é igual a 1. O fatorial de um número N(N!) é definido
conforme a seguir:
N! = 1 * 2 * 3 * 4 * ... * (N-1) * N

102. Um hotel com 30 quartos cobra R$ 50,00 por diária e mais uma taxa de
serviços. A taxa de serviços é de:
• R$ 4,00 por diária, se o número de diárias for < 15;
• R$ 3,60 por diária, se o número de diárias for = 15;
• R$ 3,00 por diária, se o número de diárias for > 15.

Faça um algoritmo que imprima o nome e o total da conta de cada cliente do hotel.
Imprima também o total ganho pelo hotel.

103. Um determinado material radioativo perde metade de sua massa a cada 50


segundos. Dada a massa inicial, em gramas, faça um programa que determine o
tempo necessário para que essa massa se torne menor que 0,05 gramas.

104. Sem utilizar a operação de multiplicação, escreva um programa que multiplique


dois números inteiros. Por exemplo: 2 * 2 = 2 + 2.

105. A série de Fibonacci é formada pela sequência:


0, 1, 1, 2, 3, 5, 8, 13, 21, ...

Construa um algoritmo que gere e mostre a série até o vigésimo termo.


CADERNO DE EXERCÍCIOS
ALGORITMOS

F. EXERCÍCIOS ESTRUTURAS ENQUANTO-FACA E REPITA-FACA

106. Faça um algoritmo que leia um conjunto de números (X) e imprima sua soma
(Soma) e sua média (Media). Admita que o valor 9999 é utilizado como sentinela
para fim de leitura.
Ex.: 1, 2, 3 => Soma=6 Media=2

107. Faça um algoritmo que leia um conjunto de dados numéricos (X) e imprima o
maior (Maximo) dentre eles. Admita que o valor 9999 é utilizado como sentinela.
Ex.: 1, 2, 3 => Maior=3

108. Faça um algoritmo que leia dois números inteiros positivos (Num1 e Num2) e
imprima o quociente (Quoc) e o resto (Resto) da divisão de Num1 por Num2,
utilizando apenas as operações de adição e subtração.
Ex.: N1=10; N2=2 => Q=5 R=0

109. Faça um algoritmo que leia um conjunto de números (X) e imprima a


quantidade de números pares (QPares) e a quantidade de números impares
(QImpares) lidos. Admita que o valor 9999 é utilizado como sentinela para fim de
leitura.
Ex.: 1,2,3,4,5 => Pares=2 Impares=3

110. Faça um algoritmo que calcule e imprime a soma dos inteiros de 1 a 10. Utilize
as estruturas ENQUANTO-FACA / REPITA-FACA para fazer um laço com as
instruções de cálculo e incremento. O laço deve terminar quando o valor de x se
tornar 11.

111. Foi feita uma pesquisa com um grupo de alunos de uma universidade, na qual
se perguntou para cada aluno o número de vezes que utilizou o restaurante da
universidade no último mês. Construa um algoritmo que determine:
a) O percentual de alunos que utilizaram menos que 10 vezes o restaurante;
b) O percentual de alunos que utilizaram entre 10 e 15 vezes;
c) O percentual de alunos que utilizaram o restaurante acima de 15 vezes.

Ex.: 2, 3, 11, 12, 21, 22, 23 = a) 28%; b) 28%; c) 42%

112. Construa um algoritmo que, para a progressão geométrica 3; 9; 27; 81; ...;
6561, determine a soma de seus termos. Construa o algoritmo de maneira a não
utilizar a fórmula de soma dos termos. Faça com que o computador gere cada
um dos termos a ser somado.
Ex.: 3; 9; 27; 81; 243; 729; 2187; 6561 => 9840

113. Crie um algoritmo que peça o nome, a altura e o peso de duas pessoas e
apresente o nome e peso da mais pesada e o nome e altura da mais alta.
CADERNO DE EXERCÍCIOS
ALGORITMOS

114. Considere que, para cada um dos hotéis fazenda da região, se tenha registrado
o nome do hotel, a sua distância do centro da cidade, o número médio de
visitantes no último feriado e o tipo de acesso ao hotel (0 – acesso não asfaltado;
1 – acesso asfaltado). Construa um algoritmo que forneça:
a) O número de hoteis que distam mais de 15km do centro;
b) A quantidade média de visitantes no último feriado, nos hoteis com acesso
não asfaltado;
c) O nome e a distância do centro em Km, de todos os hoteis de acesso
asfaltado que tiveram menos de 1.000 visitantes.

Ex.: HA, DA=10, V=100, AC=0


HB, DA=20, V=50, AC=1

115. Faça um algoritmo que calcule a média de salários de uma empresa, pedindo
ao usuário o nome dos funcionários e os salários e devolvendo a média, o salário
mais alto e o salário mais baixo. Use nome = “fim” para encerrar a leitura.

116. Faça um algoritmo que leia um número e divida-o por dois (sucessivamente)
ate que o resultado seja menor que 1. Mostre o resultado da ultima divisão e a
quantidade de divisões efetuadas.

117. Escrever um algoritmo que lê um valor N inteiro e positivo e que calcula e


escreve o valor de E.
E = 1 + 1 / 1! + 1 / 2! + 1 / 3! + 1 / N!

118. Chico tem 1,50 metros e cresce 2 centímetros por ano, enquanto Zé tem 1,10
metros e cresce 3 centímetros por ano. Construa um algoritmo que calcule e
imprima quantos anos serão necessários para que Zé seja maior que Chico.

119. Escreva um algoritmo que leia um número n (número de termos de uma


progressão aritmética), a1 (o primeiro termo da progressão) e r (a razão da
progressão) e escreva os n termos desta progressão, bem como a soma dos
elementos.

120. Foi feita uma pesquisa entre os habitantes de uma região. Foram coletados os
dados de idade, sexo (M/F) e salário. Faça um algoritmo que informe:
a) a média de salário do grupo;
b) a maior e a menor idade do grupo;
c) a quantidade de mulheres com salário até R$100,00.

Encerre a entrada de dados quando for digitada uma idade negativa.

121. Faça um algoritmo que leia um número inteiro N, calcule e mostre o maior
quadrado menor ou igual a N.
Por exemplo, se N for igual a 38, o Menor quadrado é 36 (quadrado de 6).
CADERNO DE EXERCÍCIOS
ALGORITMOS

122. Faça um algoritmo que leia um número FN, calcule e mostre os N primeiros
termos da sequência de Fibonnaci (0, 1, 1, 2 , 3, 5, 8, ...). O valor lido para N
sempre será maior ou igual a 2.

123. Foi realizada uma pesquisa de algumas características físicas da população de


uma certa região, a qual coletaram os seguintes dados referentes a cada
habitante para serem analisados:
- sexo (masculino e feminino)
- cor dos olhos (azuis, verdes ou castanhos)
- cor dos cabelos (louros, castanhos, pretos)
- idade
Faça um algoritmo que determine e escreva:
a) a maior idade dos habitantes;
b) a quantidade de indivíduos do sexo feminino cuja idade está entre 18 e
35 anos, inclusive;
c) a quantidade de indivíduos que tenham olhos verdes e cabelos louros;
O final do conjunto de habitantes é reconhecido pelo valor -1 informado como
idade.

124. Faça um algoritmo que leia informações de alunos (Matricula, Nota1, Nota2 ,
Nota3) com o fim das informações indicado por Matricula = 9999 . Para cada
aluno deve ser calculada a média final de acordo com a seguinte fórmula:

Média final = [(2 * Nota1) +(3* Nota2) +(4* Nota 3)] / 9

Se a média final for igual ou superior a 5, o algoritmo deve mostrar Matrícula,


Média Final e a mensagem "APROVADO" ; se a média final for inferior a 5, o
algoritmo deve mostrar Matricula, Média Final e a mensagem "REPROVADO".

Ao final devem ser mostrados o total de aprovados, o total de alunos da turma e


o total de reprovados.

125. Faça um algoritmo que leia o número de andares de um prédio e, a seguir, para
cada andar do prédio, leia o número de pessoas que entraram e saíram do
elevador.
Considere que o elevador está vazio e está subindo, os dados se referem a
apenas uma “subida” do elevador e que o número de pessoas dentro do
elevador sempre será maior ou igual a 0.

Se o número de pessoas, após a entrada e saída for maior que 15, deve ser
mostrada a mensagem “EXCESSO DE PASSAGEIROS . DEVEM SAIR" em
seguida, o número de pessoas que devem sair do elevador, de modo que seja
obedecido o limite de 15 passageiros.

Após a entrada de pessoas no último andar o algoritmo deve mostrar quantas


pessoas irão descer.
CADERNO DE EXERCÍCIOS
ALGORITMOS

MINUTO DE DESCONTRAÇÃO:

Escreval("Lista de Exercícios de Algoritmos")


Se (aluno_diz = "não fiz a lista") Entao
Escreval("Tá lascado! :=) ")
Senao
Escreval("Vai fundo, porque a próxima lista
é mais difícil! hehe")
FimSe
CADERNO DE EXERCÍCIOS
ALGORITMOS

G. EXERCÍCIOS USANDO VETORES e MATRIZES

126. Faça um algoritmo que copie o conteúdo de um vetor em um segundo vetor.

127. Faça um algoritmo que some o conteúdo de dois vetores e armazene o


resultado em um terceiro vetor.

128. Faça um algoritmo que faça a união de dois vetores de mesmo tamanho e
mesmo tipo em um terceiro vetor com dobro do tamanho.

129. Escrever um algoritmo que lê um vetor N(20) e o escreve. Troque, a seguir, o 1º


elemento com o último, o 2º com o penúltimo etc. até o 10º com o 11º e escreva
o vetor N assim modificado.

130. Escrever um algoritmo que lê um vetor G(13) que é o gabarito de um teste de


loteria esportiva, contendo os valores 1 (coluna 1), 2 (coluna 2) e 3 (coluna do
meio). Ler, a seguir, para cada apostador, o número de seu cartão e um vetor
Resposta R (13). Verificar para cada apostador o número de acertos e escrever o
número do apostador e seu número de acertos. Se tiver 13 acertos, acrescentar
a mensagem: "GANHADOR, PARABENS".

131. Faça um algoritmo para somar duas matrizes.

132. Faça um algoritmo para calcular a transposta de uma matriz.

133. Faça um algoritmo que leia uma matriz mat 2 x 3 e imprima na tela a soma de
todos os elementos da matriz mat.

134. Faça um algoritmo que leia uma matriz mat 4 x 4, e imprima na tela a soma dos
elementos abaixo da diagonal principal da matriz mat.

135. Escreva um algoritmo que lê uma matriz M(5,5) e calcule as somas:


a) da linha 4 de M;
b) da coluna 2 de M;
c) da diagonal principal;
d) da diagonal secundária;
e) de todos os elementos da matriz;
f) Escreva estas somas e a matriz
CADERNO DE EXERCÍCIOS
ALGORITMOS

I. EXERCÍCIOS SOBRE MODULARIZAÇÃO

151. Faça uma função que recebe um número inteiro por parâmetro e retorna
verdadeiro se ele for par e falso se for ímpar.

152. Escreva um programa que leia o raio de um círculo e faça duas funções: uma
função chamada area que calcula e retorna a área do círculo e outra função
chamada perimetro que calcula e retorna o perímetro do círculo.
Área = PI * r2;
Perímetro = PI * 2 * r;

153. Escreva um programa para ler uma temperatura em graus Fahrenheit. Faça
uma função chamada celsius para calcular e retornar o valor correspondente em
graus Celsius.
Fórmula: C = ((F-32)/9)*5

154. Escreva um programa para ler as notas das duas avaliações de um aluno no
semestre. Faça um procedimento que receba as duas notas por parâmetro e
calcule e escreva a média semestral e a mensagem “PARABÉNS! Você foi
aprovado!” somente se o aluno foi aprovado (considere 6.0 a média mínima para
aprovação).

155. Faça um programa que leia a altura e o sexo (codificado da seguinte forma:
1:feminino 2:masculino) de uma pessoa. Depois faça uma função chamada
pesoideal que receba a altura e o sexo via parâmetro e que calcule e retorne seu
peso ideal, utilizando as seguintes fórmulas:
- para homens : (72.7 * h) – 58
- para mulheres : (62.1 * h) – 44.7
Observação: Altura = h (na fórmula acima).

156. Escreva um programa para ler o número de lados de um polígono regular e a


medida do lado (em cm). Faça um procedimento que receba como parâmetro o
número de lados e a medida do lado deste polígono e calcule e imprima o
seguinte:
- Se o número de lados for igual a 3, escrever TRIÂNGULO e o valor do seu
perímetro.
- Se o número de lados for igual a 4, escrever QUADRADO e o valor da sua área.
- Se o número de lados for igual a 5, escrever PENTÁGONO.
Observação: Considere que o usuário só informará os valores 3, 4 ou 5.
CADERNO DE EXERCÍCIOS
ALGORITMOS

157. Faça um programa para calcular o Fatorial de um número. Para o cálculo do


fatorial, sabemos que N! depende de (N-1)!; este por sua vez depende de (N-2)!;
e, assim por diante, até que N seja 1, quando então tem-se que fatorial de 1 é
igual a 1 mesmo. Utilize uma função que recebe como parâmetro de entrada o
número a ser calculado o fatorial, do tipo inteiro, e retorna o fatorial deste
número, também do tipo inteiro.

158. Escreva uma função que lê um caractere digitado pelo usuário e retorna este
caractere somente se ele for igual a 'S' ou 'N'. Se o caractere não for nem 'S' nem
'N', a função imprime a mensagem 'Caractere inválido. Digite novamente'. Use
esta função em um programa que fica lendo do usuário um número qualquer e
imprime este número ao cubo na tela. O programa deve ficar lendo os números
até o usuário responder 'N' à pergunta se ele deseja continuar ou não.

159. Escreva uma função que recebe 2 números inteiros n1 e n2 como entrada e
retorna a soma de todos os números inteiros contidos no intervalo [n1,n2]. Use
esta função em um programa que lê n1 e n2 do usuário e imprime a soma.

160. Faça um programa de calculadora simples com as seguintes operações


possíveis: adição, subtração, multiplicação e divisão. O programa inicia
apresentando ao usuário um menu de opções como mostrado abaixo:

**********************************************************************
* Calculadora. Opções possíveis:
* 1. Adição
* 2. Subtração
* 3. Multiplicação
* 4. Divisão
* 5. Sair do programa
*********************************************************************
Entre com sua opcao:

Crie uma função que apresenta o menu inicial acima e retorna a opção do
usuário para o programa principal.
Esta opção é então analisada e o programa principal chama as funções de
adição, subtração, multiplicação e divisão conforme a opção do usuário.
Se a opção for inválida, informe ao usuário e peça a ele para entrar com uma
opção válida.
Após a execução da operação o programa volta a apresentar o menu inicial até
que o usuário encerre o programa com a opção 5.

161. Escreva um programa que lê um valor inteiro (maior do que 1 e menor ou igual
a 10) e exibe a tabuada (até 10) de multiplicação do número lido. Você deverá
escrever as seguintes funções e procedimentos:
- Function LeNumero(n1,n2:integer):integer;
CADERNO DE EXERCÍCIOS
ALGORITMOS

Lê um número inteiro no intervalo especificado (n1, n2) e o retorna. Cada vez


que for digitado um número inválido (fora do intervalo especificado) a função
deve exibir a mensagem "Número inválido. Digite novamente!"

- Procedure Tabuada( n:integer );


Recebe como parâmetro um número inteiro e exibe na tela a tabuada de
multiplicação até 10 do número lido.
Exemplo: número lido 5
5x1=5
5 x 2 = 10
....
5 x 10 = 50

162. Escreva um programa composto de uma função Max e o programa principal


como segue:
a) A função Max recebe como parâmetros de entrada dois números inteiros e
retorna o maior. Se forem iguais retorna qualquer um deles;
b) O programa principal lê 4 séries de 4 números a,b,c e d. Para cada série lida
imprime o maior dos quatro números usando a função Max.

163. Escreva um programa que leia uma cadeia de caracteres qualquer do usuário
(tamanho máximo 60 caracteres) e imprima esta cadeia de caracteres
centralizada no meio da tela (em modo texto a tela tem 80 colunas). Para a
impressão da mensagem centralizada, escreva um procedimento que recebe
como parâmetro a cadeia de caracteres e imprime esta cadeia de caracteres
centralizada na tela.

Você também pode gostar