9493
Comentário:
|
5264
|
Deleções são marcadas assim. | Adições são marcadas assim. |
Linha 6: | Linha 6: |
[[TableOfContents]] | ListaDeExercicios 1. EstruturaSeqüêncial 1. EstruturaDeDecisão 1. EstruturaDeRepetição 1. ListasETuplas |
Linha 8: | Linha 12: |
== Estrutura de Repetição == | == Listas == |
Linha 10: | Linha 14: |
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. | 1. Faça um Programa que leia um vetor de 5 números inteiros e mostre−os. |
Linha 12: | Linha 16: |
1. Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50. | 1. Faça um Programa que leia um vetor de 10 números reais e mostre−os na ordem inversa. |
Linha 14: | Linha 18: |
1. Faça um programa que receba dois números inteiros e gere os números inteiros que estão no intervalo compreendido por eles. | 1. Faça um Programa que leia 4 notas, mostre as notas e a média na tela. |
Linha 16: | Linha 20: |
1. 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: | 1. Faça um Programa que leia um vetor de 10 caracteres, e diga quantas consoantes foram lidas. Imprima as consoantes. |
Linha 18: | Linha 22: |
{{{ Lojas Quase Dois - Tabela de preços 1 - R$ 1.99 2 - R$ 3.98 ... 50 - R$ 99.50 }}} |
1. Faça um Programa que leia 20 números inteiros e armazene−os num vetor. Armazene os números pares no vetor PAR e os números IMPARES no vetor impar. Imprima os três vetores. |
Linha 26: | Linha 24: |
1. 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: | 1. Faça um Programa que peça as quatro notas de 10 alunos, calcule e armazene num vetor a média de cada aluno, imprima o número de alunos com média maior ou igual a 7.0. |
Linha 28: | Linha 26: |
{{{ 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 }}} |
1. Faça um Programa que leia um vetor de 5 números inteiros, mostre a soma, a multiplicação e os números. |
Linha 37: | Linha 28: |
1. 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: | 1. Faça um Programa que peça a idade e a altura de 5 pessoas, armazene cada informação no seu respectivo vetor. Imprima a idade e a altura na ordem inversa a ordem lida. |
Linha 39: | Linha 30: |
{{{ Tabuada de 5: 5 x 1 = 5 5 x 2 = 10 ... 5 x 10 = 50 }}} |
1. Faça um Programa que leia um vetor A com 10 números inteiros, calcule e mostre a soma dos quadrados dos elementos do vetor. |
Linha 47: | Linha 32: |
1. 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. | 1. Faça um Programa que leia dois vetores com 10 elementos cada. Gere um terceiro vetor de 20 elementos, cujos valores deverão ser compostos pelos elementos intercalados dos dois outros vetores. |
Linha 49: | Linha 34: |
1. 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: | 1. Altere o programa anterior, intercalando 3 vetores de 10 elementos cada. |
Linha 51: | Linha 36: |
{{{ 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 ... }}} |
1. Foram anotadas as idades e alturas de 30 alunos. Faça um Programa que determine quantos alunos com mais de 13 anos possuem altura inferior à média de altura desses alunos. |
Linha 62: | Linha 38: |
1. 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: | 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: |
Linha 64: | Linha 40: |
{{{ Fatorial de: 5 5! = 5 . 4 . 3 . 2 . 1 = 120 }}} |
a. $200 - $299 a. $300 - $399 a. $400 - $499 a. $500 - $599 a. $600 - $699 a. $700 - $799 a. $800 - $899 a. $900 - $999 a. $1000 em diante |
Linha 69: | Linha 50: |
1. Faça um programa que leia 5 números e informe o maior número. 1. Faça um programa que leia 5 números e informe a soma é a média dos números. 1. 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. 1. 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. 1. 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. 1. 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. |
Desafio: Crie ma fórmula para chegar na posição da lista a partir do salário, sem fazer vários ''ifs'' aninhados. |
Linha 96: | Linha 53: |
1. Um funcionário de uma empresa recebe aumento salarial anualmente: Sabe-se que: a. Esse funcionário foi contratado em 1995, com salário inicial de R$ 1.000,00; a. Em 1996 recebeu aumento de 1,5% sobre seu salário inicial; a. 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. |
1. A ACME Inc., uma organização com mais de 1500 funcionários, está tendo problemas de espaço em disco no seu servidor de arquivos. Para tentar resolver este problema, o Administrador de Rede precisa saber qual o espaço ocupado pelos usuários, e identificar os usuários com maior espaço ocupado. Através de um programa baixado da Internet, ele conseguiu gerar o seguinte arquivo, chamado usuarios.txt: |
Linha 102: | Linha 55: |
Após concluir isto, altere o programa permitindo que o usuário digite o salário inicial do funcionário. 1. 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. |
{{{ alexandre 456123789 anderson 1245698456 antonio 123456456 carlos 91257581 cesar 987458 rosemary 789456125 }}} |
Linha 107: | Linha 65: |
1. Foi feita uma estatística em cinco cidades brasileiras para coletar dados sobre acidentes de trânsito. Foram obtidos os seguintes dados: a. Código da cidade; a. Número de veículos de passeio (em 1999); a. Número de acidentes de trânsito com vítimas (em 1999). |
Neste arquivo, o primeiro campo corresponde ao login do usuário e o segundo ao espaço em disco ocupado pelo seu diretório '''home'''. |
Linha 112: | Linha 67: |
Deseja-se saber: a. Qual o maior e menor índice de acidentes de transito e a que cidade pertence; a. Qual a média de veículos nas cinco cidades juntas; a. Qual a média de acidentes de trânsito nas cidades com menos de 2.000 veículos de passeio. |
A partir deste arquivo, você deve criar um programa que gere um relatório, chamado relatório.txt, no seguinte formato: |
Linha 117: | Linha 69: |
1. 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: |
{{{ ACME Inc. Uso do espaço em disco pelos usuários ------------------------------------------------------------------------ Nr. Usuário Espaço utilizado % do uso |
Linha 121: | Linha 74: |
{{{ Quantidade de Parcelas % de Juros sobre o valor inicial da dívida 1 0 3 10 6 15 9 20 12 25 }}} |
1 alexandre 434,99 MB 16,85% 2 anderson 1187,99 MB 46,02% 3 antonio 117,73 MB 4,56% 4 carlos 87,03 MB 3,37% 5 cesar 0,94 MB 0,04% 6 rosemary 752,88 MB 29,16% |
Linha 130: | Linha 81: |
Exemplo de saída do programa: | Espaço total ocupado: 2581,57 MB Espaço médio ocupado: 430,26 MB }}} |
Linha 132: | Linha 85: |
{{{ 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 }}} 1. 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 }}} 1. 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. 1. 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: a. O total de votos para cada candidato; a. O total de votos nulos; a. O total de votos em branco; a. A percentagem de votos nulos sobre o total de votos; a. A percentagem de votos em branco sobre o total de votos. Para finalizar o conjunto de votos tem-se o valor zero. 1. 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: a. Maior e Menor Acerto; a. Total de Alunos que utilizaram o sistema; a. 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. |
O arquivo de entrada deve ser lido uma única vez, e os dados armazenados em memória, caso sejam necessários, de forma a agilizar a execução do programa. A conversão da espaço ocupado em disco, de bytes para megabytes deverá ser feita através de uma função separada, que será chamada pelo programa principal. O cálculo do percentual de uso também deverá ser feito através de uma função, que será chamada pelo programa principal. |
Linha 197: | Linha 89: |
Gostaria de receber sugestões sobre novos enunciados, assim de 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. | 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. |
Linha 205: | Linha 97: |
MarcoAndréLopesMendes | MarcoAndréLopesMendes[[BR]] RodrigoCurvêllo |
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.
- ListasETuplas
Listas
Faça um Programa que leia um vetor de 5 números inteiros e mostre−os.
Faça um Programa que leia um vetor de 10 números reais e mostre−os na ordem inversa.
- Faça um Programa que leia 4 notas, mostre as notas e a média na tela.
- Faça um Programa que leia um vetor de 10 caracteres, e diga quantas consoantes foram lidas. Imprima as consoantes.
Faça um Programa que leia 20 números inteiros e armazene−os num vetor. Armazene os números pares no vetor PAR e os números IMPARES no vetor impar. Imprima os três vetores.
- Faça um Programa que peça as quatro notas de 10 alunos, calcule e armazene num vetor a média de cada aluno, imprima o número de alunos com média maior ou igual a 7.0.
- Faça um Programa que leia um vetor de 5 números inteiros, mostre a soma, a multiplicação e os números.
- Faça um Programa que peça a idade e a altura de 5 pessoas, armazene cada informação no seu respectivo vetor. Imprima a idade e a altura na ordem inversa a ordem lida.
- Faça um Programa que leia um vetor A com 10 números inteiros, calcule e mostre a soma dos quadrados dos elementos do vetor.
- Faça um Programa que leia dois vetores com 10 elementos cada. Gere um terceiro vetor de 20 elementos, cujos valores deverão ser compostos pelos elementos intercalados dos dois outros vetores.
- Altere o programa anterior, intercalando 3 vetores de 10 elementos cada.
- Foram anotadas as idades e alturas de 30 alunos. Faça um Programa que determine quantos alunos com mais de 13 anos possuem altura inferior à média de altura desses alunos.
- 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:
- $200 - $299
- $300 - $399
- $400 - $499
- $500 - $599
- $600 - $699
- $700 - $799
- $800 - $899
- $900 - $999
- $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.
- A ACME Inc., uma organização com mais de 1500 funcionários, está tendo problemas de espaço em disco no seu servidor de arquivos. Para tentar resolver este problema, o Administrador de Rede precisa saber qual o espaço ocupado pelos usuários, e identificar os usuários com maior espaço ocupado. Através de um programa baixado da Internet, ele conseguiu gerar o seguinte arquivo, chamado usuarios.txt:
alexandre 456123789 anderson 1245698456 antonio 123456456 carlos 91257581 cesar 987458 rosemary 789456125
Neste arquivo, o primeiro campo corresponde ao login do usuário e o segundo ao espaço em disco ocupado pelo seu diretório home. A partir deste arquivo, você deve criar um programa que gere um relatório, chamado relatório.txt, no seguinte formato:
ACME Inc. Uso do espaço em disco pelos usuários ------------------------------------------------------------------------ Nr. Usuário Espaço utilizado % do uso 1 alexandre 434,99 MB 16,85% 2 anderson 1187,99 MB 46,02% 3 antonio 117,73 MB 4,56% 4 carlos 87,03 MB 3,37% 5 cesar 0,94 MB 0,04% 6 rosemary 752,88 MB 29,16% Espaço total ocupado: 2581,57 MB Espaço médio ocupado: 430,26 MB
- O arquivo de entrada deve ser lido uma única vez, e os dados armazenados em memória, caso sejam necessários, de forma a agilizar a execução do programa. A conversão da espaço ocupado em disco, de bytes para megabytes deverá ser feita através de uma função separada, que será chamada pelo programa principal. O cálculo do percentual de uso também deverá ser feito através de uma função, que será chamada pelo programa principal.
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.