associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Revisão 8e 2004-11-19 21:17:27

Excluir mensagem

ListaDeExercícios

Lista de Exercícios

Esta é uma lista com sugestões de programas para iniciantes em programação. Os exercícios podem ser implementados em pseudo-código, Python, C, C++, Java, Pascal ou em qualquer outra linguagem. Os exercícios estão divididos em categorias e procuram obedecer uma ordem de dificuldade crescente. Cada exercício é independente do outro, sendo possível deixar exercícios para trás sem grandes prejuízos.

TableOfContents

Estrutura Seqüencial

  1. Faça um Programa que mostre a mensagem "Alo mundo" na tela.
  2. Faça um Programa que peça um número e então mostre a mensagem “O número informado foi [número]“.
  3. Faça um Programa que peça dois números e imprima a soma.
  4. Faça um Programa que peça as 4 notas bimestrais e mostre a média, com uma casa decimal.
  5. Faça um Programa que converta metros para centímetros.
  6. Faça um Programa que peça um número com 5 casas decimais e arredonde para duas.
  7. Faça um Programa que peça o raio de um círculo, calcule e mostre sua área.
  8. Faça um Programa que calcule a área de um quadrado, em seguida mostre o dobro desta área para o usuário.
  9. Faça um Programa para leitura de 3 valores e exibi−los em ordem crescente.

  10. Faça um Programa que pergunte quanto você ganha por hora e o número de horas trabalhadas no mês. Calcule e mostre o total do seu salário no referido mês.
  11. Faça um Programa que peça a temperatura em graus Farenheit, transforme e mostre a temperatura em graus Celsius.
    • C = (5 * (F−32) / 9).

  12. Faça um Programa que peça a temperatura em graus Celsius, transforme e mostre em graus Farenheit.
  13. Faça um Programa que pergunte quanto você ganha por hora e o número de horas trabalhadas no mês. Calcule e mostre o total do seu salário no referido mês, sabendo−se que são descontados 11% para o Imposto de Renda. Sabendo o número de horas trabalhadas por um funcionário em um mês e sabendo−se que o funcionário ganha R$ 3,00 por hora de trabalho e que há um desconto de 8% para o INSS e de 5% para o sindicato, faça um programa que nos dê:

    1. salário bruto.
    2. quanto pagou ao INSS.
    3. quanto pagou ao sindicato.
    4. o salário líquido.
    5. calcule os descontos e o salário líquido, conforme a tabela abaixo:
      + Salário Bruto :   R$
      - IR (11%) :        R$
      - INSS (8%) :       R$
      - Sindicato ( 5%) : R$
      = Salário Liquido : R$

    Obs.: Salário Bruto − Descontos = Salário Líquido.

  14. Faça um Programa que peça 2 números inteiros e um número real. Calcule e mostre:
    1. o produto do dobro do primeiro com metade do segundo .
    2. a soma do triplo do primeiro com o terceiro.
    3. o terceiro elevado ao cubo.
  15. Faça um Programa para leitura de três notas parciais de um aluno. O programa deve calcular a média alcançada por aluno e presentar:
    1. A mensagem "Aprovado", se a média for maior ou igual a 7, com a respectiva média alcançada;
    2. A mensagem "Reprovado", se a média for menor do que 7, com a respectiva média alcançada;
    3. A mensagem "Aprovado com Distinção", se a média for igual a 10.
  16. Faça um Programa para uma loja de tintas. O programa deverá pedir o tamanho em metros quadrados da área a ser pintada. Considere que a cobertura da tinta é de 1 litro para cada 6 metros quadrados e que a tinta é vendida em latas de 18 litros, que custam R$ 80,00 ou em galões de 3,6 litros, que custam R$ 25,00. Informe ao usuário as quantidades de tinta a serem compradas e os respectivos preços em 3 situações:
    1. comprar apenas latas de 18 litros;
    2. comprar apenas galões de 3,6 litros;
    3. misturar latas e galões, de forma que o preço seja o menor.
    Acrescente 10% de folgae sempre arredonde os valores para cima, isto é, latas cheias.

Estrutura de Decisão Simples

  1. Faça um Programa que peça dois números e imprima o maior deles.
  2. Faça um Programa que peça um valor e mostre na tela se o valor é positivo ou negativo.
  3. Faça um Programa que peça um número inteiro e determine se ele é par ou impar.
  4. Faça um Programa que peça um número e informe se o número é inteiro ou decimal.
  5. Faça um Programa que leia 2 números e em seguida pergunte ao usuário qual operação ele deseja realizar. O resultado da operação deve ser acompanhado de uma frase que diga se o número é:
    1. par ou ímpar;
    2. positivo ou negativo;
    3. inteiro ou decimal.
  6. Faça um Programa que verifique se uma letra digitada é vogal ou consoante.
  7. Faça um Programa que peça um número e se este número for par, transforme−o em impar e vice−versa

  8. Faça um Programa que peça para entrar com um ano com 4 dígitos e determine se o mesmo é ou não bissexto.
  9. Faça um Programa que verifique se uma letra digitada é "F" ou "M". Conforme a letra escrever: F − Feminino, M − Masculino, Sexo Inválido.

  10. Faça um Programa que leia 3 números e mostre o maior e o menor deles. Utilizar inteiros entre 0 e 65535 (unsignedint).
  11. Faça um Programa que pergunte em que turno você estuda. Peça para digitar M−matutino ou V−Vespertino ou N− Noturno. Imprima a mensagem Bom Dia!, Boa Tarde! ou Boa Noite! ou Valor Inválido!, conforme o caso.

  12. Faça um Programa que leia um número e exiba o dia correspondente da semana. (1−Domingo, 2− Segunda, etc.), se digitar outro valor deve aparecer valor inválido.

  13. Faça um Programa que tendo como dados de entrada o preço de custo de um produto e um código de origem, emita o preço junto de sua procedência. Caso o código não seja nenhum dos especificados, o produto deve ser classificado como importado. Código de origem: 1 − Sul, 2 − Norte 3 − Leste, 4 − Oeste, 5 ou 6 − nordeste 7 ou 8 Centro−oeste.

  14. Altere o programa que calcula a média do aluno (Exercício 4), e mostre a mensagem de acordo com a média. De 0 a 3 − Reprovado, de 3 a 6.9 – Em Exame, de 7 a 10 − Aprovado

  15. Faça um Programa para efetuar o diagnóstico de um paciente. O programa deverá perguntar:
    1. infecção nos pulmões (0 = ausente, 1 = presente)
    2. temperatura (0 = normal, 1 = anormal)
    3. corisa (0 = ausente, 1 = presente)
    4. espirros (0 = ausente, 1 = presente)
    Se o paciente tiver infecção nos pulmões e temperatura anormal, o diagnóstico é pneumonia. Se o paciente tiver apenas um sintoma, qualquer deles, o diagnóstico é gripe. Se o paciente tiver dois ou mais sintomas, que não seja simultaneamente, infecção nos pulmões.
  16. Faça um Programa que peça os 3 lados de um triângulo. O programa deverá informar se os valores podem ser um triângulo. Indique, caso os lados formem um triângulo, se o mesmo é: equilátero, isósceles ou escaleno.
  17. Faça um Programa que calcule uma equação do 2o. grau, na forma x2+bx+c. O programa deve fazer todas as consistências de dados e informar caso o usuário entre com dados errados. Deve ainda informar se o delta é positivo ou negativo, e os valores de X quando existirem.
  18. Faça um Programa que seja capaz de concluir qual dentre os animais seguintes foi escolhido, através de perguntas e respostas. Animais possíveis: leão, cavalo, homem, macaco, morcego, baleia, avestruz, pingüim, pato, águia, tartaruga, crocodilo e cobra. Exemplo:
    • Utilize (1-SIM / 0-NAO)
      É mamífero? 1
      É quadrúpede? 1
      É carnívoro? 0
      É herbívoro? 1
      Então o animal escolhido foi: cavalo
    Utilize as seguintes classificações:

    Mamíferos >> quadrúpede >> carnívoro >> leão

    Herbívoro >> cavalo

    Bípede >> onívoro >> homem

    Frutífero >> macaco

    Voadores >> morcego

    Aquáticos >> baleia

    Aves >> não voadoras >> tropical >> avestruz

    Polar >> pingüim

    Nadadoras >> pato

    De rapina >> águia

    Répteis >> com casco >> tartaruga

    Carnívoros >> crocodilo

    Sem patas >> cobra

  19. Faça um Programa que peça um número correspondente a um determinado ano e em seguida informe se este ano é ou não bissexto.
  20. Faça um Programa que peça uma data no formato dd/mm/aaaa e determine se a mesma é uma data válida.
  21. Faça um Programa que leia um número inteiro menor que 1000 e imprima a quantidade de centenas, dezenas e unidades do mesmo. Observando os termos no plural a colocação do "e", da vírgula entre outros. Exemplo:
    1. 326 = 3 centenas, 20 dezenas e 6 unidades
    2. 12 = 1 dezena e 2 unidades
    Testar com: 326, 300, 100, 320, 310,305, 301, 101, 311, 111, 25, 20, 10, 21, 11, 1, 7 e 16
  22. Faça um Programa para ler três idades de alunos e seguir as seguintes instruções:
    1. Se a média de idade dos alunos é inferior de 25, apresentar a mensagem "Turma Jovem";
    2. Se a média de idade dos alunos é entre 25 e 40, apresentar a mensagem "Turma Adulta";
    3. Se a média de idade dos alunos é acima de 40 anos, apresentar a mensagem "Turma Idosa".
  23. Faça um Programa para controle de temperatura de um forno que derrete alumínio. O programa deverá perguntar qual temperatura que o alumínio deverá ser trabalhado e operar nas seguintes condições:
    1. Se temperatura for inferior ou igual 500o C enviar uma mensagem para tela "Temperatura Inválida";
    2. Se temperatura for menor do que 700o C enviar uma mensagem para tela "Aquecimento Ligado em 100%";
    3. Se temperatura for menor do que 735o C enviar uma mensagem para tela "Aquecimento Ligado em 50%";
    4. Se temperatura for maior ou igual 735o C enviar uma mensagem para tela "Aquecimento Desligado";
    5. Se temperatura for maior do que 780o C enviar uma mensagem para tela "SUPERAQUECIMENTO";
    6. Os valores digitados devem ser inteiros e inferiores de 1000.
  24. Faça um Programa para aplicar em um carro, responsável pela seleção automática de marchas (o usuários deve digitar a velocidade) nas seguintes condições:
    1. Quando a velocidade estiver menor do que 30 km/h envie para o centro da tela o número 1.
    2. Quando a velocidade estiver 30 km/h e 40 km/h (menor do que 40 km/h) envie para o centro da tela o número 2.
    3. Quando a velocidade estiver entre 40 km/h e 60 km/h (menor do que 60 km/h) envie para o centro da tela o número 3.
    4. Quando a velocidade estiver entre 60 km/h e 80 km/h (menor do que 80 km/h) envie para o centro da tela o número 4.
    5. Quando a velocidade estiver acima de 80 km/h envie para o centro da tela o número 5.
  25. Uma determinada empresa vende uma máquina que possui seis motores. Um de 20 CV, dois de 1 CV, e três de 5 CV, que custam 1500, 300 e 600 reais respectivamente cada motor. Existe a necessidade de saber quantos motores deverão ser comprados de cada modelo e quanto custará esta compra. Para isto elabore um programa que:
    1. Pergunte quantas máquinas serão vendidas;
    2. Calcule e apresente na tela a quantidade de motores que deverão ser comprados de cada modelo;
    3. Calcule e apresente na tela o custo total por máquina e o custo total de todos os motores.
  26. Faça um Programa para um caixa eletrônico. O programa deverá perguntar ao usuário a valor do saque e depois informar quantas notas de cada valor serão fornecidas. As notas disponíveis serão as de 1, 5, 10, 50 e 100 reais. O valor mínimo é de 10 reais e o máximo de 600 reais. O programa não deve se preocupar com a quantidade de notas existentes na máquina.
    1. Exemplo 1: Para sacar a quantia de 256 reais, o programa fornece duas notas de 100, uma nota de 50, uma nota de 5 e uma nota de 1;
    2. Exemplo 2: Para sacar a quantia de 399 reais, o programa fornece três notas de 100, uma nota de 50, quatro notas de 10, uma nota de 5 e quatro notas de 1.

Estrutura de Repetição

  1. Faça um programa que imprima na tela os números de 1 a 20, um abaixo do outro. Depois modifique o programa para que ele mostre os números um ao lado do outro. Dica: use print com uma vírgula no final.

  2. Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50.
  3. Faça um programa que receba dois números inteiros e gere os números inteiros que estão no intervalo compreendido por eles.
  4. O Sr. Manoel Joaquim possui uma grande loja de artigos de R$ 1,99, com cerca de 10 caixas. Para agilizar o cálculo de quanto cada cliente deve pagar ele desenvolveu um tabela que contém o número de itens que o cliente comprou e ao lado o valor da conta. Desta forma a atendente do caixa precisa apenas contar quantos itens o cliente está levando e olhar na tabela de preços. Você foi contratado para desenvolver o programa que monta esta tabela de preços, que conterá os preços de 1 até 50 produtos, conforme o exemplo abaixo:
    • Lojas Quase Dois - Tabela de preços
      1 - R$ 1.99
      2 - R$ 3.98
      ...
      50 - R$ 99.50
  5. O Sr. Manoel Joaquim acaba de adquirir uma panificadora e pretende implantar a metodologia da tabelnha, que já é um sucesso na sua loja de 1,99. Você foi contratado para desenvolver o programa que monta a tabela de preços de pães, de 1 até 50 pães, a partir do preço do pão informado pelo usuário, conforme o exemplo abaixo:
    • Preço do pão: R$ 0.18
      Panificadora Pão de Ontem - Tabela de preços
      1 - R$ 0.18
      2 - R$ 0.36
      ...
      50 - R$ 9.00
  6. Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10. O usuário deve informar de qual numero ele deseja ver a tabuada. A saída deve ser conforme o exemplo abaixo:
    • Tabuada de 5:
      5 x 1 = 5
      5 x 2 = 10
      ...
      5 x 10 = 50
  7. A série de Fibonacci é formada pela seqüência 0,1,1,2,3,5,8,13,21,34,55,... Faça um programa que gere a série até que o valor seja maior que 500.
  8. O Sr. Manoel Joaquim expandiu seus negócios para além dos negócios de 1,99 e agora possui uma loja de conveniências. Faça um programa que implemente uma caixa registradora rudimentar. O programa deverá receber um número desconhecido de valores referentes aos preços das mercadorias. Um valor zero deve ser informado pelo operador para indicar o final da compra. O programa deve então mostrar o total da compra e perguntar o valor em dinheiro que o cliente forneceu, para então calcular e mostrar o valor do troco. Após esta operação, o programa deverá voltar ao ponto inicial, para registrar a próxima compra. A saída deve ser conforme o exemplo abaixo:
    • Lojas Tabajara 
      Produto 1: R$ 2.20
      Produto 2: R$ 5.80
      Produto 3: R$ 0
      Total: R$ 9.00
      Dinheiro: R$ 20.00
      Troco: R$ 11.00
      ...
  9. Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário. Ex.: 5!=5.4.3.2.1=120. A saída deve ser conforme o exemplo abaixo:
    • Fatorial de: 5
      5! =  5 . 4 . 3 . 2 . 1 = 120
  10. Faça um programa que leia 5 números e informe o maior número.
  11. Faça um programa que leia 5 números e informe a soma é a média dos números.
  12. O Departamento Estadual de Meteorologia lhe contratou para desenvolver um programa que leia as um conjunto indeterminado de temperaturas, e informe ao final a menor e a maior temperaturas informadas, bem como a média das temperaturas.
  13. Os números primos possuem várias aplicações dentro da Computação, por exemplo na Criptografia. Um número primo é aquele que é divisível apenas por um e por ele mesmo. Faça um programa que peça um número inteiro e determine se ele é ou não um número primo.
  14. Encontrar números primos é uma tarefa difícil. Faça um programa que gera uma lista dos números primos existentes entre 1 e um número inteiro informado pelo usuário.
  15. Desenvolva um programa que faça a tabuada de um número qualquer inteiro que será digitado pelo usuário, mas a tabuada não deve necessariamente iniciar em 1 e terminar em 10, o valor inicial e final devem ser informados também pelo usuário, conforme exemplo abaixo:
    • Montar a tabuada de: 5
      Começar por: 4
      Terminar em: 7
      
      Vou montar a tabuada de 5 começando em 4 e terminando em 7:
      5 x 4 = 20
      5 x 5 = 25
      5 x 6 = 30
      5 x 7 = 35
    Obs: Você deve verificar se o usuário não digitou o final menor que o inicial.
  16. Um funcionário de uma empresa recebe aumento salarial anualmente: Sabe-se que:
    1. Esse funcionário foi contratado em 1995, com salário inicial de R$ 1.000,00;
    2. Em 1996 recebeu aumento de 1,5% sobre seu salário inicial;
    3. A partir de 1997 (inclusive), os aumentos salariais sempre correspondem ao dobro do percentual do ano anterior. Faça um programa que determine o salário atual desse funcionário. Após concluir isto, altere o programa permitindo que o usuário digite o salário inicial do funcionário.
  17. Faça um programa que leia dez conjuntos de dois valores, o primeiro representando o número do aluno e o segundo representando a sua altura em centímetros. Encontre o aluno mais alto e o mais baixo. Mostre o número do aluno mais alto e o número do aluno mais baixo, junto com suas alturas.
  18. Foi feita uma estatística em cinco cidades brasileiras para coletar dados sobre acidentes de trânsito. Foram obtidos os seguintes dados:
    1. Código da cidade;
    2. Número de veículos de passeio (em 1999);
    3. Número de acidentes de trânsito com vítimas (em 1999).
    Deseja-se saber:
    1. Qual o maior e menor índice de acidentes de transito e a que cidade pertence;
    2. Qual a média de veículos nas cinco cidades juntas;
    3. Qual a média de acidentes de trânsito nas cidades com menos de 2.000 veículos de passeio.
  19. Faça um programa que receba o valor de uma dívida e mostre uma tabela com os seguintes dados: valor da dívida, valor dos juros, quantidade de parcelas e valor da parcela. Os juros e a quantidade de parcelas seguem a tabela abaixo:
    • Quantidade de Parcelas  % de Juros sobre o valor inicial da dívida
      1       0
      3       10
      6       15
      9       20
      12      25
    Exemplo de saída do programa:
    • Valor da Dívida Valor dos Juros Quantidade de Parcelas  Valor da Parcela
      R$ 1.000,00     0               1                       R$  1.000,00
      R$ 1.100,00     100             3                       R$    366,00
      R$ 1.150,00     150             6                       R$    191,67
  20. Faça um programa que leia uma quantidade indeterminada de números positivos e conte quantos deles estão nos seguintes intervalos: [0-25], [26-50], [51-75] e [76-100]. A entrada de dados deverá terminar quando for lido um número negativo. O cardápio de uma lanchonete é o seguinte:
    • Especificação   Código  Preço
      Cachorro Quente 100     R$ 1,20
      Bauru Simples   101     R$ 1,30
      Bauru com ovo   102     R$ 1,50
      Hambúrguer      103     R$ 1,20
      Cheeseburguer   104     R$ 1,30
      Refrigerante    105     R$ 1,00
  21. Faça um programa que leia o código dos itens pedidos e as quantidades desejadas. Calcule e mostre o valor a ser pago por item (preço * quantidade) e o total geral do pedido. Considere que o cliente deve informar quando o pedido deve ser encerrado.
  22. Em uma eleição presidencial existem quatro candidatos. Os votos são informados por meio de código. Os códigos utilizados são:
    • 1 , 2, 3, 4  - Votos para os respectivos candidatos 
      (você deve montar a tabela ex: 1 – Jose/ 2- João/etc)
      5 – Voto Nulo
      6 – Voto em Branco
    Faça um programa que calcule e mostre:
    1. O total de votos para cada candidato;
    2. O total de votos nulos;
    3. O total de votos em branco;
    4. A percentagem de votos nulos sobre o total de votos;
    5. A percentagem de votos em branco sobre o total de votos.
    Para finalizar o conjunto de votos tem-se o valor zero.
  23. Desenvolver um programa para verificar a nota do aluno em uma prova com 10 questões, o programa deve perguntar ao aluno a resposta de cada questão e ao final comparar com o gabarito da prova e assim calcular o total de acertos e a nota (atribuir 1 ponto por resposta certa). Após cada aluno utilizar o sistema deve ser feita uma pergunta se outro aluno vai utilizar o sistema. Após todos os alunos terem respondido informar:
    1. Maior e Menor Acerto;
    2. Total de Alunos que utilizaram o sistema;
    3. A Média das Notas da Turma.
      Gabarito da Prova:
      
      01 – A
      02 – B
      03 – C
      04 – D
      05 – E
      06 – E
      07 – D
      08 – C
      09 – B
      10 – A
    Após concluir isto você poderia incrementar o programa permitindo que o professor digite o gabarito da prova antes dos alunos usarem o programa.

Listas

1. Utilize uma lista para resolver o problema a seguir. Uma empresa paga seus vendedores com base em comissões. O vendedor recebe $200 por semana mais 9 por cento de suas vendas brutas daquela semana. Por exemplo, um vendedor que teve vendas brutas de $3000 em uma semana recebe $200 mais 9 por cento de $3000, ou seja, um total de $470. Escreva um programa (usando um array de contadores) que determine quantos vendedores receberam salários nos seguintes intervalos de valores:

  1. $200 - $299
  2. $300 - $399
  3. $400 - $499
  4. $500 - $599
  5. $600 - $699
  6. $700 - $799
  7. $800 - $899
  8. $900 - $999
  9. $1000 em diante

Desafio: Crie ma fórmula para chegar na posição da lista a partir do salário, sem fazer vários ifs aninhados.


Envie sugestões sobre novos enunciados e melhorias nos textos dos já existentes. A criação de telas de exemplo com a saída dos programas também é algo que me interessa fazer no futuro.


As respostas para os exercícios também podem ser colocadas na página RespostasListaDeExercícios (apenas membros do ProfessoresPythonGroup possuem acesso à essa página.


MarcoAndréLopesMendesBR RodrigoCurvêllo