Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. A prefeitura de uma cidade resolveu fazer uma pesquisa entre os seus trabalhadores. Para isso ela coletou alguns dados como idade, sexo (M ou F) e salário. Crie um algoritmo que leia estes dados e que escreva ao final a) a média salarial dos homens, a média salarial das mulheres b) o maior salário encontrado entre as pessoas abaixo de 30 anos. Obs: O final da leitura de dados é marcado por uma idade negativa. maxsal=-1 somam=0 contm=0 somaf=0 contf=0 idade=input('idade:') while idade>=0: sexo=raw_input('sexo(m ou f):') salario=input('salario:') if idade>=0 and idade<30 and salario>maxsal: maxsal=salario if sexo=='f': contf+=1 somaf=somaf+salario else: contm=contm+1 somam=somam+salario idade=input('idade:') print 'media salarial homens:',somam/float(contm) print 'media salarial mulheres:',somaf/float(contf) print 'maior salário:', maxsal #com o max sal vc ta fazendo o seguinte: vc pega um valor de salario, ex 5, como 5 é maior que 0, o max sal vira 5. Depois, se vc pegar um valor 3 por exemplo, como o 3 é menor que 5, o max sal continua sendo 5. 2. Crie um algoritmo que escreva os N primeiros termos de uma progressão aritmética (PA). O primeiro termo e a razão da PA devem ser informados pelo usuário. a1=input('primeiro termo:') r=input('razao:') n=input('insira a quantidade de termos:') an=a1+(n-1)*r range(a1,an,r) print range(a1,an+1,r) 3. Crie um algoritmo que leia uma quantidade não determinada de números inteiros. O programa deve calcular e escrever a quantidade de números pares e ímpares e a média aritmética dos números pares. A leitura deve ser encerrada quando for lido o número zero, que não deve ser considerado. soma1=0 cont2=0 cont1=0 n=input('numero inteiro:') while n!=0: if n%2==0: cont1=cont1+1 soma1=soma1+n media=soma1/float(cont1) else: cont2=cont2+1 n=input('numero inteiro:') print 'quantidade de números pares:',cont1 print 'quantidade de numeros ímpares:',cont2 print 'media aritmetica dos numeros pares:',media 4. Crie um algoritmo que leia os nomes e os preços dos produtos de uma loja e que escreva o nome do produto mais caro. Considere que o final da lista é marcado pelo produto ‘XXX’ e que não existem preços repetidos. mvalor=0 nome=raw_input('insira o nome:') while nome!='XXX': valor=float(input('insira o preco do produto')) if (valor>mvalor): produto=nome mvalor=valor nome=raw_input('insira o nome do produto:') print produto, 'R$',mvalor 5. Crie um algoritmo que imprima o peso total que será carregado por um caminhão. Sabe-se que este caminhão carrega 25 caixas. O peso de cada caixa deve ser informado pelo usuário. p1=float(input('peso da carga 1:')) p2=float(input('peso da carga 2:')) p3=float(input('peso da carga 3:')) p4=float(input('peso da carga 4:')) p5=float(input('peso da carga 5:')) p6=float(input('peso da carga 6:')) p7=float(input('peso da carga 7:')) p8=float(input('peso da carga 8:')) p9=float(input('peso da carga 9:')) p10=float(input('peso da carga 10:')) pesototal=p1+p2+p3+p4+p5+p6+p7+p8+p9+p1 print 'peso total:',pesototal #esse eu fiz só com 10 pq a ideia é a mesma. 6. Crie um algoritmo que leia a quantidade e o preço de 50 produtos comprados por uma empresa. Ao final deve ser escrito o total gasto pela empresa. qtde1=input('quantidade do produto 1:') valor1=float(input('preco do produto 1(R$):')) qtde2=input('quantidade do produto 2:') valor2=float(input('preco do produto 2(R$):')) qtde3=input('quantidade do produto 3:') valor3=float(input('preco do produto 3(R$):')) qtde4=input('quantidade do produto 3:') valor4=float(input('preco do produto 4(R$):')) total=float(qtde1*valor1+qtde2*valor2+qtde3*valor3+qtde4*valor4) print 'total gasto pela empresa: R$',total 7. Crie um algoritmo que leia 2 números inteiros positivos, A e B, e que calcule a soma de todos os números compreendidos entre eles. Os valores A e B não devem ser considerados no somatório. Caso A seja maior do que B deve ser enviada uma mensagem para o usuário informando que a soma não será realizada. soma=0 A=int(input('primeiro número:')) B=int(input('segundo número:')) if A<B: for i in range(A+1,B): soma=soma+i print 'soma:',soma else: print 'ERRO: A SOMA NÃO SERÁ REALIZADA' 8. Crie um algoritmo que leia 2 números inteiros positivos, A e B, e que calcule a soma de todos os números múltiplos de 4 compreendidos entre eles. Os valores A e B não devem ser considerados no somatório. Caso A seja maior do que B deve ser enviada uma mensagem para o usuário informando que a soma não será realizada. A=int(input('entre com um número:')) B=int(input('entre com um número:')) soma=0 if A<B: for i in range(A+1,B): if i%4==0: soma=soma+i print 'soma:',soma else: print'ERRO, A SOMA NÃO SERÁ REALZADA' 9. Crie um algoritmo que apure os votos de uma eleição municipal, numa cidade com 20.000 eleitores, onde concorreram quatro candidatos. Um servidor da Justiça Eleitoral digitará cada voto individualmente. Cada voto equivale a um número inteiro. Os votos válidos podem ser 1, 2, 3 e 4, e estão relacionados aos seguintes candidatos: 1 – João da Silva 2 – José Ramalho 3 – Maria Mattos 4 – Pedro Américo Votos com o valor 0 devem ser contabilizados como votos em branco, e votos com qualquer outro valor (além de 0, 1, 2, 3 e 4), devem se considerados votos nulos. Calcule e escreva o total de votos de cada candidato, o total de votos brancos e o total de votos nulos. eleitores=0 cont0=0 cont1=0 cont2=0 cont3=0 cont4=0 contx=0 while eleitores<20000: n=input('número do candidato:') if n==0: cont0=cont0+1 elif n==1: cont1=cont1+1 elif n==2: cont2=cont2+1 elif n==3: cont3=cont3+1 elif n==4: cont4=cont4+1 else: contx=contx+1 eleitores+=1 print 'votos nulos:',contx print 'votos Joao:',cont1 print'votos José:',cont2 print 'votos Maria:',cont3 print 'votos Pedro:',cont4 print'votos em branco:',cont0 10. Uma empresa lançou um novo produto no mercado e fez uma pesquisa para saber se os consumidores estavam satisfeitos, para isso eles deveriam responder sim ‘S’ ou não ‘N’. Crie um algoritmo que leia a resposta de todas as pessoas e escreva a porcentagem dos que disseram sim e dos que disseram não. Obs: O final da leitura de dados é marcado pela resposta ‘F’. cont2=0 cont1=0 cont=0 r=raw_input('voce esta satisfeito com o produto?(S/N):') while r!='F': cont2+=1 if r=='S': cont+=1 else: cont1+=1 r=raw_input('voce esta satisfeito com o produto?(S/N):') print 'porcentagem dos que disseram sim:',(cont/float(cont2))*100,'%' print 'porcentagem dos que disseram não:',(cont1/float(cont2))*100,'%' 11. Crie um algoritmo que calcule a soma dos N primeiros números inteiros ímpares e positivos. O valor de N deve ser lido do usuário. soma1=0 N=input('quantidade:') for i in range(1,N+1): if i%2!=0: soma1+=i print 'soma dos N primeiros números ímpares:',soma1 12. Crie um algoritmo que calcule a soma dos primeiros 50 números pares. Os primeiros números pares são: 2, 4, 6, ... soma=0 for i in range(1,101): if i%2==0: soma=soma+i print 'soma dos números pares:',soma 13. Crie um algoritmo para calcular a área de um triângulo qualquer, considerando que são fornecidos os comprimentos dos seus lados. Esse programa não pode permitir a entrada de dados inválidos, ou seja, medidas menores ou iguais a 0. import math l1=float(input('comprimento do lado 1:')) l2=float(input('comprimento do lado 2:')) l3=float(input('comprimento do lado 3:')) if l1>0 and l2>0 and l3>0: p=(l1+l2+l3)/float(2) a=math.sqrt(float(p*(p-l1)*(p-l2)*(p-l3))) print 'área do triângulo:',a else: print 'ERRO' 14. Crie um algoritmoque: a) Leia a idade de várias pessoas. O final da lista contém o valor da idade igual a -1 que deverá ser computado. b) Calcule e mostre a idade média desse grupo de indivíduos. Escreva também a porcentagem de pessoas entre 21 e 65 anos inclusive. cont2=0 soma=0 cont=0 idade=input('idade:') while idade>=-1: cont+=1 soma+=idade idademedia=soma/float(cont) if 21<=idade<=65: cont2+=1 idade=input('idade:') print 'idade média do grupo:',idademedia print'porcentagem de pessoas entre 21 e 65 anos:',(cont2/float(cont))*100,'%' 15. Num frigorífico existem 90 bois. Cada boi traz preso em seu pescoço um cartão contendo seu número de identificação e seu peso. Crie um algoritmo que escreva o número e peso do boi mais gordo e do boi mais magro. Além disso, responda: se houver dois ou mais bois com o mesmo peso, maior que todos os demais, este algoritmo escreverá o número de qual deles? maismagro=100000 maisgordo=-1 nidentificacao=[] peso=[] for i in range(0,4): nidentificacao.append(input('n:')) peso.append(float(input('p:'))) if peso[i]>maisgordo: maisgordo=peso[i] pos=i if peso[i]<maismagro: maismagro=peso[i] pos2=i print nidentificacao print peso print 'número do boi mais gordo:',nidentificacao[pos] print 'peso do boi mais gordo:',maisgordo,'kg' print 'número do boi mais magro:',nidentificacao[pos2] print 'peso do boi mais magro:',maismagro'kg' 16. Crie um algoritmo que: a) Leia e escreva o nome e a altura das moças inscritas em um concurso de beleza, até que seja digitada o nome ‘MARIA’, que marca o final da lista, mas é para ser computada no concurso. b) Calcule e escreva as duas maiores alturas e quantas moças as possuem. 17. Uma certa firma fez uma pesquisa para saber se as pessoas gostaram ou não de um novo produto lançado no mercado. Para isso, forneceu o sexo do entrevistado e sua resposta (sim ou não). Sabendo-se que foram entrevistadas 2.000 pessoas, crie um algoritmo que calcule e escreva: a) o número de pessoas que responderam sim; b) o número de pessoas que responderam não; a porcentagem de pessoas do sexo masculino que responderam não. cont3=0 cont2=0 cont=0 for i in range(0,5): sexo=raw_input('sexo(M/F):') r=raw_input('você gostou ou não do novo produto?(sim/não)') if r=='sim': cont=cont+1 else: cont2+=1 if sexo=='M' and r=='não': cont3+=1 porcentagem=cont3/float(cont+cont2) print 'número de pessoas que responderam sim:',cont print 'número de pessoas que responderam não:',cont2 print 'porcentagem de pessoas do sexo masculino que responderam não:',porcentagem*100,'%' 18. Crie um algoritmo que leia um número N e verifique se ele é primo. n=input('número:') primo=True for i in range(2,n): if n%i==0: primo=False print n,'não é primo' break if primo==True: print n, 'é primo' 19. Crie um algoritmo que leia um número N e imprima os N primeiros números primos. primo=True N=input('entre com um número:') for i in range(1,N): for j in range(2,N): if i%j==0: primo=False print i,'não é primo' if i%j!=0: primo=True print i, 'é primo' 20. Crie um algoritmo que leia um número N e imprima se ele é perfeito ou não. Um número é perfeito quando a soma dos seus divisores é igual a ele mesmo, e.g., 6 = 3 + 2 + 1. soma=0 N=int(input('entre com um número:')) divisores=[] for i in range(1,N): if N%i==0: divisores.append(i) for j in range(0,len(divisores)): soma+=divisores[j] if soma==N: print 'o número é perfeito' else: print 'o número não é perfeito' #no i vc n põe do 1 até N+1 pq o enunciado não considera pra soma dos divisores o próprio número 21. Crie um algoritmo que imprima os 4 primeiros números perfeitos. 22. Crie um algoritmo que leia um número N e calcule: N=input('entre com um número:') e=0 for i in range(1,N+1): e=e+1/float(i) print 'somatório:',e 23. Crie um algoritmo de caixa eletrônico que lê a quantidade de dinheiro a ser sacado e imprime a menor quantidade de notas a ser dada ao usuário. Assume-se que existam notas de 50, 20, 10, 5 e 1. Imprimir também a quantidade de cada nota a ser dada ao usuário. O final da leitura é marcado pelo valor 0 que não deve ser calculado. Exemplo: 98 = uma nota de 50, duas notas de 20, uma nota de 5, e três notas de 1. #no python é considerado q a divisao inteira do 8 por 10 dá 0 e que o resto da divisão de 8 por 10 dá 8 q=float(input('quantidade de dinheiro a ser sacado(R$):')) while q>0: n50=q//50 n20=(q%50)//20 n10=((q%50)%20)//10 n5=(((q%50)%20)%10)//5 n1=((((q%50)%20)%10)%5)//1 soma=n50+n20+n10+n5+n1 q=float(input('quantidade de dinheiro a ser sacado:')) print n50,'notas de 50 reais' print n20,'notas de 20 reais' print n10,'notas de 10 reais' print n5,'notas de 5 reais' print n1, 'notas de 1 real' print 'menor quantidade de notas a ser dada:',soma 24. Crie um algoritmo se imprima os N primeiros números que sejam primos e façam parte da série de Fibonacci. 25. Crie um algoritmo que leia as taxas de juros (r) de um financiamento price (1% é igual a 0,01), os valores das parcelas (pmt) e o número de parcelas (n). Em seguida, calcule o valor presente do financiamento que é feito pela seguinte fórmula: r=float(input('taxa de juros(%):'))/100 pmt=float(input('valor das parcelas:')) n=int(input('número de parcelas:')) e=0 for i in range(1,n+1): e=e+pmt/(float(1+r)**i) print 'valor presente:',e 26. Crie um algoritmo que leia N números inteiros positivos e responda se é possível formar um polígono com o mesmo (dica: maior número < soma dos demais números). 27. Crie um algoritmo que verifique se existe alguma raiz na equação Ax 3 + Bx2 + Cx+D no intervalor [-1.000, 1.000]. Seu algoritmo deve ser os coeficiente A, B, C e D. Dica: incremente o valor de x de uma unidade a cada interação e verifique se houve uma mudança de sinal no resultado da equação, se o sinal mudou, existe a ocorrência de uma raiz (não é necessário calcular a raiz). 28. Crie um algoritmo que leia um número (com qualquer número de dígitos) em uma base numérica de ordem < 10 e calcule o número correspondente na base decimal. O número da ordem da base (e.g., 2 para binária, 3 para ternária, 8 para octal, etc.) deve também ser informado pelo usuário. 29. Crie um algoritmo que leia um número decimal (com qualquer número de dígitos) e o converta para a base hexadecimal. 30. Seu algoritmo deve ler as variáveis inteiras A e B. Posteriormente, calcule o Máximo Divisor Comum (MDC) entre A e B e a quantidade de divisores comuns entre A e B. 31. Faça a fatoração de um numero A inteiro, que é uma entrada do usuário. (leitura). Supondo, por exemplo, que A seja igual a 12, sua saída de ser: 2 ^ 2 3 ^ 1 32. Leia um número N inteiro. Calcule sua raiz INTEIRA. Exemplo: N=21, raiz inteira = 4. Uso de números aleatórios - Jogos 33. Jogo de dados. Dois jogadores estão confrontando-se entre si, usando dois dados, numerados de 1 até 6 (dado RAND(5) + 1). Vence uma rodada quem obtiver o maior número no lançamento. Entretanto, caso um jogador obtiver um lançamento com
Compartilhar