Buscar

APRENDA PYTHON VOL 1

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 27 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 27 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 27 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 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 umprograma 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().

Outros materiais