Exercicios Programacao Python
Exercicios Programacao Python
Algoritmos e Programao
- Linguagem Python -
Fevereiro de 2014
Sumrio
Pgina
1 EXERCCIOS DE LGICA DE PROGRAMAO - ALGORITMOS ............................................................................................ 3
2 EXERCCIOS 3 AO 14 UTILIZAR OPERADORES ARITMTICOS (VER CAPTULO 5 DA APOSTILA DO CONTEDO) .............. 4
4 EXERCCIOS 22 AO 34 UTILIZAR ESTRUTURA DE SELEO E OPERADORES RELACIONAIS (VER CAP. 19 E 20)............... 6
5 EXERCCIOS 35 AO 59 UTILIZAR SELEO ANINHADA OU CONCATENADA (VER CAPTULOS 19.1 E 19.2) ....................... 8
6 EXERCCIOS 60 AO 64 UTILIZAR OPERADORES LGICOS (VER CAPTULO 22): ............................................................... 12
7 EXERCCIOS 65 AO 72 - ESTRUTURA DE REPETIO: ENQUANTO ................................................................................... 14
8 EXERCCIOS 73 E 74 - REPETIO ENQUANTO USANDO DIZER SIM OU NO PARA CONTINUAR................................. 14
9 EXERCCIOS 75 AO 79 - REPETIO ENQUANTO USANDO CONTADORES E ACUMULADORES ......................................... 15
10 EXERCCIOS 80 AO 105 UTILIZAR A ESTRUTURA DE REPETIO PARA (FOR EM PYTHON) ....................................... 15
11 EXERCCIOS 106 AO 120 - UTILIZAR MAIOR E MENOR ................................................................................................... 17
12 EXERCCIOS DE RACIOCNIO ........................................................................................................................................... 19
13 RESPOSTAS DOS EXERCCIOS........................................................................................................................................... 20
1) Escreva um algoritmo que armazene o valor 10 em uma varivel A e o valor 20 em uma varivel B.
A seguir (utilizando apenas atribuies entre variveis) troque os seus contedos fazendo com que o
valor que est em A passe para B e vice-versa. Ao final, escrever os valores que ficaram armazenados
nas variveis.
2) Analise os algoritmos abaixo e escreva o que ser impresso na tela ao serem executados:
a)
b)
A 10
B 20
Escrever B
B5
Escrever A, B
c)
A 30
B 20
CA+B
Escrever C
B 10
Escrever B, C
CA+B
Escrever A, B, C
d)
A 10
B 20
CA
BC
AB
Escrever A, B, C
e)
A 10
BA+1
AB+1
BA+1
Escrever A
AB+1
Escrever A, B
f)
A 10
B5
CA+B
B 20
A 10
Escrever A, B, C
X1
Y2
ZYX
Escrever Z
X5
YX+Z
Escrever X, Y, Z
A 4/2+2/4
B 4/(2+2)/4
B 4/2+2/4
C (4+2)*2-4
C 4+2*2-4
4) Reescreva as instrues abaixo com o mnimo de parnteses possvel, mas sem alterar o
resultado:
A 6*(3+2)
F (6/3)+(8/2)
B 2+(6*(3+2))
G ((3+(8/2))*4)+(3*2)
C 2+(3*6)/(2+4)
H (6*(3*3)+6)-10
D 2*(8/(3+1))
I (((10*8)+3)*9)
E 3+(16-2)/(2*(9-2))
J ((-12)*(-4))+(3*(-4))
5) Escreva um algoritmo para ler um valor (do teclado) e escrever (na tela) o seu antecessor.
6) Escreva um algoritmo para ler as dimenses de um retngulo (base e altura), calcular e escrever a
rea do retngulo.
7) Faa um algoritmo que leia a idade de uma pessoa expressa em anos, meses e dias e escreva a idade
dessa pessoa expressa apenas em dias. Considerar ano com 365 dias e ms com 30 dias. Calcular
quantos dias a pessoa j viveu at hoje.
8) Faa um algoritmo que converta metros para centmetros. Lembrando que 1m = 100cm.
9) Faa um algoritmo que calcule a rea de um quadrado (lado*lado), em seguida mostre o dobro desta
rea para o usurio.
10) Faa um algoritmo que pergunte quanto a pessoa ganha por hora (salrio por hora) e o nmero de
horas trabalhadas no ms. Calcule e mostre o total do seu salrio no referido ms.
11) Escreva um algoritmo para ler o nmero total de eleitores de um municpio, o nmero de votos
brancos, nulos e vlidos. Calcular e escrever o percentual que cada um representa em relao ao total
de eleitores.
12) Escreva um algoritmo para ler o salrio mensal atual de um funcionrio e o percentual de reajuste.
Calcular e escrever o valor do novo salrio.
13) O custo de um carro novo ao consumidor a soma do custo de fbrica com a porcentagem do
distribuidor e dos impostos (aplicados ao custo de fbrica). Supondo que o percentual do distribuidor
seja de 28% e os impostos de 45%, escrever um algoritmo para ler o custo de fbrica de um carro,
calcular e escrever o custo final ao consumidor.
14) Uma revendedora de carros usados paga a seus funcionrios vendedores um salrio fixo por ms,
mais uma comisso tambm fixa para cada carro vendido e mais 5% do valor das vendas por ele
efetuadas. Escrever um algoritmo que leia o nmero de carros por ele vendidos, o valor total de suas
vendas, o salrio fixo e o valor que ele recebe por carro vendido. Calcule e escreva o salrio final do
vendedor.
15) Escreva um algoritmo para ler uma temperatura em graus Fahrenheit, calcular e escrever o valor
correspondente em graus Celsius (baseado na frmula abaixo):
C
---------5
F - 32
----------9
Observao: Para testar se a sua resposta est correta saiba que 100oC = 212F
16) Faa um algoritmo que leia trs notas de um aluno, calcule e escreva a mdia final deste aluno.
Considerar que a mdia ponderada e que o peso das notas 2, 3 e 5. Frmula para o clculo da mdia
final :
mediafinal
n1 * 2 + n2 * 3 + n3 * 5
= ----------------------------------10
17) Escreva um programa para ler o raio de um crculo, calcular e escrever a sua rea.
R2
18) Escreva um programa para calcular e imprimir o nmero de lmpadas necessrias para iluminar
um determinado cmodo de uma residncia. Dados de entrada: a potncia da lmpada utilizada (em
watts), as dimenses (largura e comprimento, em metros) do cmodo. Considere que a potncia
necessria de 18 watts por metro quadrado.
19) Escreva um programa para ler as dimenses de uma cozinha retangular (comprimento, largura e
altura), calcular e escrever a quantidade de caixas de azulejos para se colocar em todas as suas
paredes (considere que no ser descontada a rea ocupada por portas e janelas). Cada caixa de
azulejos possui 1.5 m2.
20) Um motorista de txi deseja calcular o rendimento de seu carro na praa. Sabendo-se que o preo
do combustvel de R$ 2.90, escreva um programa para ler: a marcao do odmetro (Km) no incio
do dia, a marcao (Km) no final do dia, o nmero de litros de combustvel gasto e o valor total (R$)
recebido dos passageiros. Calcular e escrever: a mdia do consumo em Km/L e o lucro (lquido) do
dia.
21) A equipe Red Bull Racing de Frmula 1 deseja calcular o nmero mnimo de litros que dever
colocar no tanque de seu carro para que ele possa percorrer um determinado nmero de voltas at o
primeiro reabastecimento. Escreva um programa que leia o comprimento da pista (em metros), o
nmero total de voltas a serem percorridas no grande prmio, o nmero de reabastecimentos
desejados e o consumo de combustvel do carro (em Km/L). Calcular e escrever o nmero mnimo de
litros necessrios para percorrer at o primeiro reabastecimento. Observao: Considere que o
nmero de voltas entre os reabastecimentos o mesmo.
31) Para o enunciado a seguir foi elaborado um algoritmo em Portugus Estruturado que contm
erros, identifique os erros no algoritmo apresentado abaixo:
Enunciado: Tendo como dados de entrada o nome, a altura e o sexo (M ou F) de uma pessoa, calcule
e mostre seu peso ideal, utilizando as seguintes frmulas:
- para sexo masculino: peso ideal = (72.7 * altura) - 58
- para sexo feminino: peso ideal = (62.1 * altura) - 44.7
inicio
ler nome
ler sexo
se sexo = M ento
peso_ideal (72.7 * altura) - 58
seno
peso_ideal (62.1 * altura) 44.7
fim_se
escrever peso_ideal
fim
32) Ler o salrio fixo e o valor das vendas efetuadas pelo vendedor de uma empresa. Sabendo-se que
ele recebe uma comisso de 3% sobre o total das vendas at R$ 1.500,00, mais 5% sobre o que
ultrapassar este valor, calcular e escrever o seu salrio total.
33) Faa um algoritmo para ler: nmero da conta do cliente, saldo, dbito e crdito. Aps, calcular e
escrever o saldo atual (saldo atual = saldo - dbito + crdito). Tambm testar se saldo atual for maior
ou igual a zero escrever a mensagem Saldo Positivo, seno escrever a mensagem Saldo Negativo.
34) Faa um algoritmo para ler: quantidade atual em estoque, quantidade mxima em estoque e
quantidade mnima em estoque de um produto. Calcular e escrever a quantidade mdia, usando a
seguinte frmula: ((quantidade mdia = quantidade mxima + quantidade mnima)/2). Se a quantidade
em estoque for maior ou igual a quantidade mdia escrever a mensagem No efetuar compra, seno
escrever a mensagem Efetuar compra.
Faa um teste de mesa e complete a tabela abaixo, calculando os valores das variveis Z e Resposta,
para os seguintes valores de X e de Y, de acordo com o algoritmo acima:
X
3
150
7
-2
50
Y
2
3
-1
5
3
Variveis
Z
Resposta
Escreva um algoritmo que leia o nmero de litros vendidos e o tipo de combustvel (codificado da
seguinte forma: A-lcool, G-gasolina), calcule e imprima o valor a ser pago pelo cliente sabendo-se
que o preo do litro da gasolina R$ 3.30 e o preo do litro do lcool R$ 2.90.
44) Escreva um algoritmo que leia as idades de 2 homens e de 2 mulheres (considere que as idades
dos homens sero sempre diferentes entre si, bem como as das mulheres). Calcule e escreva a soma
das idades do homem mais velho com a mulher mais nova, e o produto (multiplicao) das idades do
homem mais novo com a mulher mais velha.
45) Uma fruteira est vendendo frutas com a seguinte tabela de preos:
Morango
Ma
At 5 Kg
R$ 2.50 por Kg
R$ 1.80 por Kg
Acima de 5 Kg
R$ 2.20 por Kg
R$ 1.50 por Kg
Se o cliente comprar mais de 8 Kg em frutas ou o valor total da compra ultrapassar R$ 25.00, receber
ainda um desconto de 10% sobre este total. Escreva um algoritmo para ler a quantidade (em Kg) de
morangos e a quantidade (em Kg) de maas adquiridas e escreva o valor a ser pago pelo cliente.
46) Faa um algoritmo para ler um nmero que um cdigo de usurio. Caso este cdigo seja
diferente de um cdigo armazenado internamente no algoritmo (igual a 1234) deve ser apresentada a
mensagem Usurio invlido!. Caso o Cdigo seja correto, deve ser lido outro valor que a senha. Se
esta senha estiver incorreta (a certa 9999) deve ser mostrada a mensagem senha incorreta. Caso a
senha esteja correta, deve ser mostrada a mensagem Acesso permitido.
47) Escreva um programa que leia o cdigo de origem de um produto e imprima na tela a regio de sua
procedncia conforme a tabela abaixo:
cdigo 1 : Sul
cdigo 5 ou 6
: Nordeste
cdigo 2 : Norte
cdigo 7, 8 ou 9 : Sudeste
cdigo 3 : Leste
cdigo 10
: Centro-Oeste
cdigo 4 : Oeste
cdigo 11
: Noroeste
Observao: Caso o cdigo no seja nenhum dos especificados na tabela acima, o produto deve ser
encarado como Importado.
48) Escreva um programa que leia as notas das duas avaliaes normais e a nota da avaliao
optativa. Caso o aluno no tenha feito a optativa deve ser fornecido o valor 1. Calcular a mdia
do semestre considerando que a prova optativa substitui a nota mais baixa entre as duas primeiras
avaliaes. Escrever a mdia e mensagens que indiquem se o aluno foi aprovado, reprovado ou
est em exame, de acordo com as informaes abaixo:
Aprovado : media >= 6.0
Reprovado: media < 3.0
Exame
49) Escreva um programa para ler as notas das duas avaliaes de um aluno no semestre, calcular e
escrever a mdia semestral e a seguinte mensagem: PARABNS! Voc foi aprovado! somente se
o aluno foi aprovado (considere 6.0 a mdia mnima para aprovao).
50) Acrescente ao exerccio anterior a mensagem Voc foi REPROVADO! Estude mais... caso a
mdia calculada seja menor que 6.0.
51) Escreva um programa que verifique a validade de uma senha fornecida pelo usurio. A senha
vlida o nmero 1234. Devem ser impressas as seguintes mensagens:
ACESSO PERMITIDO caso a senha seja vlida.
ACESSO NEGADO caso a senha seja invlida.
52) Tendo como entrada a altura e o sexo (codificado da seguinte forma: 1:feminino 2:masculino) de
uma pessoa, construa um programa que calcule e imprima seu peso ideal, utilizando as seguintes
frmulas:
- para homens : (72.7 * h) 58
- para mulheres : (62.1 * h) 44.7
Observao: Altura = h (na frmula acima).
53) Escreva um programa para ler um nmero inteiro (considere que sero lidos apenas valores
positivos e inteiros) e escrever se par ou mpar.
54) Escreva um programa para ler o nmero de lados de um polgono regular e a medida do lado (em
cm). Calcular e imprimir o seguinte:
- Se o nmero de lados for igual a 3 escrever TRINGULO e o valor do seu permetro.
- Se o nmero de lados for igual a 4 escrever QUADRADO e o valor da sua rea.
- Se o nmero de lados for igual a 5 escrever PENTGONO.
Observao: Considere que o usurio s informar os valores 3, 4 ou 5.
10
11
61) Faa um algoritmo para ler: a descrio do produto (nome), a quantidade adquirida e o preo
unitrio. Calcular e escrever o total (total = quantidade adquirida * preo unitrio), o desconto e o total
a pagar (total a pagar = total - desconto), sabendo-se que:
- Se quantidade <= 5 o desconto ser de 2%
- Se quantidade > 5 e quantidade <=10 o desconto ser de 3%
- Se quantidade > 10 o desconto ser de 5%
62) Faa um algoritmo para ler as trs notas obtidas por um aluno nas trs verificaes e a mdia dos
exerccios que fazem parte da avaliao. Calcular a mdia de aproveitamento, usando a frmula abaixo
e escrever o conceito do aluno de acordo com a tabela de conceitos mais abaixo:
Mdia_de_Aproveitamento =
N1 + N2 * 2 + N3 * 3 + Mdia_dos_Exerccios
--------------------------------------------------------7
Conceito
A
B
C
D
63) Uma empresa quer verificar se um empregado est qualificado para a aposentadoria ou no. Para
estar em condies, um dos seguintes requisitos deve ser satisfeito:
- Ter no mnimo 65 anos de idade.
- Ter trabalhado no mnimo 30 anos.
- Ter no mnimo 60 anos e ter trabalhado no mnimo 25 anos.
Com base nas informaes acima, faa um algoritmo que leia: o nmero do empregado
(cdigo), o ano de seu nascimento e o ano de seu ingresso na empresa. O programa dever escrever a
idade e o tempo de trabalho do empregado e a mensagem Requerer aposentadoria ou No requerer
aposentadoria.
12
Faa um teste de mesa e complete o quadro a seguir para os seguintes valores das variveis:
Variveis
a
1
3
2
4
5
B
2
4
2
4
3
C
3
5
4
4
3
Mens
Parabns! Este o fim da lista de exerccios para a primeira avaliao (G1)! Se voc
conseguiu resolver a maior parte destes exerccios, certamente est preparado! Mas estude
tambm a parte terica da apostila do contedo ;-)
13
14
15
88) Escreva um algoritmo para pedir que o usurio digite nmeros positivos, ou seja, ele pode digitar
quantos nmeros positivos ele quiser. Para parar de digitar nmeros, ele deve digitar -1. Aps o
usurio digitar -1, o programa deve escrever na tela quantos nmeros o usurio digitou (a quantidade
de nmeros lidos) e a soma total dos nmeros que ele digitou. Observao: Neste exerccio voc pode
usar a estrutura de repetio while.
89) Escreva um algoritmo que pergunte ao usurio quantos nmeros ele quer digitar. Aps isto, o
algoritmo deve ir lendo os nmeros que o usurio digitar e armazenar a soma total dos nmeros lidos.
Aps a leitura dos nmeros, escrever na tela a soma calculada.
90) Escreva um algoritmo que pergunte ao usurio um nmero e aps, escreva na tela a soma total de 1
at o nmero lido. Exemplo: 5 = 1+2+3+4+5 = 15
91) Altere o exerccio 90 para exibir na tela os nmeros que esto sendo somados, conforme exemplo
do exerccio 90.
92) Melhore o exerccio 91 para aceitar somente valores maiores que zero para o nmero lido.
93) Escreva um algoritmo que pergunte ao usurio um nmero e aps, escreva na tela o fatorial do
nmero lido. Exemplo: 5 = 1*2*3*4*5 = 120.
94) Melhore o exerccio 93 para aceitar somente valor maior ou igual a zero para o nmero lido e
tambm, para testar se o nmero for igual a zero, o fatorial de zero 1 (0!=1).
95) Escreva um algoritmo para ler 2 nmeros e escrever a soma dos inteiros existentes entre os 2
nmeros lidos (incluindo os nmeros lidos na soma). Exemplo: 2 e 5 = 2+3+4+5 = 14. Observao:
Considere que o segundo valor lido ser sempre maior que o primeiro valor lido.
96) O mesmo exerccio anterior, mas agora, considere que o segundo valor lido poder ser maior ou
menor que o primeiro valor lido, ou seja, deve-se test-los.
97) Ler 10 valores e escrever quantos desses valores lidos so NEGATIVOS.
98) Ler 10 valores e escrever quantos desses valores lidos esto no intervalo [10,20] (incluindo os
valores 10 e 20 no intervalo) e quantos deles esto fora deste intervalo.
99) Ler 10 valores, calcular e escrever a mdia aritmtica desses valores lidos.
100) Ler o nmero de alunos existentes em uma turma e, aps isto, ler as notas destes alunos, calcular
e escrever a mdia aritmtica dessas notas lidas.
101) Escreva um algoritmo para ler 10 nmeros. Todos os nmeros lidos com valor inferior a 40
devem ser somados. Escreva o valor final da soma efetuada.
102) Faa um algoritmo que calcule e escreva a mdia aritmtica dos nmeros inteiros entre 15
(inclusive) e 100 (inclusive).
16
103) Uma loja est levantando o valor total de todas as mercadorias em estoque. Escreva um algoritmo
que permita a entrada das seguintes informaes:
a) Nmero total de mercadorias no estoque
b) Valor de cada mercadoria
Ao final imprimir o valor total em estoque e a mdia de valor das mercadorias.
104) O mesmo exerccio anterior, mas agora no ser informado o nmero de mercadorias em estoque.
Ento o funcionamento dever ser da seguinte forma: ler o valor da mercadoria e perguntar MAIS
MERCADORIAS (S/N)?. Ao final, imprimir o valor total em estoque e a mdia de valor das
mercadorias em estoque. Observao: usar while.
105) Escreva um algoritmo para escrever 5 vezes a palavra Informtica na tela.
17
114) A prefeitura de uma cidade deseja fazer uma pesquisa entre seus habitantes. Faa um algoritmo
para coletar dados sobre o salrio e nmero de filhos de cada habitante e aps as leituras, escrever:
a) Mdia de salrio da populao
b) Mdia do nmero de filhos
c) Maior salrio dos habitantes
d) Percentual de pessoas com salrio menor que R$ 150,00
Observao: O final das leituras dos dados se dar com a entrada de um salrio negativo.
116) Faa um programa que imprima na tela apenas os nmeros mpares entre 1 e 50.
117) Faa um programa que pea dois nmeros, base e expoente, calcule e mostre o primeiro nmero
elevado ao segundo nmero. No utilize a funo de potncia da linguagem.
118) Faa um programa que pea 10 nmeros inteiros, calcule e mostre a quantidade de nmeros pares
e a quantidade de nmeros mpares.
119) Faa um programa que pea para n pessoas a sua idade, ao final o programa dever verificar se a
mdia de idade da turma varia entre 0 e 25, 26 e 60 e maior que 60, e ento, dizer se a turma jovem,
adulta ou idosa, conforme a mdia calculada.
120) Numa eleio existem trs candidatos. Faa um programa que pea o nmero total de eleitores.
Pea para cada eleitor votar e ao final mostrar o nmero de votos de cada candidato.
18
12 Exerccios de Raciocnio
Elabore algoritmos em linguagem natural para resolver as situaes colocadas a seguir:
1) Um homem precisa atravessar um rio com um barco que possui capacidade de transportar apenas
ele e mais uma de suas trs cargas, que so: um cachorro, uma galinha e um saco de milho. O que o
homem deve fazer para conseguir atravessar o rio sem perder as suas cargas?
2) Uma Torre de Hani formada por trs discos sobrepostos transpassados por uma haste. Tendo
mais duas hastes e podendo mover um disco por vez, mas nunca deixando um disco maior sobre um
disco menor, como podemos passar os discos para uma outra haste?
3) Trs jesutas e trs canibais precisam atravessar um rio. No entanto dispem apenas de um barco
com capacidade para duas pessoas. Por medida de segurana no se permite que em alguma das
margens do rio a quantidade de jesutas seja inferior quantidade de canibais. Qual a seqncia de
viagens necessrias para a travessia do rio com segurana para os jesutas?
19
6)
11)
7)
12)
13)
20
14)
15)
16)
22)
23)
21
25)
28)
32)
22
36)
23