Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


questoes,questoes, questoes, Exercícios de Programação em Python

questões,questoes,questoes...................

Tipologia: Exercícios

2020

Compartilhado em 17/11/2022

usuário desconhecido
usuário desconhecido 🇧🇷

1 documento

1 / 35

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Arquivo de exercícios em python
*os exercícios em negrito são os já revisados*
#EXERCÍCIO 001 - Dado o tamanho da base e da altura de um retângulo,
calcular a sua área e o seu perímetro.
lado=int(input("digite o lado:"))
area= lado * lado
perimetro= lado * 4
print("area:", area)
print("perimetro:", perimetro)
#EXERCÍCIO 002 - Dado o tamanho do lado de um quadrado, calcular a área e
o perímetro do mesmo.
lado= int(input("Digite o lado do quadrado: "))
perimetro = lado *4
area = lado * lado
print("perimetro:", perimetro, "-", " area:", area)
#EXERCÍCIO 003 - Dado o tamanho do raio de uma circunferência, calcular a
área e o perímetro da mesma.
raio=float(input("digite o valor da circunferencia:"))
area = 3.14 * (raio * raio)
peri= 2 * 3.14 * raio
print("area", area)
print("peri", peri)
#EXERCÍCIO 004 - Dado os três lados de um triângulo determinar o perímetro
do mesmo.
lado1=int(input("digite o valor do primeiro quadrado:"))
lado2=int(input("digite o valor do segundo quadrado:"))
lado3=int(input("digite o valor do terceiro quadrado:"))
peri= lado1 + lado2 + lado3
print(" a soma dos lados é:", peri)
#EXERCÍCIO 005 - Ler um número inteiro e exibir o seu sucessor.
num= int(input("digite qualquer numero:"))
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23

Pré-visualização parcial do texto

Baixe questoes,questoes, questoes e outras Exercícios em PDF para Programação em Python, somente na Docsity!

Arquivo de exercícios em python

os exercícios em negrito são os já revisados #EXERCÍCIO 001 - Dado o tamanho da base e da altura de um retângulo, calcular a sua área e o seu perímetro. lado=int(input("digite o lado:")) area= lado * lado perimetro= lado * 4 print("area:", area) print("perimetro:", perimetro) #EXERCÍCIO 002 - Dado o tamanho do lado de um quadrado, calcular a área e o perímetro do mesmo. lado= int(input("Digite o lado do quadrado: ")) perimetro = lado * area = lado * lado print("perimetro:", perimetro, "-", " area:", area) #EXERCÍCIO 003 - Dado o tamanho do raio de uma circunferência, calcular a área e o perímetro da mesma. raio=float(input("digite o valor da circunferencia:")) area = 3.14 * (raio * raio) peri= 2 * 3.14 * raio print("area", area) print("peri", peri) #EXERCÍCIO 004 - Dado os três lados de um triângulo determinar o perímetro do mesmo. lado1=int(input("digite o valor do primeiro quadrado:")) lado2=int(input("digite o valor do segundo quadrado:")) lado3=int(input("digite o valor do terceiro quadrado:")) peri= lado1 + lado2 + lado print(" a soma dos lados é:", peri) #EXERCÍCIO 005 - Ler um número inteiro e exibir o seu sucessor. num= int(input("digite qualquer numero:"))

s= num+ print(" o seu sucessor é:", s) #EXERCÍCIO 006 - Ler dois números inteiros e exibir o quociente e o resto da divisão inteira entre eles. var1 = int(input("Digite o primeiro numero: ")) var2 = int(input("Digite o segundo numero: ")) dividendo = var divisor = var quociente = dividendo/divisor resto = dividendo%divisor print("O quociente é: ", quociente) print("O resto é: ", resto) num = int(input("Digite um numero com três digitos: ")) print ("O Número informado é: ",num) numeroInvertido = int(str(num)[::-1]); print ("O número invertido é: ",numeroInvertido) #EXERCÍCIO 007 - Solicitar a idade de uma pessoa em dias e informar na tela a idade em anos, meses e dias. anos=int(input("digite a sua idade:")) valor= anos* valor2= anos* print("a idade em anos, meses e dias são:",anos, valor, valor2) #EXERCÍCIO 008 - Dado que a fórmula para conversão de Fahrenheit para Celsius é C = 5/9 (F – 32), leu um valor de temperatura em Fahrenheit e exibi-lo em Celsius. calculos.py class Temperatura(): #Conversão de graus Fahrenheit para graus Celsius def FtoC(self, graus_fahrenheit): graus_celsius = (5/9)*(graus_fahrenheit-32) return graus_celsius main.py

Importação das funções que serão executadas no Main

transformacao=bin(binario) print("transformação", transformacao) #EXERCÍCIO 011 - Faça um algoritmo para calcular a nota semestral de um aluno. A nota semestral é obtida pela média aritmética entre a nota de 2 bimestres. Cada nota de bimestre é composta por 2 notas de provas. #PRIMEIRO BIMESTRE bim1prova1=int(input("Digite a nota da prova 1 do primero bimestre : ")) bim1prova2=int(input("Digite a nota da prova 2 do primero bimestre : ")) mediabimestre1 = float(bim1prova1+bim1prova2)/ #SEGUNDO BIMESTRE bim2prova1=int(input("Digite a nota da prova 1 do segundo bimestre : ")) bim2prova2=int(input("Digite a nota da prova 2 do segundo bimestre : ")) mediabimestre2 = float(bim2prova1+bim2prova2)/ #MEDIA SEMESTRAL media= float(mediabimestre1+mediabimestre2)/ print( f"A nota semestral é:{media}") #EXERCÍCIO 012 - Faça um algoritmo que transforme uma velocidade fornecida em m/s pelo usuário para Km/h. Para tal, multiplique o valor em m/s por 3,6. velocidade_ms= float(input("Insira a velocidade em m/s:")) velocidade_km = velocidade_ms * 3. print("A velocidade em KM é: ",velocidade_km) #EXERCÍCIO 013 - Um circuito elétrico é composto de duas resistências R1 e R em paralelo, e ambas em sequência de uma resistência R3. Faça um algoritmo para calcular a resistência equivalente desse circuito. #EXERCÍCIO 014 - Em uma cidade se deseja sincronizar os semáforos. Com isto, quando um semáforo abre (fica verde), os veículos que nele estavam parados tendem a encontrar os próximos semáforos também abertos. Para que isto seja feito, os próximos semáforos precisam abrir um pouco depois, dependendo da velocidade permitida na via e da distância entre eles. Assim, ao abrir o semáforo, um veículo começa a acelerar até atingir a velocidade permitida, que mantém até chegar ao próximo semáforo, levando um certo tempo para percorrer essa distância. Para que encontre o próximo semáforo aberto, este deve abrir um pouco antes da chegada do veículo (por ex: 3

segundos antes). Faça assim um algoritmo que informe quanto tempo depois um semáforo deve abrir, dada as seguintes informações: a. a distância desde o semáforo anterior b. a velocidade permitida da via c. a aceleração típica dos carros calculos.py class Semaforos(): #Cálculo da aceleração de km/h para m/s def converter_medidas(self, KM_H): return KM_H/3. #Cálculo do tempo de abertura do semáforo def abertura(self, distancia, velocidade, aceleration):

Considerando que o semáforo deve abrir 3 segundos antes do carro chegar

open_before = 3

até ele, temos como exemplo:

300 metros

50 metros de velocidade

25 m/s de aceleração # Leva 12 segundos para chegar até o semáforo

Fazer regra de três 25m - 1s e 300m - xs

9 segundos para o semáforo -> 225m

se a aceleração for maior que a velocidade permitida, considerar a

velocidade

permitida como aceleração

if(aceleration > velocidade): #Considerar a velocidade máxima (permitida) da via new_velocity = self.converter_medidas(velocidade) else: #Considerar a aceleração do carro new_velocity = self.converter_medidas(aceleration)

Tempo para a chegada até o semáforo

time_to_reach = distancia/new_velocity #Tempo para a chegada - o tempo de antecedência da abertura do semáforo time_to_open = time_to_reach - open_before if(time_to_open <= 0):

num = int(input("Digite um numero com três digitos: ")) print ("O Número informado é: ",num) numeroInvertido = int(str(num)[::-1]); print ("O número invertido é: ",numeroInvertido) #EXERCÍCIO 017 - Um programa para gerenciar os saques de um caixa eletrônico deve possuir algum mecanismo para decidir o número de notas de cada valor que deve ser disponibilizado para o cliente que realizou o saque. Um possível critério seria o da "distribuição ótima" no sentido de que as notas de menor valor fossem distribuídas em número mínimo possível. Por exemplo, se a quantia solicitada fosse R$87,00, o programa deveria indicar uma nota de R$50,00, três notas de R$10,00, uma nota de R$5,00 e duas notas de R$1,00. Escreva um programa que receba o valor da quantia solicitada e retorne a distribuição das notas de acordo com o critério da distribuição ótima (considere existir notas de R$1,00; R$2,00; R$5,00; R$10,00; R$20,00; R$50,00 e R$100,00). #EXERCÍCIO 018 - Escreva um programa que permite o valor de duas variáveis inteiras. #EXERCÍCIO 019 - Escreva um programa que calcule a raiz de uma equação do primeiro grau. #EXERCÍCIO 020 - Uma loja vende seus produtos no sistema entrada mais duas prestações, sendo a entrada maior do que ou igual às duas prestações, as quais devem ser iguais, inteiras e as maiores possíveis. Por exemplo, se o valor da mercadoria for R$270,00, a entrada e as duas prestações são iguais a R$90,00; se o valor da mercadoria for R$302,75, a entrada é de R$102,75 e as duas prestações são a iguais a R$100,00. Escreva um programa que receba o valor da mercadoria e forneça o valor da entrada e das duas prestações, de acordo com as regras acima. Observe que uma justificativa para a adoção desta regra é que ela facilita a confecção e o consequente pagamento dos boletos das duas prestações. #EXERCÍCIO 021 - Escreva um programa que leia um número e exiba se ele é positivo ou negativo. calculos.py class Numeros(): def isPositiveOrNegative(self, num): if(num < 0): return 'Negativo' return 'Positivo'

main.py from Calculos import Numeros #-----------------------------------------------------------------# class Main(): """Classe Main, semelhante à função main do Java.""" def init(self): numero = float(input("Informe um número: ")) numeros = Numeros() # Inicialização da classe print("\n Número positivo ou negativo") status_num = numeros.isPositiveOrNegative(numero) print(f"O número {numero} é: {status_num}") #envia o resultado no terminal

OBS: aqui, o número zero (0) é considerado um número positivo

input("Pressione qualquer tecla para encerrar")#Fechar o programa

Garantir a execução da "função Main()" (nesse caso, é uma classe simulando a

função do Java)

ao executar esse arquivo.

if name == 'main': Main() #EXERCÍCIO 022 - Escreva um programa que leia um número e exiba o seu módulo. #EXERCÍCIO 023 - Escreva um programa que leia um número e imprima se este número é ou não par num = float(input("Digite um numero para descobrir se é par ou impar: ")) resto = num % 2 if resto == 0: print("O numero digitado é par!") else: print("O numero digitado é impar!") #EXERCÍCIO 024 - Escreva um programa que leia três números e mostre o maior entre eles. primeiro = int(input('Digite o primeiro numero: '))

#EXERCÍCIO 026 - Escreva um programa que leia 3 valores e escreva a soma dos 2 maiores. v1 = int(input('Digite o valor 1')) v2 = int(input('Digite o valor 2')) v3 = int(input('Digite o valor 3')) if (v1 < v2 and v1 < v3): print ("A soma é: " + str(v2 + v3)) elif (v2 < v1 and v2 < v3): print ("A soma é: " + str(v1 + v3)) else: print ("A soma é: " + str(v1 + v2)) #EXERCÍCIO 027 - Escreva um programa que leia 3 números e calcule a média ponderada entre eles. Considere que o maior número recebe peso 5 e os outros dois receberam peso 2,5. n= int(input('Quantas notas tem?')) numerador = 0 denominador = 0 for i in range(n): nota = float(input("Qual é a próxima nota?")) peso = int(input('Qual é o próximo peso?')) numerador = numerador + nota*peso denominador = denominador + peso print('A media e:',numerador/denominador) #EXERCÍCIO 028 - Escreva um programa que leia uma letra e mostre se ela é vogal ou consoante. calculos.py class Textos(): def is_vogal_or_consoante(self, letra): letra = letra.lower() consoantes = ['b','c','d','f','g','h','j','k','l','m','n','p','q','r', 's','t','v','w','x','y','z'] # Lista com as consoantes vogais = ['a', 'e', 'i', 'o', 'u'] # Lista com as vogais

if((len(letra) == 1)):#Verificar se só há um caractere na comparação if(letra in vogais): return 'Uma vogal' elif(letra in consoantes): return 'Uma consoante' else: return 'Desconhecido para o algoritmo' # Caso não seja nem vogal, nem consoante return 'Desconhecido para o algoritmo' # Caso não seja nem vogal, nem consoante main.py

Importação das funções que serão executadas no Main

from Calculos import Textos #-----------------------------------------------------------------# class Main(): """Classe Main, semelhante à função main do Java.""" def init(self): letra = input("Insira UMA letra: ") textos = Textos() # Inicialização da classe print("\n Verificador de vogal ou consoante") status_letra = textos.is_vogal_or_consoante(letra) print(f"O caractere '{letra}' é: {status_letra}") #envia o resultado no terminal input("Pressione qualquer tecla para encerrar")#Fechar o programa

Garantir a execução da "função Main()" (nesse caso, é uma classe simulando a

função do Java)

ao executar esse arquivo.

if name == 'main': Main() #EXERCÍCIO 029 - Escreva um programa que calcula o desconto previdenciário de um funcionário. Dado um salário, o programa deve retornar o valor do desconto proporcional ao mesmo. O cálculo segue a regra: o desconto é de 11% do valor do salário, entretanto, o valor máximo de desconto é 334,29, o que seja menor. salario = float(input('Digite o salario:'))

calculado como indicado a seguir: Calcula-se o percentual de passes completados em relação aos passes tentados pelo quarterback. Deste valor subtrai-se 0,3 e divide-se por 0,2. Este valor não deve ser maior que 2,375 ou menor que 0 (caso seja, ajusta-se o valor para 2,375 ou 0, respectivamente). Em seguida, calcula-se a razão de jardas passadas pela quantidade de passes tentados. Deste valor, subtrai-se 3 e divide-se por 4. Novamente, este valor não deve ser maior que 2,375 ou menor que 0 (caso seja, procede-se como no caso anterior). Agora, calcula-se a razão de passes para touchdows pelo número de passes tentados. Divide-se o valor por 0,05. Mais uma vez, este valor não deve ser maior que 2, ou menor que 0 (caso seja, procede-se como de costume). Então, calcula-se a razão entre passes interceptados e o número de passes tentados. Deste valor, subtrai-se 0,095 e divide-se o resultado por 0,04. Como de praxe, este valor não deve ser maior que 2,375 ou menor que 0 (caso seja, atua-se como explicado). O quarterback rating é calculado somando-se as quatro parcelas anteriores, multiplicando a soma por 100 e dividindo-se o produto por 6. Escreva um programa, que leia o número de passes tentados, o número de passes completos, o número de jardas passadas, o número de passes para touchdown e o número de passes interceptados e informe o QB Rating do quarterback #EXERCÍCIO 032 - Escreva um programa que leia um caractere e diga se ele é uma vogal, consoante, número ou um símbolo (qualquer outro caractere, que não uma letra ou número). import re char=input('Digite um caractere:') if (re.search("^([aeiou]){1}$", char, re.I)): print('É vogal') elif(re.search("^([bcdfghjklmnpqrstvwxyz]){1}$", char, re.I)): print('É consoante') elif(re.search("^([0-9]){1}$", char, re.I)): print('É número') else: print('É símbolo') #EXERCÍCIO 033 - Escreva um algoritmo que leia 2 valores (x e y), que devem representar as coordenadas de um ponto em um plano. A seguir, determine qual o quadrante ao qual pertence o ponto, ou se está sobre um dos eixos cartesianos ou na origem (x=y=0).

#EXERCÍCIO 034 - Uma financeira usa o seguinte critério para conceder empréstimos: o valor total do empréstimo deve ser até dez vezes o valor da renda mensal do solicitante e o valor da prestação deve ser no máximo 30% da renda mensal do solicitante. Escreva um programa que leia a renda mensal de um solicitante, o valor total do empréstimo solicitado e o número de prestações que o solicitante deseja pagar e informe se o empréstimo pode ou não ser concedido. #EXERCÍCIO 035 - Escreva um programa que leia um número inteiro de 1 a 7 e informe o dia da semana correspondente, sendo domingo o dia de número 1. Se o número não corresponder a um dia da semana, mostre uma mensagem de erro. calculos.py class Semanas():

Converte o numeral do dia para o nome do dia

def converter_dia_para_escrito(self, dia): #Opcional

Para Python 3.

match dia:

case 1:

dia_extenso = 'Domingo'

case 2:

dia_extenso = 'Segunda-Feira'

case 3:

dia_extenso = 'Terça-Feira'

case 4:

dia_extenso = 'Quarta-Feira'

case 5:

dia_extenso = 'Quinta-Feira'

case 6:

dia_extenso = 'Sexta-Feira'

case 7:

dia_extenso = 'Sábado'

case _:

dia_extenso = 'Dia Inexistente'

return dia_extenso

Para Python < 3.

if(dia == 1): dia_extenso = 'Domingo'

Garantir a execução da "função Main()" (nesse caso, é uma classe simulando a

função do Java)

ao executar esse arquivo.

if name == 'main': Main() #EXERCÍCIO 036 - Em uma certificação são feitos 5 exames (I, II, III, IV e V). Escreva um programa que leia as notas destes exames e imprima a classificação do aluno, sabendo que a média é 70. Classificação: A – passou em todos os exames; B – passou em I, II e IV, mas não em III ou V; C – passou em I e II, III ou IV, mas não em V. Reprovado – outras situações. #EXERCÍCIO 037 - Uma Cia de pulverização utiliza aviões para pulverizar lavouras. Os custos de pulverização dependem do tipo de praga e da área a ser contratada conforme a tabela: Tipo 1 – ervas daninhas R$ 50,00 por acre; Tipo 2 – gafanhotos R$ 100,00 por acre; Tipo 3 – broca R$ 150,00 por acre; Tipo 4 – todos acima R$250,00 por acre. Se a área a ser pulverizada for superior a 1000 acres, o fazendeiro tem um desconto de 5%. Em adição, qualquer fazendeiro cujo custo for maior do que R$750,00 tem um desconto de 10% sobre o valor que ultrapassar os R$750,00. Caso ambos os descontos se apliquem o da área é calculado antes. Fazer um algoritmo que leia: o tipo de pulverização (1 a 4) e área a ser pulverizada; e imprima o valor a ser pago. #EXERCÍCIO 038 - Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos. Escreva um programa que verifique se um ano é bissexto. Um ano é bissexto se ele é divisível por 4. Entretanto, se o ano é divisível por 100, ele não é bissexto. Mas, se ele for divisível por 400, ele volta a ser bissexto. a. São bissextos os anos: 1600, 1996, 2000, 2004, 2008, 2012, 2016, 2400, 2800, ... b. Não são bissextos: 1500, 1974, 1982, 1983, 1990, 2018, 2022, 2030, 2038, ... #EXERCÍCIO 039 - Em diversas situações, é útil o uso de dígitos verificadores. Dígito verificador ou algarismo de controle é um mecanismo de autenticação utilizado para verificar a validade e a autenticidade de um valor numérico, evitando dessa forma fraudes ou erros de transmissão ou digitação. Uma das formas mais comuns de cálculo de dígito verificadores é o método conhecido por módulo 11. O cálculo do DV no módulo 11 é feito, é feito como se segue: para calcular o primeiro dígito verificador, cada dígito do número, começando da direita para a esquerda (do

dígito menos significativo para o dígito mais significativo) é multiplicado, na ordem, por 2, depois 3, depois 4 e assim sucessivamente, até o primeiro dígito do número. O somatório dessas multiplicações dividido por 11. O resto desta divisão (módulo

  1. é subtraído da base (11), o resultado é o dígito verificador. O Banco do Brasil utiliza o código módulo 11, substituindo por X o valor do dígito verificador quando este é 10. Escreva um programa que receba um número com os 4 primeiros dígitos de uma agência e imprima o número da agência completo (número – dv). #EXERCÍCIO 040 - Escreva um programa que receba um número inteiro de 1 a 100 e mostre na tela o número por extenso. #EXERCÍCIO 041 - Escreva um programa que imprima todos os números inteiros do intervalo fechado de 1 a 100. for i in range(1,100+1): print( "o número é", i) #EXERCÍCIO 042 - Escreva um programa que imprima todos os números inteiros de 100 a 1 (em ordem decrescente). for i in range(100,0,-1): print(i) #EXERCÍCIO 043 - Escreva um programa que imprima todos os números pares do intervalo fechado de 1 a 100. for i in range(1,101): if i % 2 == 0: print(i) #EXERCÍCIO 044 - Escreva um programa que imprima todos os números de 1 até 100, inclusive, e a soma de todos eles. soma = 0 for i in range(0,101,1): print(i) soma = soma + i

#EXERCÍCIO 048 - Escreva um programa que determine se um dado número N (digitado pelo usuário) é primo ou não. n = int(input("Informe um número inteiro para ver se o mesmo é primo: ")) mult= for count in range(2,n): if (n % count == 0): print("Múltiplo de",count) mult += 1 if(mult == 0 and n >=2): print("É primo") else: print("Não é um número primo") #EXERCÍCIO 049 - Escreva um programa que determine se um dado número N (digitado pelo usuário) é primo ou não. n = int(input("Informe um número inteiro para ver se o mesmo é primo: ")) mult= for count in range(2,n): if (n % count == 0): print("Múltiplo de",count) mult += 1 if(mult == 0 and n >=2): print("É primo") else: print("Não é um número primo") #EXERCÍCIO 050 - Escreva um programa que leia um valor e imprima todas as possíveis combinações em que o lançamento de um par de dados tenha como resultado da soma dos valores dos dados o número lido. Por exemplo, se a entrada for o número 7, o programa deve imprimir as seguintes combinações:

**- 1 6

  • 2 5
  • 3 4
  • 4 3
  • 5 2
  • 6 1**

num = int(input("Informe um número inteiro: ")) for i in range(1,num+1): print(i,"", num-i) #EXERCÍCIO 051 - A série de Fibonacci é formada pela sequência:

- 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ... Escreva um programa que gere a série de FIBONACCI até o N-ésimo termo (com N sendo uma entrada do algoritmo). a = 1 b = 0 aux = "" num = int(input("Informe um número inteiro: ")) for i in range(1,num+1): print(a) aux = a a = a + b b = aux **#EXERCÍCIO 052 - A série de FETUCCINE é gerada da seguinte forma: os dois primeiros termos são fornecidos pelo usuário; a partir daí, os termos são gerados com a soma ou subtração dos dois termos anteriores, ou seja:

  1. Ai = Ai-1 + Ai-2, para i ímpar
  2. Ai = Ai-1 - Ai-2, para i par Criar um algoritmo em PORTUGOL que imprima os N primeiros termos da série de FETUCCINE, sabendo-se que para existir esta série serão necessários pelo menos três termos.** valorTermo = 0 num1 = int(input("Informe o primeiro número: ")) num2 = int(input("Informe o segundo número: ")) n = int(input("Informe a quantidade de termos: ")) if ( n < 3): print("A quantidade mínima de termos é 3") else: