Buscar

APRENDA PYTHON VOL 3

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

APRENDA PYTHON VOL 3 – ESTRUTURA CONDICIONAL ENCADEADA 
INSTITUTO DE COMPUTAÇÃO – ICOMP – UFAM 
Exercícios resolvidos de Linguagem Python. 
Cardoso, A. K. S. 
 
 
1 - DE VOLTA À ÁREA DO TRIÂNGULO 
Escreva um programa que leia as medidas dos três lados A, B, C de um 
triângulo qualquer. Em seguida, ele deve verificar se as medidas são válidas 
(condição de existência de um triângulo). Se as medidas forem válidas o 
programa deve calcular a área do triângulo. 
Dados de entrada: 
1. Lado A 
2. Lado B 
3. Lado C 
Como saída, o programa deverá imprimir a seguinte mensagem: 
Entradas: A, B, C 
Area: X 
No comando print as letras A, B, C devem ser substituídas pelos valores de 
entrada informados pelo usuário. Se as entradas forem válidas, substitua a 
letra X pelo valor da área, com até três casas decimais de precisão. Caso 
contrário, substitua a letra X pela seguinte mensagem: invalida. 
Leia as dicas para verificar as condições em que três valores representam 
medidas válidas de um triângulo. 
Dicas 
1. O programa está incompleto. Substitua as expressões ___COMPLETE 
AQUI___ por comandos que façam o programa executar corretamente. 
2. A solução proposta adota os seguintes passos: 
1. Ler o valor de cada lado do triângulo: A, B, C. 
2. Verificar se todos os valores fornecidos são positivos. 
1. Se verdade, verificar se as medidas fornecidas 
correspondem às de um triângulo, ou seja, se a soma dos 
dois lados menores é maior que o lado maior. 
2. O teste deve ser verdadeiro para todas as três 
combinações possíveis. 
3. Se todos os testes forem bem sucedidos, calcule a área e exiba a 
mensagem. 
4. Se pelo menos um teste falhar, apresente a mensagem de erro 
3. Execute o programa para todos o casos de teste apresentados. 
 
 
2 - QUAL O TIPO DE TRIÂNGULO? 
Escreva um programa que leia três números reais, correspondentes às 
medidas dos lados de um triângulo, em ordem qualquer. 
Dados de entrada: 
1. Lado A 
2. Lado B 
3. Lado C 
Como saída, o programa deverá imprimir: 
Entradas: A, B, C 
Tipo de triangulo: X 
No comando print() as letras A, B, C devem ser substituídas pelos valores de 
entrada informados pelo usuário. Substitua a letra X por um dos seguintes 
valores: 
• equilatero, se todos os três lados forem iguais; 
• isosceles, se apenas dois lados forem iguais; 
• escaleno, se nenhum par de lados forem iguais; 
• invalido, se pelo menos um dos lados for negativo ou se os três lados 
não formarem um triângulo. 
Leia as dicas para verificar as condições em que três valores representam 
medidas válidas de um triângulo. 
Dicas 
1. Atenção para o uso de caracteres maiúsculos e minúsculos. Não use 
acentos, para evitar erros. 
2. Condições de existência de um triângulo: 
1. Todos os lados devem ser positivos. 
2. A medida de qualquer um dos lados deve menor que a soma das 
medidas dos outros dois. 
3. Execute o programa para todos o casos de teste apresentados. 
 
3 - QUAL SUA CASA EM GOT? 
Elabore um programa que leia a descrição do brasão de uma das casas da 
série de TV "Guerra dos Tronos", conforme tabela abaixo. Como saída, 
determine o nome da casa correspondente. 
• Se a entrada for uma descrição válida, então imprima: 
Entrada: X 
Casa: Y 
• Se a entrada for uma casa não listada na tabela, imprima: 
Entrada: X 
Brasao invalido 
Substitua a letra X pela entrada inserida e a letra Y pela casa correspondente. 
Brasão Casa 
lobo Stark 
leao Lannister 
veado Baratheon 
dragao Targaryen 
rosa Tyrell 
sol Martell 
lula Greyjoy 
esfolado Bolton 
turta Tully 
Dicas 
1. Utilize condições encadeadas (elif). 
2. Use letras maiúsculas e minúsculas da mesma maneira como descrita 
no enunciado. Não use acentos. 
3. Lembre-se que "x" (com aspas) indica o caractere xis, ao passo 
que x (sem aspas) indica o nome de uma variável chamada x. 
 
 
4 - DOIS INTERVALOS DE VALORES 
Considere dois intervalos numéricos sobre a reta real: [a,b][a,b] e [c,d][c,d]. 
Escreva um programa que verifique se existe interseção (pelo menos um ponto 
em comum) entre os intervalos. 
• Se houver interseção, o programa deverá imprimir: 
Intervalo 1: a, b 
Intervalo 2: c, d 
Ha intersecao 
• Se não houver interseção, o programa deverá imprimir: 
Intervalo 1: a, b 
Intervalo 2: c, d 
Nao ha intersecao 
• Por fim, se as entradas forem inválidas, o programa deverá imprimir: 
Intervalo 1: a, b 
Intervalo 2: c, d 
Entradas invalidas 
Nas mensagens, substitua as letras a, b, c, d pelos valores fornecidos como 
entrada. 
Dicas 
1. Leia os números reais na ordem solicitada: aa, bb, cc, dd. 
2. Primeiro, verifique se os intervalos são válidos, ou seja, 
se b>ab>a e d>cd>c. 
3. Não pressuponha nada com respeito à posição relativa entre os 
intervalos [a,b][a,b] e [c,d][c,d]. Ou seja, eles podem estar situados antes 
ou depois um do outro. 
4. Antes de programar, teste alguns exemplos numéricos em um rascunho, 
para encontrar uma regra geral. 
5. Alguns dos operadores booleanos (and, or, not) serão úteis. 
6. Use letras maiúsculas e minúsculas exatamente conforme o 
enunciado. Não use acentos. 
 
5 - INTERVALO DE VALORES 
Considere dois números reais aa e bb, sendo b>a. Um número real xx pertence 
ao intervalo [a,b][a,b] se a ≤ x ≤ b 
Escreva um programa que leia os números reais x, a, b, nesta ordem. 
• Se x pertencer ao intervalo, imprima a seguinte mensagem: 
x pertence ao intervalo a, b 
• Caso contrário, imprima a seguinte mensagem: 
x nao pertence ao intervalo a, b 
• Se as entradas forem inválidas, ou seja, se b ≤ a, imprima a seguinte 
mensagem: 
Entradas a e b invalidas 
Nas mensagens, substitua as letras x, a, b pelos valores fornecidos como 
entrada. 
Dicas 
1. Note que as três entradas são números reais (float). 
2. Utilize condições encadeadas (if/elif). 
3. Alguns dos operadores booleanos (and, or, not) serão úteis. 
4. Não confunda a vírgula que deve ser impressa (string) com a vírgula que 
separa um argumento de outro dentro da função print(). 
 
6 - BOATE 
Em uma boate, o preço da entrada varia conforme o dia da semana. Nas 
segundas, terças e quintas, ela normalmente oferece um desconto de 25% 
sobre o preço normal de entrada. Porém, nos dias de músicas ao vivo, 
independentemente do dia da semana, é acrescida uma taxa fixa de R$20,00 
ao preço da entrada. 
Elabore um programa que calcule o preço final a ser pago para entrar na 
boate, a partir dos seguintes valores, nesta ordem: 
1. O preço normal da entrada (em reais) 
2. O dia da semana (1 para domingo, 2 para segunda, ..., 7 para sábado) 
3. É dia de música ao vivo? (S ou N) 
Validação dos dados de entrada 
Note que: 
• O preço normal deve ser maior ou igual a zero 
• Dias da semana só podem assumir valores inteiros de 1 a 7 
• Música ao vivo só pode ser S ou N. 
Se o usuário inserir valores inválidos, imprima a seguinte mensagem: 
Entradas: X , Y , Z 
Dados invalidos 
Se as entradas forem válidas, imprima a seguinte mensagem: 
Entradas: X , Y , Z 
Valor a pagar: R$ W 
Nas mensagens, substitua as letras X, Y, Z e W pelos valores correspondentes. 
 
7 - PLANTIO DE GRAMA 
 
Objetivo: Determinar o valor do serviço. 
 
A floricultura Sempre Verde oferece o serviço de plantio de grama. O custo do 
serviço depende da área a ser coberta e é dado pela seguinte fórmula: 
 
Valor = Área * Custo + Fertilizante 
 
O custo e o valor do adubo variam conforme a tabela a seguir: 
 
Área (m2) Custo Fertilizante 
[0, 100] R$ 
2,00 
R$ 100,00 
]100, 2500] R$ 
1,80 
R$ 150,00 
]2500, 10000] R$ 
1,50 
R$ 200,00 
]10000, ∞[ R$ 
1,20 
R$ 250,00 
 
Escreva um programa que leia a área a ser coberta (em m2) e determine o 
valor total a ser cobrado pela empresa Sempre Verde. 
Dicas 
1. Verifique se as variáveis associadas ao problema são reais ou inteiras. 
2. O valor de saída deve ser arredondado com até duas casas decimais. 
3. Considere que a entrada do programa sempre será um valormaior ou 
igual a zero. 
Exemplos adicionais: 
ENTRADA DE EXEMPLO (1): 
1 
SAÍDA DE EXEMPLO (1): 
102.0 
ENTRADA DE EXEMPLO (2): 
10001 
SAÍDA DE EXEMPLO (2): 
12251.2 
 
 
8 - SUSHI – INGREDIENTE 
 
Objetivo: Calcular a quantidade necessária de um ingrediente. 
Para fazer um sushi, vários ingredientes são utilizados. 
A tabela a seguir mostra o ingrediente e a quantidade necessária para 
preparar UMA receita. 
 
Ingrediente Quantidade 
(gramas) 
ARROZ 500 
CENOURA 100 
KAMPYO 20 
NORI 50 
OMELETE 200 
PEPINO 150 
SALMAO 300 
SHITAKE 150 
 
Escreva um programa que leia: 
1. O nome desse ingrediente 
2. A quantidade de receitas que se deseja preparar (inteiro) 
 
Como saída, determine a quantidade necessária do ingrediente para preparar o 
número de receitas desejado, em gramas. 
Se a quantidade de receitas for um valor menor que zero ou maior que 50, ou 
se o ingrediente não estiver listado, a saída deve ser “Entrada invalida”. 
Dicas 
1. O valor de entrada e de saída devem ser inteiros. 
2. Atenção para o uso de caracteres MAIÚSCULOS. Não use acentos. 
 
 
9 - FERTILIZAÇÃO AÉREA – ESTENDIDA 
 
Objetivo: Determinar o valor do serviço. 
 
A empresa de aviação agrícola Agro Nomo oferece um serviço de aplicação de 
fertilizantes. O custo do serviço depende da área da plantação a ser fertilizada 
e é dado pela seguinte fórmula: 
 
Valor = Área * Custo + Fertilizante 
 
O custo e o valor do fertilizante variam conforme a tabela a seguir: 
 
Área (ha) Custo Fertilizante 
[0, 10000] R$ 
6,00 
R$ 100,00 
]10000, 
20000] 
R$ 
5,50 
R$ 150,00 
]20000, 
30000] 
R$ 
5,00 
R$ 200,00 
]30000, ∞[ R$ 
4,50 
R$ 250,00 
 
Escreva um programa que leia a área a ser fertilizada (em hectares) 
e determine o valor total a ser cobrado pela empresa Agro 
Nomo, arredondado para duas casas decimais.. 
Dicas 
1. Verifique se as variáveis associadas ao problema são reais ou inteiras. 
2. Considere que a entrada do programa sempre será um valor maior ou 
igual a zero. 
 
 
 
10 - FUNÇÃO C 
Considere a seguinte função f(x): 
 
Faça um programa que leia o valor de x e retorne o valor de f(x) baseado na 
definição acima. Observe que a função não está definida para todos os valores 
reais. Caso o usuário entre como um valor de x que não pertence ao domínio da 
Função, o programa deve gerar como saída a mensagem ‘entrada invalida’. 
Dicas 
1. Atenção para o uso de caracteres maiúsculos e minúsculos. Não use 
acentos, para evitar erros. 
2. Alguns dos operadores booleanos (and, or, not) serão úteis. 
3. Imprima saída com 4 casas decimais (use a função round()). 
 
11 - ESCOLHAS: CATEGORIA DE PESOS - A 
Um campeonato de luta tem 3 categorias de peso masculino, e mais 3 
categorias de peso feminino. Na divisão masculina, os lutadores peso pesado 
são conhecidos pelo poder devastador dos seus socos, e o lutadores mais 
leves são conhecidos pela rapidez e agilidade. Os lutadores só podem competir 
na sua categoria de peso, e para mudar de categoria, eles têm que ganhar ou 
perder peso, o que os leva muitas vezes a perder rapidez ou perder força. 
O programa deverá ler as duas informações, nesta ordem: 
1. O gênero do lutador (masculino ou feminino). 
2. O peso do lutador. 
Como saída, o programa deve informar a categoria do lutador de acordo com a 
seguinte definição: 
Para mulheres, as opções são: 
1. Peso Pena Feminino (acima de 61.0 até 66.0 Kg) 
2. Peso Galo Feminino (acima de 52.0 até 61.0 Kg) 
3. Peso Palha Feminino (até 52.0 Kg) 
Para os Homens, as opções são: 
1. Peso Pesado (acima de 93.0 até 120.0 Kg) 
2. Peso Meio Pesado (acima de 84.0 até 93.0 Kg) 
3. Peso Médio (de 78.0 até 84.0 Kg) 
Se as entradas forem inválidas (qualquer uma das duas), imprimir a seguinte 
mensagem: “categoria invalida”. 
Dicas 
DICAS: 
1. Atenção para o uso de caracteres maiúsculos e minúsculos. Não use 
acentos, para evitar erros. 
2. Use o método .lower() após o final do nome da string para converter 
todas as suas letras em MINÚSCULAS. O ponto e os parênteses são 
necessários! 
3. Alguns dos operadores booleanos (and, or, not) serão úteis. 
4. Considere os intervalos de pesos do enunciado. Intervalos diferentes do 
enunciado devem ser considerados como entrada inválida, ou 
seja, categoria inválida. 
5. Verifique se as entradas (pesos) são do tipo inteiro ou float. 
 
 
12 - ÍNDICE DE MASSA CORPORAL (IMC) 
Escreva um programa que leia a idade e o índice de massa corporal 
(IMC) de uma pessoa, nessa ordem. Como saída, determine o risco de 
problemas cardíacos dessa pessoa, conforme a tabela a seguir: 
 Idade 
 < 45 ≥ 45 
IMC 
< 22,0 Baixo Médio 
≥ 22,0 Médio Alto 
Validação dos dados 
Verifique se os dados informados são válidos. Se a idade for menor ou igual a 
zero ou maior que 130 anos, ou se o IMC for menor ou igual a zero, imprima: 
Entradas: X anos e IMC Y 
Dados invalidos 
 Se as entradas forem válidas, imprimia: 
Entradas: X anos e IMC Y 
Risco: Z 
Nas mensagens de saída, substitua as letras X, Y e Z pelos valores fornecidos. 
Dicas 
1. Use condições encadeadas (if/elif). 
2. Atenção para o uso de caracteres maiúsculos e minúsculos. Não use 
acentos. 
3. Alguns dos operadores booleanos (and, or, not) serão úteis. 
 
 
13 - FATOR DE FRIO DO VENTO 
A sensação de frio é determinada não só pela temperatura, mas também pela 
velocidade do vento, umidade relativa do ar e brilho do sol. Uma das formas de 
calcular a sensação de frio σσ envolve a seguinte fórmula: 
 
σ=13,12+0,6215⋅Tar−(11,37⋅v0,16)+(0,3965⋅Tar⋅v0,16), 
 
onde: 
• σ representa a sensação de frio 
• v representa a velocidade de vento em km/h 
• Tar representa a temperatura do ar em graus Celsius (C) 
Essa fórmula é definida apenas para temperaturas entre -50°C e 10°C, e 
velocidade acima de 4,8 km/h. 
Escreva um programa que leia a temperatura em Celsius e a velocidade do 
vento em km/h. 
• Se os valores de entrada forem válidos, o programa deverá calcular e 
exibir o valor de σ, com até quatro casas decimais de precisão. 
• Se o valor da temperatura do ar for inválido, imprima: Temperatura 
invalida 
• Se o valor da velocidade for inválido, imprima: Velocidade invalida 
Dicas 
1. Atenção para a ordem de leitura de valores. 
2. Use os operadores booleanos (and, or). 
3. Use o comando round(x, n) para arredondar um valor x com 
até n casas decimais. 
 
 
 
 
14 - POSIÇÃO DO PONTO 
Considere uma reta que parte do ponto p0(x0,y0) ao ponto p1(x1,y1). Dado um 
ponto p2(x2,y2), pode-se decidir se p2 está à esquerda, à direita ou sobre a reta 
(veja a figura), com base na seguinte condição cc: 
c=(x1−x0)⋅(y2−y0)−(x2−x0)⋅(y1−y0) 
A localização de p2 é definida pelas seguinte regras: 
• Se c<0, p2 está à direita da reta 
• Se c>0, p2 está à esquerda da reta 
• Se c=0, p2 está sobre a reta 
 
Escreva um programa que leia as coordenadas x e y de cada um dos três 
pontos p0, p1 e p2, um par (xi, yi) por vez. O programa deverá calcular o valor 
de c e imprimir a localização de p2: 
• A direita da reta 
• A esquerda da reta 
• Sobre a reta 
Fonte: Liang. Introduction to Programming Using Python. Pearson, 2013. 
Dicas 
1. Atenção para a ordem de leitura de valores. 
2. Não se limite ao caso de exemplo. Teste as diversas possibilidades de 
entradas e saídas. 
 
 
15 - PASSAGEM DE BARCO 
O preço da passagem de barco, partindo de Manaus, varia conforme o destino 
desejado e se o passageiro fecha ou não um pacote de ida-e-volta. Escreva um 
programa que leia as seguintes informações, nesta ordem: 
1. O nome da cidade de destino. 
2. Se o percurso é somente de ida ou ida-e-volta. 
Como saída, imprima o preço da passagem conforme a tabela abaixo. Se a 
cidade de destino não estiver na relação abaixo, imprima: Destino inexistente 
Destino Ida (R$) 
Ida-e-volta 
(R$) 
Belém 350,00 650,00 
Borba 80,00 152,00 
Coari 106,00 199,00 
Humaitá 200,00 390,00 
Manicoré 150,00280,00 
Maués 100,00 190,00 
Dicas 
1. Atenção para o tipo das entradas e saídas (inteiro, real, string). 
2. Não utilize acentos. 
3. Uso o ponto para separar a parte inteira da fracionária em número reais. 
 
 
16 - CONTRACHEQUE 
Em uma empresa, o salário líquido dos funcionários é calculado em função de 
dois descontos: a contribuição previdenciária e o imposto de renda. Dado o 
salário bruto do funcionário, a contribuição previdenciária é calculada de acordo 
com a seguinte tabela: 
Salário bruto Alíquota 
Até R$ 1.659,38 8% 
De R$ 1.659,39 a R$ 
2.765,66 
9% 
De R$ 2.765,67 a R$ 
5.531,31 
11% 
Acima de R$ 5.531,31 
Desconto fixo de R$ 
608,44 
Após o desconto da contribuição previdenciária, o valor restante é então 
utilizado para calcular o desconto do imposto de renda, com base nesta tabela: 
Salário base Alíquota de desconto 
Até R$ 1.903,98 Isento 
De R$ 1.903,99 a R$ 
2.826,65 
7,5% 
De R$ 2.826,66 a R$ 
3.751,05 
15% 
De R$ 3.751,06 a R$ 
4.664,68 
22,5% 
Acima de R$ 4.664,68 27,5% 
Escreva um programa que leia o salário bruto de uma pessoa, e aplique os 
dois descontos. Como saída, imprima a seguinte: 
Salario liquido = R$ X 
Dicas 
1. Primeiro calcule a contribuição previdenciária e desconte do salário 
bruto. Depois, use o valor restante para determinar a o desconto do 
imposto de renda. Por fim, subtraia esse valor e determine o valor do 
salário líquido. 
2. Use o comando round(x, n) para arredondar a resposta x com até 
2 casas decimais. 
3. Use o operador lógico (and) para a comparação entre as diferenças.

Continue navegando