Você está na página 1de 29

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:


1. Apresentar as raízes, se for possível fazer o cálculo para os valores
informados;
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
Maior que 400 R$500,00
funcionário

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 turno de 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.

Você também pode gostar