Você está na página 1de 27

APRENDA PYTHON VOL 1 – VARIAVEIS E ESTRUTURAS

SEQUENCIAIS
INSTITUTO DE COMPUTAÇÃO – ICOMP – UFAM
Exercícios resolvidos de Linguagem Python.
Cardoso, A. K. S.

1 - COMPRANDO JOGOS NA INTERNET

Estanislau deseja comprar 08 jogos para seu console favorito. O preço varia de
um site para o outro, mas é sempre igual para todos os títulos. O valor do frete
é fixo e custa R$45,00.

Escreva um programa que leia:

• o valor (unitário) do jogo em um determinado site.

Como saída, determine o preço a ser pago por Estanislau pelo total de 8 jogos,
acrescido do valor do frete.

Dicas

1. Use o comando var = input("Instrucoes: ") para ler um valor digitado


via teclado e atribuí-lo à variável var.
2. 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().
3. Use o comando float() para converter uma entrada de texto para
número real.
4. As entradas e saídas de exemplo são apenas uma ilustração. O
CodeBench utiliza outros casos de teste para avaliar seu código. Teste
seu código com outros valores possíveis.
5. No código fornecido, modifique as linhas que contém o sinal ??, para
atender as especificações do enunciado.
2 - COMPRANDO MAIS JOGOS NA INTERNET

Agora, Estanislau deseja comprar vários jogos para seu console favorito. Em
um mesmo site, o preço do jogo é sempre o mesmo para todos os títulos. O
valor do frete é diferente para cada site.

Escreva um programa que leia as seguintes entradas, nesta ordem:

1. A quantidade de jogos a serem encomendados;


2. O valor unitário de cada jogo;
3. O valor do frete.

Como saída, determine o preço total a ser pago por Estanislau pelos jogos
que for encomendar do site, incluindo o valor do frete.

Dicas
1. Cada entrada corresponde a um comando input(). Cada saída
corresponde a um comando print(), com um argumento.
2. Siga exatamente a mesma ordem de leitura de entradas especificada
no enunciado.
3. Use o comando var = input("Instruções: ") para ler um valor digitado
via teclado e atribuí-lo à variável var.
4. Use o comando float() para converter uma entrada de texto para
número real, e o comando int() para converter uma entrada de texto
para número inteiro.
5. As entradas e saídas de exemplo são apenas uma ilustração. O
CodeBench utiliza outros casos de teste para avaliar seu código. Teste
seu código com outros valores possíveis.
6. Modifique o código da questão anterior.
7. Considere que o CodeBench usa valores sempre válidos para corrigir o
seu código (valores positivos).

3 - ELEMENTOS DA DIVISÃO INTEIRA

Escreva um programa que leia dois números inteiros, nesta ordem:

• X (dividendo)
• Y (divisor)

Como saída, imprima os quatro elementos da divisão inteira, nesta ordem:

• dividendo
• divisor
• quociente
• resto

Dicas

1. O quociente da divisão inteira não tem parte fracionária. A divisão


inteira é indicada por duas barras (//).
2. O resto da divisão é indicado pelo sinal %. Por exemplo, o resto da
divisão de 9 por 4 é indicado por 9 % 4, cujo resultado é 1.
4 - O LUCRO DE BILICHILDE

Bilichilde é consultora de uma linha de cosméticos. Seu lucro sobre o valor total
de vendas é de 30%.

Escreva um programa que leia o total de vendas de Bilichilde. Como saída,


determine o valor do lucro obtido (em reais).

Dicas

1. Valores percentuais devem ser divididos por 100 antes de serem


multiplicados por uma expressão.
2. Os valores em reais devem ser arredondados em duas casas decimais
de precisão.
3. Dentro do comando print, use o comando round(x, 2) para arredondar a
resposta x com até duas casas decimais.
5 - ORDEM CRESCENTE

Escreva um programa que leia três números inteiros a partir do teclado.


Como saída, imprima os valores em ordem crescente.

Dicas

1. Leia os três valores usando as funções int() e input().


2. Use as funções min(a,b,c) e max(a,b,c) para encontrar o menor e o
maior valor.
3. Para descobrir o valor intermediário, some os três valores inseridos, e
em seguida subtraia o menor e o maior valor.

6 - LEIA E CONVERTA PARA MAIÚSCULAS


Escreva um programa que leia o nome completo de uma pessoa. Em seguida,
imprima a string lida convertendo todas as letras para MAIÚSCULAS.

Dicas

1. A entrada já é uma string. Portanto, não é necessário usar nem int,


nem float, que convertem strings em números.
2. Use o método .upper() após o final do nome da string para converter
todas as suas letras em maiúsculas.
3. Exemplo: se texto = "Selina Kyle",
então print(texto.upper()) exibe SELINA KYLE.

7 - LEIA E CONVERTA PARA MINÚSCULAS

Escreva um programa que leia o nome de um produto a partir do teclado. Em


seguida, imprima a string lida convertendo todas as letras para minúsculas.
Dicas

1. A entrada já é uma string. Portanto, não é necessário usar nem int,


nem float, que convertem strings em números.
2. Use o método .lower() após o final do nome da string para converter
todas as suas letras em minúsculas.
3. Exemplo: se texto = "SABONETE",
então print(texto.lower()) exibe sabonete.

8 - ÁREA DO CÍRCULO E VOLUME DA ESFERA

Escreva um programa que leia o valor de um raio r, inserido via teclado.

Como saída, determine as seguintes informações, nesta ordem:

1. Área de um círculo com o raio r.


2. Volume de uma esfera com raio r.
Arredonde os resultados com até 03 casas decimais de precisão.

Dicas

1. Importe o módulo math, para trabalhar com funções e constantes


matemáticas.
2. Área de um círculo de raio r: A=πr2A=πr2.
3. Volume de uma esfera de raio r: V=43πr3V=43πr3.
4. Use a constante pi do módulo math em seus cálculos. Não use o valor
aproximado dela.
5. Dentro do comando print, use o comando round(x, 3) para arredondar a
resposta x com até três casas decimais.

9 - ÁREA DO TRIÂNGULO

Considere um triângulo de lados a, b, c. O semiperímetro (metade do


perímetro) desse triângulo é definido por:

s=a+b+c2
A área A do triângulo pode ser calculada pela seguinte fórmula:

A=√ s(s−a)(s−b)(s−c)
Escreva um programa que leia os comprimentos dos lados de um triângulo.
Como saída, determine a sua área.

Dicas

1. Use a função raiz quadrada sqrt(), do módulo math.


2. Verifique qual o tipo das entradas: reais ou inteiras?
3. Considere que as entradas sempre correspondem a medidas válidas de
um triângulo.

4. Dentro do comando print, use o comando round(x, 5) para arredondar a


resposta x com até cinco casas decimais.

10 - COMO O GOOGLEMAPS CALCULA A DISTÂNCIA ENTRE DOIS PONTOS


NA SUPERFÍCIE DA TERRA?
A superfície da Terra é curva. Por isso, o teorema de Pitágoras não pode ser
utilizado para calcular a distância entre dois pontos sobre a superfície da Terra.

Seja (ti, gi) a latitude e longitude de um ponto Pi na superfície da Terra. A


distância d entre dois pontos P1 e P2, em km, é dada por:

d=R.arccos(sen(t1).sen(t2)+cos(t1).cos(t2).cos(g1−g2))
onde R = 6371,01 km é o raio médio da Terra.

Escreva um programa que leia as seguintes informações, medidas em graus:

1. A latitude t1 de um ponto P1.


2. A longitude g1 de um ponto P1.
3. A latitude t2 de um ponto P2.
4. A longitude g2 de um ponto P2.

Como saída, determine a distância d, em quilômetros, com duas


casas decimais de precisão.
11 - DISTÂNCIA ENTRE OBJETOS

Na figura abaixo:

A distância entre as duas árvores pode ser calculada pelo observador usando a
lei dos cossenos:

c=√ a2+b2−2abcosγ
Faça um programa que tenha como entrada, nessa ordem:

1. a distância a entre o observador e a primeira árvore.


2. a distância b entre o observador e a segunda árvore.
3. o angulo γ entre aa e b (em graus).

Como saída, seu programa deverá imprimir, com duas casas decimais,
o valor de c, correspondente à distância entre as duas árvores.
12 - MÉDIA PONDERADA

Escreva um programa que leia quatro notas de um aluno. Como saída,


imprima a média ponderada, sabendo que os pesos das avaliações são
respectivamente: 1, 2, 3 e 4.

Arredonde os resultados com até 02 casas decimais de precisão.

Dicas

1. Dentro do comando print, use o comando round(x, 2) para arredondar a


resposta x com até n casas decimais.
2. Verifique o tipo das entradas: as notas são valores inteiros ou reais?
13 - QUAL O VALOR DA FÓRMULA?

Escreva um programa que leia três variáveis reais a, b, c, nesta ordem.

Como saída, o programa deve imprimir o resultado da seguinte fórmula


matemática:

(a²+b²+c²)/(a+b+c)

Arredonde os resultados com 07 casas decimais.

Dicas

1. Primeiro leia as variáveis, depois aplique a fórmula e, por fim, imprima o


resultado.
2. Considere que a soma a + b + c nunca será igual a zero, ou seja, não
terá divisão por zero
3. Dentro do comando print, use o comando round(x, n) para arredondar a
resposta x com até n casas decimais.
14 - POLPA DE FRUTAS

Michael comprou alguns litros de polpa de frutas, com o objetivo de doar dois
terços a uma instituição de caridade e ficar com um terço.

Escreva um programa que leia quantos litros foram comprados. Como saída,
apresente a quantidade que ficará com Michael.

Arredonde os valores com até 03 casas decimais de precisão.

Dicas

1. Dentro do comando print, use o comando round(x, 3) para arredondar a


resposta x com até três casas decimais.
2. Observe qual o tipo de entradas e saídas esperadas: real ou inteiro? Por
exemplo, é possível comprar 2,5 litros ou apenas quantidades inteiras?
3. Use a função round(x, n) para arredondar um número x com
até n casas decimais de precisão.

15 - CONSUMO DE COMBUSTÍVEL

A partir da distância total percorrida (em km) e do total de combustível


gasto (em litros), calcule o consumo médio de um automóvel.

Apresente o valor que representa o consumo médio do automóvel com até 3


casas após a vírgula, seguido da mensagem "km/l".

Dicas

1. Dentro do comando print, use o comando round(x, 3) para arredondar a


resposta x com até três casas decimais.
2. Dentro do comando print, além do consumo médio, imprima a string
"km/l".
3. Use a função round(x, n) para arredondar um número x com
até n casas decimais de precisão.
16 - VIAGEM DE CARRO

Escreva um programa que leia:

1. O tempo gasto em uma viagem de carro.


2. A velocidade média do veículo.

Como saída, o programa deve calcular e apresentar:

1. A distância percorrida.
2. A quantidade de litros de combustível gastos na viagem.

A autonomia do veículo é de 12.0 km com um litro de combustível.

Dicas

1. O tempo de viagem deverá ser lido em horas, como um número real.


Exemplos:
o 1h 15min = 1.25
o 30 min = 0.5

17 - FEITIÇO PARA ABRIR OBJETOS

A bruxa Hermitwo precisa lançar um feitiço para abrir objetos. O feitiço consiste
em repetir N vezes a seguinte frase mágica:

Abra + nome_do_objeto

Escreva um programa que leia as seguintes informações, nesta ordem:

1. Nome do objeto
2. Número de repetições do feitiço

Como saída, imprima o feitiço a ser conjurado por Hermitwo.

Dicas

1. Atenção para o uso de caracteres maiúsculos e minúsculos.


2. Use o sinal de + para concatenar strings e o sinal de * para repetir
strings.
3. Durante a leitura, tenha atenção para os tipos das variáveis envolvidas:
string e inteiro.
4. Antes de repetir a string, concatene o caractere de espaço ao final da
frase mágica: " ".

18 - DANO NA BATALHA

Escreva um programa que leia as seguintes informações:

1. Pontos de vida iniciais de um monstro antes de uma batalha de RPG


(Role Playing Game).
2. Os valores sorteados no lançamento de dois dados de vinte faces
(D1 e D2).

Como resultado, determine os pontos de vida RESTANTES do monstro após a


aplicação do golpe. O dano causado pelo golpe corresponde à parte inteira do
resultado da seguinte fórmula:
dano=⌊√ 5⋅D1 +πD23⌋
onde D1 e D2 são os valores sorteados pelos dados, na ordem informada.

Dicas

1. Importe o módulo math, para trabalhar com funções e constantes


matemáticas.
2. Use a função int(f) para obter a parte inteira de um número real f.
3. Atente para a ordem das entradas.
4. Observe o tipo das entradas: inteiras ou reais?

19 - DÍGITO VERIFICADOR

Objetivo: calcular o dígito verificador de uma conta bancária

As contas bancárias do banco Gringotes são identificadas por uma sequência


de quatro dígitos, mais um dígito verificador. Exemplo:
Para calcular o dígito verificador, procede-se assim:

1. Começando da direita para a esquerda, cada dígito da conta é


multiplicado por um número, sendo o primeiro por 2, depois por 3,
depois por 4, e depois por 5.
2. O somatório dessas multiplicações é dividido por 11.
3. O resto desta divisão (módulo 11) é o dígito verificador.

Observe este exemplo:

Escreva um programa que leia um número inteiro de quatro dígitos,


correspondente à conta bancária. Como saída, imprima o dígito verificador.

Dicas

1. Para isolar os dígitos do número lido, utilize os operadores de resto da


divisão (%) e da divisão inteira (//).
2. Considere que a entrada é sempre válida, ou seja, tem sempre no
máximo quatro dígitos.
20 - PONTO MÉDIO ENTRE DOIS PONTOS NO PLANO CARTESIANO

Sejam A e B dois pontos sobre plano cartesiano. As coordenadas do ponto M,


o ponto médio do segmento de reta formado por A e B, são dadas por:

xM = (xB+xA)2
yM = (yB+yA)2

Elabore um programa que leia, nesta ordem:


1. as coordenadas do ponto A (xA, yA)
2. as coordenadas do ponto B (xB, yB)

Como saída, imprima o valor das coordenadas xM e yM, nessa ordem, com
até uma casa decimal de precisão.

Dicas

1. Atenção para a ordem de leitura e impressão dos valores.


2. Use a função round(x, n), nativa da linguagem Python, para arredondar
um número x com até n casas decimais de precisão.
3. Certifique-se qual o tipo numérico (float ou int) das entradas e saídas.

21 - DISTÂNCIA ENTRE DOIS PONTOS NO PLANO CARTESIANO

Sejam A e B dois pontos sobre o plano cartesiano, como ilustrado na figura a


seguir.
A distância d entre A e B é dada pela seguinte fórmula:

dAB=√ (XB−XA)2+(YB−YA)2 dAB=(XB−XA)2+(YB−YA)2


Elabore um programa que leia as coordenadas do ponto A (XA,YA) e as do
ponto B (XB,YB), nessa ordem, e imprima no console o valor da distância entre
eles com até três casas decimais de precisão.

Dicas

1. Atenção para a ordem de leitura dos valores de entrada.


2. Use a função round(x, n), nativa da linguagem Python, para arredondar
um número x com até n casas decimais de precisão.
3. Certifique-se qual o tipo numérico (float ou int) das entradas e saídas.
22 - PROBLEMA DO ANIVERSÁRIO

Em um grupo de n pessoas, a probabilidade de que duas delas façam aniversário no


mesmo dia do ano é dada pela seguinte expressão:

p(n)=[1−365!/(365−n)!]⋅[1/365^n]
Escreva um programa que leia o número de pessoas em um grupo e, como saída,
informe a probabilidade (em %) de duas pessoas desse grupo fazerem aniversário
juntas. Apresente o resultado com até duas casas decimais de precisão.

Observe que p será um número entre 0 e 1 por ser uma probabilidade. A questão
solicita o resultaod em porcentagem. Curiosidade: Para um grupo maior que 23
pessoas, como uma sala de aula, a probabilidade de que duas pessoas façam
aniversário juntas é maior que 50%. Será se isso acontece na sua turma?

Dicas
1. Note que p(n) é um valor entre 0 e 1, mas que a saída deve estar entre 0 e 100
(em %).
2. Use a função factorial(x) do módulo math, para encontrar o fatorial de x.
3. Use a função round(x, n) para arredondar um número x com até n casas
decimais de precisão.
4. Certifique-se qual o tipo numérico (float ou int) das entradas e saídas.

23 - MÉDIA FINAL

Em uma turma de IPC, a nota final (NF) é calculada com base em três outras
notas:

1. Média dos Laboratórios (ML) que compõe 25% da nota final.


2. Média dos Trabalhos (MT) que compõe 30% da nota final.
3. Média das Provas (MP) que compõe 45% da nota final.
Escreva um programa que leia, nessas ordem, essas três notas (que estarão
entre 0 e 10). Como saída, seu programa deve imprimir a nota final do
aluno com duas casas decimais.

Dicas

1. Tanto as médias quanto a nota final são números reais.


2. Utilize a função round().

Você também pode gostar