Buscar

APRENDA PYTHON VOL 2

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 29 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 29 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 29 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 2 – ESTRUTURA CONDICIONAL 
COMPOSTA 
INSTITUTO DE COMPUTAÇÃO – ICOMP – UFAM 
Exercícios resolvidos de Linguagem Python. 
Cardoso, A. K. S. 
 
 
1 - É MÚLTIPLO DE 2? 
 
Elabore um programa que leia um número inteiro. Se ele for múltiplo de 2, 
então imprima a mensagem "sim". Caso contrário, imprima "nao". 
 
Dicas 
1. As linhas 5, 7, 9 e 12 contêm erros. Corrija-os e submeta o programa ao 
CodeBench. 
2. Use o operador de resto da divisão (%). Se A for divisível por B, então A 
% B é igual a zero. 
3. Atenção para a grafia das palavras: todas as letras do resultado devem 
ser minúsculas. Não use acentos. 
4. O comando s.upper() ajusta todas as letras da 
string s para MAIÚSUCLAS. O comando s.lower() ajusta todas as letras 
da string s para minúsculas. 
 
2 - PAGA OU NÃO PAGA A PASSAGEM? 
Elabore um programa que leia a idade de uma pessoa (número inteiro). O 
programa deve verificar se a pessoa vai pagar ou não a passagem com base 
nas seguintes regras: 
• Se ela tiver 2 anos ou mais, então imprima a mensagem paga. 
• Caso contrário, imprima nao_paga. 
Dicas 
1. Atenção para a grafia das palavras: todas as letras do resultado devem 
ser minúsculas. Não use acentos. 
2. Teste as duas possibilidades da condição if. Não se limite ao exemplo 
de entrada/saída. 
 
 
3 - PONTO EM QUADRANTES SUPERIORES OU INFERIORES 
Escreva um programa que leia 02 valores, xx e yy, que representam as 
coordenadas de um ponto no plano cartesiano. 
Como saída, imprima: 
• Superiores, se o ponto está situado nos quadrantes Q1 ou Q2. 
• Inferiores, se o ponto está situado nos quadrantes Q3 ou Q4. 
 
Dicas 
1. Os valores de entrada são reais (float). 
2. Utilize letras maiúsculas e minúsculas exatamente como consta no 
enunciado. 
3. Antes de submeter, teste as várias possibilidades de saída. Não se 
limite ao caso de exemplo. 
 
 
4 - PATRONO: GINA E HARRY 
 
Harry Potter e Gina Weasley conseguem produzir seus patronos (um feitiço 
baseado na felicidade) com tempo diferente e que percorrem uma distância 
diferente. 
 
Escreva um programa que leia o nome do bruxo desejado (GINA ou HARRY). 
Como saída, calcule e imprima a velocidade (m/s) do patrono correspondente. 
Use os seguintes espaços e tempos para cada bruxo: 
• Gina: 
o Espaço (m): 3.7654 
o Tempo (s): 2.3479 
• Harry: 
o Espaço (m): 3.674 
o Tempo (s): 2.789 
Dicas 
1. Use o método .upper() após o final do nome da string para converter 
todas as suas letras em MAIÚSCULAS. O ponto e os parênteses são 
necessários! 
2. Não é necessário arredondar o resultado. 
 
 
5 - CONTA DE ENERGIA 
A concessionária de energia elétrica Darkness tem a seguinte política de 
cobrança tarifária: 
1. Se o cliente consumir 150 kWh ou menos, a empresa cobra uma tarifa 
de R$ 0,60 a cada kWh consumido, mais um valor fixo de R$ 5,00 como 
taxa de iluminação pública. 
2. Caso contrário, a empresa cobra uma tarifa de R$ 0,75 a cada kWh, 
mais um valor fixo de R$ 16,00 pela taxa de iluminação pública. 
Escreva um programa que leia: 
• o consumo de energia (em kWh) de um cliente. 
Como saída, determine: 
• o valor da conta que ele terá que pagar à empresa Darkness. 
O valor de saída deve ser arredondado com até duas casas decimais. 
Dicas 
1. Considere que a entrada do programa sempre será um valor maior que 
zero. 
2. Verifique se as variáveis associadas ao problema são reais ou inteiras. 
3. Use o comando int() para converter a entrada de texto para um número 
inteiro e float() para converter uma entrada de texto para número real. 
4. A ordem de leitura das variáveis de entrada deve obedecer àquela 
explicitada no enunciado. 
5. A quantidade de entradas solicitadas em um programa determina a 
quantidade de comandos input(); e a quantidade de saídas determina a 
quantidade de comandos print(). 
6. Use a função round(x,n) para arrendondar o número x para n casas 
decimais. 
 
 
6 - A BATALHA DE YAVIN 
 
A Batalha de Yavin foi uma grande batalha da Guerra Galáctica Civil que 
resultou na destruição da primeira Estrela da Morte. Esse evento marca o “ano 
zero” do Calendário Galáctico de tal forma que datas antes da batalha são 
marcadas com o prefixo ABY (Antes da Batalha de Yavin) e datas após a 
batalha são marcadas com o prefixo DBY (Depois da Batalha de Yavin). 
 
Escreva um programa que leia um ano (inteiro) que pode ser positivo ou 
negativo. Como saída, seu programa deverá escrever o ano no formato do 
Calendário Galáctico, ou seja: 
• Se o ano for negativo, imprima primeiro ABY, seguido do valor absoluto 
do ano. 
Exemplo: -18 ficará ABY 18 
• Se o ano for positivo (incluindo o zero), imprima DBY seguido do ano. 
Exemplo: 5 ficará DBY 5 
 
Dicas 
1. Verifique se as variáveis associadas ao problema são reais ou inteiras. 
2. O valor de saída deverá ter um espaço entre o prefixo (ABY/DBY) e o 
ano. Isso é feito automaticamente pela função print 
 
 
7 - CONVERSOR DE TEMPERATURA 
Escreva um programa que converta uma temperatura da escala Celsius para 
Fahrenheit ou vice-versa. Use a seguinte equação para conversão: 
C=5/9(F−32) 
Para isso, você deverá ler duas entradas: 
1. escala em que a temperatura está representada: C para Celsius, 
ou F para Fahrenheit. 
2. valor da temperatura. 
Como saída, imprima: 
• a temperatura convertida para a outra escala, arredondada em duas 
casas decimais. 
Dicas 
1. Atenção para a ordem de leitura de valores. 
2. A conversão de Celsius para Fahrenheit requer a manipulação da 
fórmula. 
3. Use a função round(x,n) para arrendondar o número x para n casas 
decimais. 
4. Teste as duas possibilidades da condição if. Não se limite ao exemplo 
de entrada/saída. 
 
8 - LOJA VIRTUAL DE GAMES - DESCONTO 
Uma loja de jogos eletrônicos na Internet está com um desconto na compra de 
dois jogos. Na compra do segundo jogo você ganha um desconto de 25% no 
valor do segundo jogo. 
Dessa forma, escreva um programa que leia: 
1. A quantidade de jogos (1 ou 2). 
2. O preço do primeiro jogo. 
3. O preço do segundo jogo, se for o caso. 
Como saída, imprima: 
• o valor total da compra. 
O valor de saída deve ser arredondado para duas casas decimais. 
Dicas 
1. Certifique-se qual o tipo numérico (float ou int) das entradas e saídas. 
2. Use a função round(x,n) para arrendondar o número x para n casas 
decimais. 
 
 
 
9 - Restaurante do Zezinho - dinheiro curto 
Além do serviço de buffet, o restaurante do Zezinho dispõe de sucos e salgados 
para a comunidade UFAM. A tabela de preços é a seguinte: 
Item Preço 
Suco R$ 3,00 
Salgado R$ 3,50 
Você e seus amigos estão com pouco dinheiro, mas gostariam de fazer um 
lanche no restaurante do Zezinho. Escreva um programa que leia, nesta 
ordem: 
1. A quantidade de sucos. 
2. A quantidade de salgados. 
3. O valor que vocês têm disponível. 
Como saída, imprima: 
1. O valor total do lanche arredondado para duas casas decimais. 
2. ‘Sim’ se o valor disponível for suficiente ou ‘Nao’, caso contrário. 
Dicas 
1. Certifique-se qual o tipo das entradas e saídas. 
2. Atenção para o uso de caracteres maiúsculos e minúsculos. Não use 
acentos, para evitar erros. 
3. Use a função round(x,n) para arrendondar o número x para n casas 
decimais. 
 
 
 
10 - RAÍZES DE EQUAÇÕES DO SEGUNDO GRAU 
Considere a seguinte equação do segundo grau: 
Ax²+bx+c=0 
Escreva um programa em Python que leia três valores reais que representam 
os coeficientes de uma equação de 2o grau nessa ordem: 
1. Coeficiente a do termo x² 
2. Coeficiente b do termo x 
3. Termo independente c. 
Utilize a Fórmula de Bhaskara 
(https://brasilescola.uol.com.br/matematica/formula-bhaskara.htm) e considere 
todas as possíveis condições para delta: delta < 0, delta > 0 e delta = 0). 
 
Como saída o programa deve apresentar: 
https://brasilescola.uol.com.br/matematica/formula-bhaskara.htm
1. Apresentar as raízes, se for possível fazer o cálculo para os valoresinformados; 
2. A mensagem "a equacao nao possui raizes reais", se não for possível 
fazer o cálculo. 
Não use o módulo Math da linguagem Python na implementação. 
Dicas 
1. Utilize o tipo float para as variáveis a, b e c. 
2. Lembre-se que: 
o delta=b2−4ac 
o x1=(−b+√ delta )/2∗a 
o x2=(−b−√ delta )/2∗a 
3. Na saída, imprima x1 e depois x2. 
 
 
11 - FERTILIZAÇÃO AÉREA 
A empresa de aviação agrícola Agro Fértil oferece um serviço de aplicação de 
fertilizantes. O custo do serviço depende da área da plantação a ser fertilizada 
e obedece a seguinte regra: 
1. Se a área a ser fertilizada for de 10 mil hectares ou menos, o custo é 
de R$ 5,00 por hectare. 
2. Se a área a ser fertilizada tiver mais do que 10 mil hectares, o custo 
total é de R$ 5,00 por cada um do 10 mil hectares iniciais, mais R$ 4,00 
por hectare excedente. 
Escreva um programa que leia: 
• a área a ser fertilizada (em hectares). 
Como saída, determine: 
• o valor total a ser cobrado pela empresa Agro Fértil. 
O valor de saída deve ser arredondado com até duas casas decimais. 
Dicas 
1. Considere que a entrada do programa sempre será um valor maior que 
zero. 
2. Verifique se as variáveis associadas ao problema são reais ou inteiras. 
3. Use o comando int() para converter a entrada de texto para um número 
inteiro e float() para converter uma entrada de texto para número real. 
4. A ordem de leitura das variáveis de entrada deve obedecer àquela 
explicitada no enunciado. 
5. A quantidade de entradas solicitadas em um programa determina a 
quantidade de comandos input(); e a quantidade de saídas determina a 
quantidade de comandos print(). 
6. Use a função round(x,n) para arrendondar o número x para n casas 
decimais. 
 
 
12 - Comissão da Sapataria 
A sapataria Pies Descalzos tem a seguinte política de pagamento de comissão 
para seus vendedores: 
1. Se o volume de vendas for R$ 1.000,00 ou menos, a sapataria paga 5% 
de comissão sobre o valor vendido. 
2. Se o volume de vendas for maior que R$ 1.000,00, a sapataria paga 5% 
sobre os primeiros mil reais mais 10% em relação ao que exceder. 
Escreva um programa que leia: 
• o valor de vendas de um funcionário. 
Como saída, determine: 
• o valor da comissão a ser paga pela sapataria Pies Descalzos. 
O valor de saída deve ser arredondado com até duas casas decimais. 
 
Dicas 
1. Considere que a entrada do programa sempre será um valor maior que 
zero. 
2. Verifique se as variáveis associadas ao problema são reais ou inteiras. 
3. Use o comando int() para converter a entrada de texto para um número 
inteiro e float() para converter uma entrada de texto para número real. 
4. A ordem de leitura das variáveis de entrada deve obedecer àquela 
explicitada no enunciado. 
5. A quantidade de entradas solicitadas em um programa determina a 
quantidade de comandos input(); e a quantidade de saídas determina a 
quantidade de comandos print(). 
6. Use a função round(x,n) para arrendondar o número x para n casas 
decimais. 
 
 
13 - SISTEMA DE EQUAÇÕES DE DUAS VARIÁVEIS 
Um sistema de equações lineares da forma: 
 
pode ser resolvido utilizando-se as seguintes fórmulas: 
 
Elabore um programa que leia o conjunto de coeficientes aa, bb, cc, dd, ee, ff, 
nessa ordem. Como saída, imprima a solução xx e yy, nessa ordem. 
Antes de efetuar a divisão, verifique se ela pode ser feita. Caso negativo, 
imprima no console a mensagem Nao tem solucao 
Dicas 
1. Atenção para a ordem de leitura e de impressão de valores. 
2. Seu programa deve exibir a mensagem de erro exatamente como 
consta no enunciado. Observe o uso de maiúsculas e minúsculas, e 
sinais de pontuação. Não utilize acentos. 
3. A divisão por zero é um erro que impede a execução correta do 
programa. Evite-o calculando as soluções xx e yy dentro da condição if. 
 
 
14 - PROPRIEDADES DE UM NÚMERO 
Escreva um programa que leia um número inteiro nn de 03 dígitos, ou 
seja, 100≤n≤999 
Como saída, imprima SIM caso nn satisfaça a propriedade abaixo, ou NAO, 
caso contrário. 
Propriedade: 
• Se o dígito da esquerda for removido, o número restante é divisor do 
número original. 
Dicas 
1. Se a entrada for 150, remove-se o dígito 1 à esquerda, obtendo-se 50. 
Como 50 é divisor de 150, então a saída deve ser SIM. 
2. Se a entrada for 160, remove-se o dígito 1 à esquerda, obtendo-se 60. 
Como 60 não é divisor de 160, então a saída deve ser NAO. 
3. Observe o uso de maiúsculas e minúsculas. Não utilize acentos. 
4. Considere que a entrada sempre recebe números de 03 dígitos. 
 
 
15 - SOMA DOS CUBOS 
O número 153 possui uma característica curiosa. Ele é igual à soma dos cubos 
de seus algarismos: 
153=13+53+33 
Elabore um programa que leia um número fornecido pelo usuário. Em 
seguida, verifique se o número satisfaz essa característica. 
Como saída, o programa deverá imprimir, nesta ordem: 
1. O número fornecido pelo usuário. 
2. A mensagem atende, se a característica for atendida, ou nao atende, 
caso contrário. 
Caso de teste 1 
• Entrada: 456 
• Cálculo: 4³ + 5³ + 6³ = 405 
• Saídas: 456 e nao atende 
Caso de teste 2 
• Entrada: 153 
• Cálculo: 1³ + 5³ + 3³ = 153 
• Saídas: 153 e atende 
Dicas 
1. Para separar o número em três partes, utilize os operadores de resto da 
divisão (%) e da divisão inteira (//). 
 
 
 
16 - Robertina compra apartamento? 
Robertina quer investir um valor inicial Q0 de R$ 1.500,00 de sua poupança para 
comprar seu apartamento. Para isso, investiu seu capital inicial durante 36 
meses tt a juros compostos. 
Nessas condições, escreva um programa que leia, nesta ordem: 
1. A taxa de juros (j) aplicada no valor inicialmente investido pela 
Robertina. 
2. O valor do apartamento. 
Calcule o valor final, usando a fórmula de juros compostos: 
Qf=Q0∗(1+j)^t 
Como saída, imprima: 
1. O valor final do investimento 
2. ‘Sim’ se Robertina tiver o suficiente para comprar o apartamento ou 
‘Nao’, caso contrário. 
Dicas 
1. xyxy em Python pode ser escrito como: “x**y”. 
2. O valor final deve possuir duas casas decimais. Use a função round(x, 
y). 
3. Atenção para o uso de caracteres maiúsculos e minúsculos. Não use 
acentos, para evitar erros. 
 
 
17 - GRATIFICAÇÃO AO FUNCIONÁRIO DO ANO 
Uma empresa decidiu dar uma gratificação diferenciada ao melhor funcionário 
do ano. A gratificação é determinada com base no número de horas extras 
trabalhadas e no número de horas não trabalhadas, ou seja, que o funcionário 
faltou ao serviço, conforme tabela a seguir, em que o índice H é determinado 
da seguinte forma: 
H = (NÚMERO DE HORAS EXTRAS) - 1/4 * (NÚMERO DE HORAS NÃO 
TRABALHADAS) 
Tipo Índice H Gratificação 
Melhor 
funcionário 
Maior que 400 R$500,00 
Padrão Até 400 R$100,00 
 
Escreva um programa que leia: 
1. O número de horas extras; 
2. O número de horas que o funcionário faltou. 
Considere as horas informadas como sendo um número real, por exemplo 3.5 
horas. 
Como saída, imprima a seguinte mensagem: 
E extras e F de falta 
R$ G 
Nas mensagens, substitua a letra G pelo valor correspondente. 
Dicas 
DICAS: 
1. Os valores em moeda devem ser arredondados em duas casas 
2. A ordem de leitura das variáveis de entrada deve obedecer àquela 
explicitada no enunciado. 
3. Considere que o usuário sempre fornece entradas válidas, ou seja, 
números reais positivos. 
4. Atenção para o uso de caracteres maiúsculos e minúsculos. Não use 
acentos, para evitar erros 
 
 
18 - HAVERÁ SEGUNDO TURNO? 
No Brasil, as eleições para prefeito podem ser decididas em segundo turno, se 
o município tiver mais de 200 mil habitantes. O que define a possibilidade de 
realização de segundo turno é a adoção do critério da maioria absoluta de 
votos, ou seja, para ser eleito, o candidato mais votado deve obter mais da 
metade dos votos válidos. Votos válidos são aqueles atribuídos a algum 
candidato. 
Suponha que estamos contabilizando os votos do primeiro turnode uma 
eleição com três candidatos. Escreva um programa que leia o número de 
votos, nesta ordem: 
1. Do candidato mais votado 
2. Do candidato em segundo lugar 
3. Do candidato menos votado 
Como saída, imprima: 
• SIM, se a eleição for precisar de segundo turno; 
• NAO, se a eleição for decidida no primeiro turno. 
Dicas 
DICAS: 
1. A ordem de leitura das variáveis de entrada deve obedecer àquela 
explicitada no enunciado. 
2. Considere que o usuário sempre fornece entradas válidas, ou seja, 
números inteiros (int). 
3. Atenção para o uso de caracteres maiúsculos e minúsculos. Não use 
acentos, para evitar erros. 
 
 
19 - TANQUE DE COMBUSTÍVEL 
Um tanque de combustível tem o formato esférico, conforme figura abaixo. 
 
Escreva um programa que leia: 
1. O raio (rr) do tanque. 
2. A altura da coluna de ar (xx) na parte superior do tanque. 
3. O número da opção desejada, onde: 
▪ 1 indica o cálculo do volume de ar; e 
▪ 2 indica o cálculo do volume de combustível no tanque. 
A saída do programa deverá ser o volume conforme a opção selecionada, 
com quatro casas decimais de precisão. 
Volume da esfera de raio rr: 
V=4πr³/3 
 
Volume da calota esférica de raio rr e altura xx: 
 
V=πx²⋅(3r−x)/3 
 
Dicas 
1. O volume de ar corresponde à formula da calota esférica. 
2. O volume do combustível é a diferença entre volume total da esfera e o 
volume da calota esférica. 
3. Não altere a ordem dos parâmetros de entrada. 
4. Não é necessário verificar situações inválidas, tais como: opções 
diferentes de 1 ou de 2; altura da coluna de ar maior que o diâmetro da 
esfera. 
5. Use a função round(x, n) para arredondar um número x com 
até n casas decimais de precisão. 
 
 
20 - ANGRY BIRDS 
No jogo Angry Birds, o objetivo é lançar um pássaro para atingir um porco. A 
distância máxima R que o pássaro percorrerá na componente horizontal é dada 
por: 
R=(v0)²⋅sen(2α)/g 
onde: 
• v0 é a velocidade inicial (m/s). 
• α é o ângulo do vetor de lançamento com o solo. 
• g = 9,8 m/s² é a aceleração da gravidade. 
Escreva um programa que leia os seguintes valores, nesta ordem: 
1. velocidade inicial v0 (em m/s). 
2. ângulo α (em graus). 
3. distância horizontal D (em metros) entre o pássaro e o porco, 
considerando que eles estão na mesma altura em relação ao solo. 
Como saída, o programa deverá imprimir, nesta ordem: 
1. a mensagem sim, se o pássaro atingir o porco. 
2. a mensagem nao, caso contrário. 
 
Admita uma tolerância de 0,1. Por exemplo, se D = 20 então podemos 
considerar que o pássaro acerta o porco quando R = 19,9 ou R = 20,1. 
 
Dicas 
1. Não se esqueça que a função seno (sin) trabalha com ângulos 
em radianos. 
2. Use a função radians(x), do módulo math, para converter um 
ângulo x de graus para radianos. 
3. Use a função abs(x), que fornece o valor absoluto de um número real x, 
ou seja, a sua distância escalar até o zero. Por exemplo, abs(D - 
R) deve ser menor que 0,1. 
 
4. Não altere a ordem dos parâmetros de entrada, para que o CodeBench 
não rejeite seu programa.

Outros materiais