Vous êtes sur la page 1sur 12

UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI – CAMPUS ALTO

PARAOPEBA
ENGENHARIA DE TELECOMUNICAÇÕES

GUILHERME DUARTE DE FREITAS

LISTA DE EXERCÍCIOS 2 –
ALGORITMOS E ESTRUTURA
DE DADOS I

OURO BRANCO
2014
5.2) Uma companhia de teatro deseja montar uma série de espetáculos. A
direção calcula que, a R$5,00 o ingresso, serão vendidos 120 ingressos, e que
as despesas serão de R$200,00. Diminuindo-se R$0,50 o preço dos ingressos,
espera-se que as vendas aumentem em 26 ingressos. Faça um programa que
escreva uma tabela de valores de lucros esperados em função do preço do
ingresso, fazendo-se variar esse preço de R$5,00 a R$1,00, de R$0,50 em
R$0,50. Escreva, ainda, para cada novo preço de ingresso, o lucro máximo
esperado, o preço do ingresso e a quantidade de ingressos vendidos para a
obtenção desse lucro.
DECLARE valor_ingresso, lucro, lucro_liquido, despesas, maiorlucro,
preco_maiorlucro, quant_maiorlucro, quant NUMÉRICO;
maiorlucro  0;
despesas  200;
valor_ingresso  5;
quant  120;
ENQUANTO (valor_ingresso >= 1) FAÇA
lucro  valor_ingresso * quant;
lucro_liquido  lucro – despesas;
ESCREVA (valor_ingresso --- quant --- lucro_liquido);
SE (lucro_liquido > maiorlucro) ENTÃO
maiorlucro  lucro_liquido;
quant_maiorlucro  quant;
preco_maiorlucro  valor_ingresso;
FIMSE;
valor_ingresso  valor_ingresso – 0.5;
quant  quant + 26;
FIMENQUANTO;
ESCREVA preco_maiorlucro;
ESCREVA quant_maiorlucro;
ESCREVA maiorlucro;
5.3) Faça um programa que receba a idade de 15 pessoas, calcule e mostre:
 A quantidade de pessoas em cada faixa etária;
 A percentagem de pessoas na primeira e na última faixa etária, com
relação ao total de pessoas;
DECLARE idade, i, faixa1, faixa2, faixa3, faixa4, faixa5, NUMÉRICO;
i  1;
faixa1  0;
faixa2  0;
faixa3  0;
faixa4  0;
faixa5  0;
ENQUANTO (i < 15) FAÇA
i  i + 1;
ESCREVA “Digite a idade: “;
LEIA idade;
SE (idade > 0) E (idade < 16) ENTÃO
faixa1  faixa1 + 1;
SENÃO
SE (idade >=16) E (idade < 31) ENTÃO
faixa2  faixa2 + 1;
SENÃO
SE (idade >= 31) E (idade < 46) ENTÃO
faixa3  faixa3 + 1;
SENÃO
SE (idade >= 46) E (idade < 61) ENTÃO
faixa4  faixa4 + 1;
SENÃO
SE (idade >= 61) ENTÃO
faixa5  faixa5 + 1;
FIMSE;
FIMSE;
FIMSE;
FIMSE;
FIMSE;
FIMENQUANTO;
ESCREVA “faixa1” --- “(faixa1 * 100) / i”;
ESCREVA “faixa2”;
ESCREVA “faixa3”;
ESCREVA “faixa4”;
ESCREVA “faixa5” --- “(faixa5 * 100) / i”;

5.7) Faça um programa que receba a idade, a altura e o peso de 25 pessoas,


calcule e mostre:
 A quantidade de pessoas com idade superior a 50 anos;
 A média das alturas das pessoas com idade entre 10 e 20 anos;
 A percentagem das pessoas com peso inferior a 40 quilos entre todas
as pessoas analisadas;
DECLARE cont, idade, altura, peso, quant_sup50, alt1020, media_alt, peso_inf40
NUMÉRICO;
cont  1;
quant_sup50  0;
alt1020  0;
media_alt  0;
peso_inf40  0;
ENQUANTO (cont < 25) FAÇA
cont  cont + 1;
ESCREVA “Digite sua idade: ”;
LEIA idade;
ESCREVA “Digite sua altura: ”;
LEIA altura;
ESCREVA “Digite seu peso: ”;
LEIA peso;
SE (idade >= 10) E (idade <= 20) ENTÃO
media_alt  media_alt + altura;
alt1020  alt1020 + 1;
FIMSE;
SE (idade > 50) ENTÃO
quant_sup50  quant_sup50 + 1;
FIMSE;
SE (peso < 40) ENTÃO
peso_inf40  peso_inf40 + 1;
FIMSE;
FIMENQUANTO;
ESCREVA “quant_sup50”;
ESCREVA “media_alt / alt1020”;
ESCREVA “(peso_inf40 * 100) / cont”;

5.8) Faça um programa que receba a idade, o peso, a altura, a cor dos olhos
(A-azul, P-preto, V-verde, C-castanho) e a cor dos cabelos (P-preto, C-
castanho, L-loiro, R-ruivo) de 20 pessoas, calcule e mostre:
 A quantidade de pessoas com idade superior a 50 anos e peso
inferior a 60 quilos;
 A média das idades das pessoas com altura inferior a 1,5 metro;
 A percentagem de pessoas com olhos azuis entre todas as pessoas
analisadas;
 A quantidade de pessoas ruivas e que não possuem olhos azuis;
DECLARE idade, peso, altura, olho, olho_azul, olho_preto, olho_verde, olho_cast, cab,
cab_preto, cab_cast, cab_loiro, cab_ruivo, cont, pes5060, altura15, idade15,
pes_ruiva_azul NUMÉRICO;
cont  1;
olho_azul  0;
olho_preto  0;
olho_verde  0;
olho_cast  0;
cab_preto  0;
cab_cast  0;
cab_loiro  0;
cab_ruivo  0;
pes5060  0;
altura15  0;
idade15  0;
pes_ruiva_azul  0;
ENQUANTO (cont < 20) FAÇA
cont  cont + 1;
ESCREVA “Digite sua idade: ”;
LEIA idade;
ESCREVA “Digite seu peso: ”;
LEIA peso;
SE (idade > 50) E (peso < 60) ENTÃO
pes5060  pes5060 + 1;
FIMSE;
ESCREVA “Digite sua altura (em metros): ”;
LEIA altura;
SE (altura < 1.5) ENTÃO
altura15  altura 15 + 1;
idade15  idade15 + idade;
FIMSE;
ESCREVA “Digite a cor dos olhos (A - azul, P - preto, V - verde, C - castanho):
”;
LEIA olho;
SE (olho == A) ENTÃO
olho_azul  olho_azul + 1;
SENÃO
SE (olho == P) ENTÃO
olho_preto  olho_preto + 1;
SENÃO
SE (olho == V) ENTÃO
olho_verde  olho_verde + 1;
SENÃO
SE (olho == C) ENTÃO
olho_cast  olho_cast + 1;
FIMSE;
FIMSE;
FIMSE;
FIMSE;
ESCREVA “Digite a cor dos cabelos (P - preto, C - castanho, L - loiro, R -
ruivo): ”;
LEIA cab;
SE (cab == P) ENTÃO
cab_preto  cab_preto + 1;
SENÃO
SE (cab == C) ENTÃO
cab_cast_ cab_cast + 1;
SENÃO
SE (cab == L) ENTÃO
cab_loiro  cab_loiro + 1;
SENÃO
SE (cab == R) ENTÃO
cab_ruivo  cab_ruivo + 1;
FIMSE;
FIMSE;
FIMSE;
FIMSE;
SE (cab == R) E (olho != A) ENTÃO
pes_ruiva_azul  pes_ruiva_azul + 1;
FIMSE;
FIMENQUANTO;
ESCREVA “pes5060”;
ESCREVA “idade15 / altura15”;
ESCREVA “(olho_azul * 100) / cont ”;
ESCREVA “pes_ruiva_azul”;

5.12) Faça um programa que receba dez números inteiros e mostre a


quantidade de números primos dentre os números que foram digitados.
DECLARE n, numero, primos, divisao, resto, divide_duasvezes NUMÉRICO;
n  1;
divisao  1;
primos  0;
divide_duasvezes  0;
ENQUANTO (n<10) FAÇA
ESCREVA “Digite um número: ”;
LEIA numero;
ENQUANTO (divisao <= numero) FAÇA
resto  numero % divisao;
SE (resto == 0) ENTÃO
divide_duasvezes  divide_duasvezes + 1;
FIMSE;
SE (divide_duasvezes == 2) ENTÃO
primos  primos + 1;
FIMSE;
divisao  divisao + 1;
FIMENQUANTO;
divide_duasvezes  0;
n  n + 1;
FIMENQUANTO;
ESCREVA “primos”;

5.17) Foi feita uma pesquisa sobre a audiência de canal de TV em várias


casas de uma cidade, em determinado dia. Para cada consultada foi
fornecido um número do canal (4, 5, 7, 12) e o número de pessoas que
estavam assistindo àquele canal. Se a televisão estivesse desligada, nada era
anotado, ou seja, essa casa não entrava na pesquisa. Faça um programa
que:
 Leia o número indeterminado de dados (número do canal e número
de pessoas que estavam assistindo);
 Calcule e mostre a percentagem de audiência de cada canal.
Para encerrar a entrada de dados, digite o número ZERO.
DECLARE canal, canal4, canal5, canal7, canal12, totalcanais, perc_canal4,
perc_canal5, perc_canal7, perc_canal12 NUMÉRICO;
canal4  0;
canal5  0
canal7  0;
canal12  0;
totalcanais  0;
ENQUANTO (canal != 0) FAÇA
ESCREVA “Digite o número do canal em que está assistindo: ”;
LEIA canal;
SE (canal = 4) ENTÃO
canal4  canal4 + 1;
totalcanais  totalcanais + 1;
SENÃO
SE (canal = 5) ENTÃO
canal5  canal5 + 1;
totalcanais  totalcanais + 1;
SENÃO
SE (canal = 7) ENTÃO
Canal7  canal7 + 1;
totalcanais  totalcanais + 1;
SENÃO
SE (canal = 12) ENTÃO
Canal12  canal12 + 1;
totalcanais  totalcanais + 1;
FIMSE;
FIMSE;
FIMSE;
FIMSE;
SE (canal != 4) E (canal != 5) E (canal != 7) E (canal != 12) ENTÃO
ESCREVA “Canal inválido”;
FIMSE;
perc_canal4  (canal4 * 100) / totalcanais;
perc_canal5  (canal5 * 100) / totalcanais;
perc_canal7  (canal7 * 100) / totalcanais;
perc_canal12  (canal12 * 100) / totalcanais;
FIMENQUANTO;
ESCREVA “perc_canal4”;
ESCREVA “perc_canal5”;
ESCREVA “perc_canal7”;
ESCREVA “perc_canal12”;

5.20) Faça um programa que apresente o menu de opções a seguir:


Menu de opções:
1 – Média aritmética;
2 – Média ponderada;
3 – Sair
Digite a opção desejada.
Na opção 1: Receber duas notas, calcular e mostrar a média aritmética;
Na opção 2: Receber três notas e seus respectivos pesos, calcular e mostrar
a média ponderada.
Na opção 3: Sair do programa;
Verifique a possibilidade de opção inválida. Neste caso, o programa deverá
apresentar uma mensagem.
DECLARE opcao, nota1, nota2, media, notap1, notap2, notap3, peso1, peso2, peso3,
mediap NUMÉRICO;
ENQUANTO (opcao != 3) FAÇA
ESCREVA “Menu de opções”;
ESCREVA “1 – Média aritmética”;
ESCREVA “2 – Média ponderada”;
ESCREVA “3 - Sair”;
ESCREVA “Digite a opção desejada: ”;
LEIA opcao;
SE (opcao = 1) ENTÃO
ESCREVA “Digite uma nota: ”;
LEIA nota1;
ESCREVA “Digite outra nota: ”;
LEIA nota2;
media  (nota1 + nota2) / 2;
ESCREVA media;
FIMSE;
SE (opcao = 2) ENTÃO
ESCREVA “Digite uma nota: ”;
LEIA notap1;
ESCREVA “Digite o peso dessa nota: ”;
LEIA peso1;
ESCREVA “Digite outra nota: ”;
LEIA notap2;
ESCREVA “Digite o peso dessa nota: ”;
LEIA peso2;
ESCREVA “Digite outra nota: ”;
LEIA notap3;
ESCREVA “Digite o peso dessa nota: ”;
LEIA peso3;
mediap  (notap1 * peso1 + notap2 * peso2 + notap3 +peso3 / 3;
ESCREVA mediap;
FIMSE;
SE (opcao != 1) E (opcao != 2) E (opcao != 3) ENTÃO
ESCREVA “Opção inválida”;
FIMSE;
FIMENQUANTO;

5.22) Elabore um programa que receba a idade e a altura de várias pessoas,


calcule e mostre a média das alturas daquelas com mais de 50 anos. Para
encerrar a entrada de dados, digite a menor idade ou igual a zero.
DECLARE n, idade, altura, menor_idade, ultima_idade, idade50, altura50
NUMÉRICO;
menor_idade  0;
ultima_idade  999;
idade  0;
altura50  0;
idade50  0;
ENQUANTO (n != 0) OU (n = menor_idade) FAÇA
ESCREVA “Digite sua idade: ”;
LEIA idade;
SE (ultima_idade > idade) ENTÃO
menor_idade  idade;
FIMSE;
ESCREVA “Digite sua altura: ”;
LEIA altura;
SE (idade > 50) ENTÃO
altura50  altura50 + altura;
idade50  idade50 + 1;
FIMSE;
ultima_idade  idade;
FIMENQUANTO;
ESCREVA “altura50 / idade50”;