Buscar

Lista de exercicios 3 - Correcao

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 11 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 11 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 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
 
 
 
Ministério da Educação 
UNIVERSIDADE TECNOLÓGICA FEDERAL DO 
PARANÁ 
Câmpus Santa Helena 
 
 
Curso de Ciência da Computação 
Disciplina de Fundamentos de Programação 
Professor Dr. Fernando Henrique Campos 
Semestre 2016/1 
 
Obs.: Utilize os conhecimentos adquiridos até a aula 9 e as respectivas estruturas 
informadas em cada exercício. 
 
LISTA DE EXERCÍCIOS 03 
 
1-) Desenvolva um algoritmo que realize o cálculo das quatro operações 
básicas entre dois números. O algoritmo deverá solicitar que o usuário digite os 
dois números e depois solicitar qual operação matemática o usuário deseja 
realizar. Ao final do algoritmo deverá ser exibido o resultado da operação. 
(Utilizar a estrutura ESCOLHA). 
 
program L3_EX1; 
var 
 n1, n2, resultado: real; 
 operacao: integer; 
Begin 
 writeln('Digite o primeiro número'); 
 readln(n1); 
 writeln('Digite o segundo número'); 
 readln(n2); 
 writeln('Digite:'); 
 writeln('1 - Adição'); 
 writeln('2 - Subtração'); 
 writeln('3 - Multiplicação'); 
 writeln('4 - Soma'); 
 readln(operacao); 
 
 case (operacao) of 
 1: resultado := n1 + n2; 
 2: resultado := n1 - n2; 
 3: resultado := n1 * n2; 
 4: resultado := n1 / n2; 
 end; 
 
 writeln('O resultado é: ' , resultado:0:2); 
 readln; 
 
End. 
 
2-) Desenvolva um algoritmo para auxiliar as vendas de uma loja de roupas 
atacadista. A loja trabalha apenas com cinco tipos de peças de roupa sendo 
2 
 
estas: Meias (R$ 5,00), Calças (R$ 78,00), Camisetas (R$ 34,50), Camisas (R$ 
56,00) e Cuecas (R$ 22,00). O aplicativo deverá solicitar o código da 
mercadoria e a quantidade de peças compradas e calcular e exibir o valor que 
deverá ser pago. (Utilizar a estrutura ESCOLHA). 
 
program L3_EX2; 
var 
 qtdPecas, codigo: integer; 
 total: real; 
Begin 
 writeln('Digite a quantidade de peças adquiridas'); 
 readln(qtdPecas); 
 writeln('Digite o código da peça'); 
 writeln('1 - Meia'); 
 writeln('2 - Calças'); 
 writeln('3 - Camisetas'); 
 writeln('4 - Camisas'); 
 writeln('5 - Cuecas'); 
 readln(codigo); 
 
 case (codigo) of 
 1: total := qtdPecas * 5; 
 2: total := qtdPecas * 78; 
 3: total := qtdPecas * 34.5; 
 4: total := qtdPecas * 56; 
 5: total := qtdPecas * 22; 
 end; 
 
 writeln('O valor total a ser pago é: ' , total:0:2); 
 readln; 
 
End. 
 
3-) Elabore um aplicativo que realize a conversão de um valor em reais (R$) 
pela moeda de escolha do usuário e ao final exiba o valor da conversão ao 
usuário. 
Código Moeda Conversão 
1 Dólar 1 Dólar = 2,71 Reais 
2 Euro 1 Euro = 3,10 Reais 
3 Libra-Esterlina 1 Libra = 4,11 Reais 
4 Kuna 1 Kuna = 0,40 
5 Peso-Argentino 1 Peso = 0,32 
 
program L3_EX3; 
var 
 valor, valorFinal: real; 
 opcao: integer; 
Begin 
 writeln('O valor a ser convertido'); 
 readln(valor); 
 writeln('A moeda para qual deseja converter'); 
3 
 
 writeln('1 - Dólar'); 
 writeln('2 - Euro'); 
 writeln('3 - Libra-Esterlina'); 
 writeln('4 - Kuna'); 
 writeln('5 - Peso-Argentino'); 
 readln(opcao); 
 
 case (opcao) of 
 1: begin 
 valorFinal := valor / 2.71; 
 writeln('Você possui ' , valorFinal:0:2, ' 
Dólares'); 
 end; 
 2: begin 
 valorFinal := valor / 3.1; 
 writeln('Você possui ' , valorFinal:0:2, ' Euros'); 
 end; 
 3: begin 
 valorFinal := valor / 4.11; 
 writeln('Você possui ' , valorFinal:0:2, ' Libras-
Esterlinas'); 
 end; 
 4: begin 
 valorFinal := valor / 0.4; 
 writeln('Você possui ' , valorFinal:0:2, ' Kunas'); 
 end; 
 5: begin 
 valorFinal := valor / 0.32; 
 writeln('Você possui ' , valorFinal:0:2, ' Pesos-
Argentinos'); 
 end; 
 end; 
 readln; 
End. 
 
4-) Um banco concedera um crédito especial aos seus clientes, o valor do 
crédito para cada cliente será estipulado mediante um código atribuído quando 
foi realizada a abertura de sua conta. Faça um aplicativo que leia o nome, o 
salário mensal e o código dos clientes e calcule o valor do crédito de acordo 
com a tabela abaixo: 
 
 
Código Percentual 
1 20% do salário mensal 
2 30% do salário mensal 
3 40% do salário mensal 
4 60% do salário mensal 
 
program L3_EX4; 
var 
 nome: string; 
 salario, credito: real; 
4 
 
 codigo: integer; 
Begin 
 writeln('Digite o nome do cliente'); 
 readln(nome); 
 writeln('Digite o salário mensal do cliente'); 
 readln(salario); 
 writeln('Informe o código do 1 ao 4'); 
 readln(codigo); 
 
 case (codigo) of 
 1: credito := salario * 0.2; 
 2: credito := salario * 0.3; 
 3: credito := salario * 0.4; 
 4: credito := salario * 0.6; 
 end; 
 
 writeln('O cliente ' , nome, ' tem o credito de ' , 
credito:0:2, ' reais'); 
 readln; 
End. 
 
5-) Desenvolva um algoritmo que receba o nome de 2 times e o número de gols 
marcados por cada um deles na partida. Ao final o algoritmo deverá informar o 
time vencedor e caso não exista um vencedor deverá ser impressa a palavra 
EMPATE. 
 
program L3_EX5; 
var 
 time1, time2: string; 
 golsTime1, golsTime2: integer; 
Begin 
 writeln('Digite o nome do primeiro time'); 
 readln(time1); 
 writeln('Digite o nome do segundo time'); 
 readln(time2); 
 writeln('Digite a quantidade de gols do time ', time1); 
 readln(golsTime1); 
 writeln('Digite a quantidade de gols do time ', time2); 
 readln(golsTime2); 
 
 if (golsTime1 > golsTime2) then 
 begin 
 writeln('O time ', time1, ' foi o vencedor'); 
 end 
 else 
 begin 
 if (golsTime2 > golsTime1) then 
 begin 
 writeln('O time ', time2, ' foi o vencedor'); 
 end 
 else 
 begin 
 writeln('O resultado do jogo foi empate'); 
5 
 
 end; 
 end; 
 readln; 
End. 
 
6-) Desenvolva um algoritmo que deverá solicitar a nota de atendimento de um 
telemarketing. A nota poderá ter como valor máximo 10 e mínimo 0. Após o 
usuário digitar a nota, o algoritmo deverá exibir a classificação do atendimento 
seguindo a tabela abaixo: 
 
Nota Classificação 
8,0 até 10,0 Ótimo 
7,9 até 6,5 Bom 
6,4 até 5,0 Regular 
4,9 até 2,5 Ruim 
2,4 até 0 Péssimo 
 
program L3_EX6; 
var 
 nota: integer; 
Begin 
 writeln('Digite a nota do atendimento de 1 a 10'); 
 readln(nota); 
 
 if (nota <= 10) AND (nota >= 8) then 
 begin 
 writeln('O atendimento foi classificado como Ótimo'); 
 end; 
 if (nota <= 7.9) AND (nota >= 6.5) then 
 begin 
 writeln('O atendimento foi classificado como Bom'); 
 end; 
 if (nota <= 6.4) AND (nota >= 5) then 
 begin 
 writeln('O atendimento foi classificado como Regular'); 
 end; 
 if (nota <= 4.9) AND (nota >= 2.5) then 
 begin 
 writeln('O atendimento foi classificado como Ruim'); 
 end; 
 if (nota <= 2.4) AND (nota >= 0) then 
 begin 
 writeln('O atendimento foi classificado como Péssimo'); 
 end; 
 readln; 
End. 
 
7-) Desenvolva um algoritmo que auxilie o professor a verificar se o seu aluno 
foi aprovado, reprovado ou está de exame em sua disciplina. O usuário deverá 
informar as notas da primeira e segunda provas do aluno e o seu percentual de 
faltas. O Algoritmo deverá calcular a média das provas e para verificar a 
situação do aluno o algoritmo deverá obedecer aos seguintes critérios: 
6 
 
 
Média Situação 
Maior ou igual a 7 Aprovado 
Menor que 7 e Maior ou igual a 5 Exame 
Menor que 5 Reprovado 
OBS.: Caso o percentual de faltas do aluno seja maior que 25%, ele estará 
reprovado automaticamente independente de sua Média 
 
program L3_EX7; 
varn1, n2, media, faltas: real; 
Begin 
 writeln('Digite a 1ª nota do aluno'); 
 readln(n1); 
 writeln('Digite a 2ª nota do aluno'); 
 readln(n2); 
 media := (n1 + n2) / 2; 
 
 writeln('Digite a % de faltas do aluno'); 
 readln(faltas); 
 
 if (faltas <= 25) then 
 begin 
 if (media >= 7) then 
 begin 
 writeln('Aluno aprovado'); 
 end 
 else 
 begin 
 if (media >= 5) then 
 begin 
 writeln('O aluno está de exame'); 
 end 
 else 
 begin 
 writeln('O aluno está reprovado'); 
 end; 
 end; 
 end 
 else 
 begin 
 writeln('O aluno está reprovado'); 
 end; 
 readln; 
End. 
 
8-) Desenvolva um algoritmo quer leia 3 valores (A, B e C) representando as 
medidas dos lados de um triângulo. Ao final o algoritmo deverá informar se os 
valores informados formam ou não um triângulo. Obs.: para formar um 
triângulo, o valor de cada lado deve ser menor que a soma dos outros 2 lados. 
 
program L3_EX8; 
var 
7 
 
 a, b, c: real; 
Begin 
 writeln('Digite o valor do 1º lado do triângulo'); 
 readln(a); 
 writeln('Digite o valor do 2º lado do triângulo'); 
 readln(b); 
 writeln('Digite o valor do 3º lado do triângulo'); 
 readln(c); 
 
 if (a < (b + c)) then 
 begin 
 if (b < (c + a)) then 
 begin 
 if (c < (a + b)) then 
 begin 
 writeln('Realmente é um triângulo'); 
 end 
 else 
 begin 
 writeln('Isto não é um triângulo'); 
 end 
 end 
 else 
 begin 
 writeln('Isto não é um triângulo'); 
 end; 
 end 
 else 
 begin 
 writeln('Isto não é um triângulo'); 
 end; 
 
 readln; 
End. 
 
9-) Desenvolva um algoritmo que receba as idades de 2 homens e de 2 
mulheres (considere que as idades dos homens serão sempre diferentes entre 
si, bem como as das mulheres). Ao final o algoritmo deverá calcular e informar 
a soma das idades do homem mais velho com a mulher mais nova, e o produto 
das idades do homem mais novo com a mulher mais velha. 
 
program L3_EX9; 
var 
 idH1, idH2, idM1, idM2: integer; 
 hNovo, hVelho, mNova, mVelha: integer; 
Begin 
 writeln('Digite a idade do primeiro homem'); 
 readln(idH1); 
 writeln('Digite a idade do segundo homem'); 
 readln(idH2); 
 writeln('Digite a idade da primeira mulher'); 
 readln(idM1); 
 writeln('Digite a idade da segunda mulher'); 
8 
 
 readln(idM2); 
 
 if (idH1 > idH2) then 
 begin 
 hVelho := idH1; 
 hNovo := idH2; 
 end 
 else 
 begin 
 hVelho := idH2; 
 hNovo := idH1; 
 end; 
 
 if (idM1 > idM2) then 
 begin 
 mVelha := idM1; 
 mNova := idM2; 
 end 
 else 
 begin 
 mVelha := idM2; 
 mNova := idM1; 
 end; 
 
 writeln('A soma da idade do homem mais velho com a mulher 
mais nova é: ', (hVelho + mNova)); 
 writeln('O produto da idade do homem mais novo com a mulher 
mais velha é: ', (hNovo * mVelha)); 
 readln; 
End. 
 
10-) Desenvolva um algoritmo onde o usuário poderá selecionar entre diversas 
funcionalidades: 
 A primeira funcionalidade disponível será a realização de uma das 
quatro operação básicas entre dois números onde os dois números e a 
operação desejada deverão ser informados pelo usuário e ao final 
deverá ser exibido o resultado da operação; 
 A segunda funcionalidade será informar ao usuário a quantidade de 
números pares e ímpares em cinco números digitados pelo usuário; 
 A terceira funcionalidade deverá informar qual o maior e o menor 
número informado pelo usuário (o usuário deverá entrar com três 
números); 
 Caso o usuário não deseje utilizar nenhuma funcionalidade, deverá ser 
informada a seguinte mensagem: “Obrigado por utilizar o aplicativo!”, e o 
algoritmo deverá ser encerrado. 
 
program L3_EX10; 
var 
 opcao, operacao, qtdPar, qtdImpar :integer; 
 num1, num2, num3, num4, num5: integer; 
9 
 
 n1, n2, n3, n4, n5, resultado, maior, menor: real; 
Begin 
 writeln('Selecione qual função deseja utilizar'); 
 writeln('1 - Calculadora'); 
 writeln('2 - Quantidade de número pares e ímpares'); 
 writeln('3 - Informar maior e menor números'); 
 writeln('4 - Nenhum'); 
 readln(opcao); 
 
 case (opcao) of 
 1: begin 
 writeln('Digite o primeiro número'); 
 readln(n1); 
 writeln('Digite o segundo número'); 
 readln(n2); 
 
 writeln('Digite:'); 
 writeln('1 - Adição'); 
 writeln('2 - Subtração'); 
 writeln('3 - Multiplicação'); 
 writeln('4 - Divição'); 
 readln(operacao); 
 
 case (operacao) of 
 1: resultado := n1 + n2; 
 2: resultado := n1 - n2; 
 3: resultado := n1 * n2; 
 4: resultado := n1 / n2; 
 end; 
 
 writeln('O resultado é: ' , resultado:0:2); 
 end; 
 2: begin 
 writeln('Digite o 1º número'); 
 readln(num1); 
 writeln('Digite o 2º número'); 
 readln(num2); 
 writeln('Digite o 3º número'); 
 readln(num3); 
 writeln('Digite o 4º número'); 
 readln(num4); 
 writeln('Digite o 5º número'); 
 readln(num5); 
 
 if ((num1 mod 2) = 0) then 
 begin 
 qtdPar := qtdPar + 1; 
 end 
 else 
 begin 
 qtdImpar := qtdImpar + 1; 
 end; 
 
 if ((num2 mod 2) = 0) then 
 begin 
 qtdPar := qtdPar + 1; 
10 
 
 end 
 else 
 begin 
 qtdImpar := qtdImpar + 1; 
 end; 
 
 if ((num3 mod 2) = 0) then 
 begin 
 qtdPar := qtdPar + 1; 
 end 
 else 
 begin 
 qtdImpar := qtdImpar + 1; 
 end; 
 
 if ((num4 mod 2) = 0) then 
 begin 
 qtdPar := qtdPar + 1; 
 end 
 else 
 begin 
 qtdImpar := qtdImpar + 1; 
 end; 
 
 if ((num5 mod 2) = 0) then 
 begin 
 qtdPar := qtdPar + 1; 
 end 
 else 
 begin 
 qtdImpar := qtdImpar + 1; 
 end; 
 
 writeln('A quantidade de número pares é: ' , 
qtdPar); 
 writeln('A quantidade de número ímpares é: ' , 
qtdImpar); 
 end; 
 
 3: begin 
 writeln('Digite o 1º número'); 
 readln(n1); 
 writeln('Digite o 2º número'); 
 readln(n2); 
 writeln('Digite o 3º número'); 
 readln(n3); 
 
 if (n1 > n2) AND (n1 > n3) then 
 begin 
 maior := n1; 
 if (n2 > n3) then 
 begin 
 menor := n3; 
 end 
 else 
 begin 
11 
 
 menor := n2 
 end; 
 end; 
 
 if (n2 > n1) AND (n2 > n3) then 
 beginmaior := n2; 
 if (n1 > n3) then 
 begin 
 menor := n3; 
 end 
 else 
 begin 
 menor := n1 
 end; 
 end; 
 
 if (n3 > n1) AND (n3 > n2) then 
 begin 
 maior := n3; 
 if (n1 > n2) then 
 begin 
 menor := n2; 
 end 
 else 
 begin 
 menor := n1 
 end; 
 end; 
 
 writeln('O maior número é: ' , maior:0:2); 
 writeln('O menor número é: ' , menor:0:2); 
 
 end; 
 
 4: writeln('Obrigado por utilizar o aplicativo!'); 
 
 end; 
 readln; 
End.

Outros materiais