Lista de Exercicios 04

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 5

Tecnologia em Análise e Desenvolvimento de Sistemas

Lógica de Programação
Professor Vinícius Fritzen Machado

Lista de Exercícios 04

Desenvolva os exercícios abaixo utilizando somente o que foi visto em sala de aula. Novas
soluções são encorajadas, no entanto, é necessário que os alunos demonstrem domínio
sobre as técnicas apresentadas em sala de aula.

1. Ler um número inteiro n. Escrever a soma de todos os números de 1 até n.

2. Ler um número inteiro n. Escrever a soma de todos os números pares de 2 até n.

3. Ler um número inteiro n. Decidir se n é um número primo e apresente o resultado.

4. Escreva um programa que apresente quatro opções: (a) consulta saldo, (b) saque e
(c) depósito e (d) sair. O saldo deve iniciar em R$ 0,00. A cada saque ou depósito o
valor do saldo deve ser atualizado.

5. Faça um programa que receba a 5 notas de um aluno, através do comando while, e


que apresente ao final a média dessas 5 notas. Você deverá ter apenas uma
variável nota, e uma variável média.

6. Escreva um algoritmo para ler um valor entre 1 (inclusive) e 10 (inclusive). Se o valor


lido não estiver entre 1 (inclusive) e 10 (inclusive), deve ser lido um novo valor. Após
a leitura do valor, escrever o valor lido na tela.

7. Escreva um algoritmo para ler uma senha. Se o usuário não digitar a senha correta
que é 12345, o algoritmo deve ler novamente, até que seja a senha correta. O
algoritmo deve também contar quantas vezes o usuário tentou digitar a senha
correta, ou seja, quantas tentativas de acerto aconteceram. Escrever essa
informação na tela.

8. Uma loja está levantando o valor total de todas as mercadorias em estoque. Escreva
um algoritmo que permita a entrada das seguintes informações:
a) o número total de mercadorias no estoque
b) o valor de cada mercadoria.
Ao final imprimir o valor total em estoque e a média dos valores das mercadorias
9. Escreva um algoritmo para ler uma idade, mas o algoritmo deve aceitar somente
idade válida, ou seja, o algoritmo deve “validar” a leitura da idade. Idade válida tem
que ser maior que 0 e menor que 150. Escrever a idade lida.

10. Escreva um algoritmo para ler um salário. O algoritmo deve “validar” a leitura do
salário para aceitar somente um “salário válido”. Você deve definir o que é um
“salário válido”. Escrever o salário lido.

11. Escreva um algoritmo para ler 2 valores e, se o segundo valor informado for ZERO,
deve ser lido um novo valor, ou seja, para o segundo valor lido não pode ser aceito o
valor zero. Após ler os 2 valores, imprimir o resultado da divisão do primeiro valor
lido pelo segundo valor lido.

12. Faça um programa que peça para o usuário digitar um valor qualquer (inteiro).
Enquanto o valor digitado não for múltiplo 5, o programa continua solicitando ao
usuário para digitar um valor. O programa somente irá encerrar quando o valor
digitado for múltiplo de 5. Para isso, você precisa conhecer o operador utilizado para
o resto da divisão: %. Ele deve ser utilizado da seguinte maneira, por exemplo:
A = B % C;
Essa operação deve ser lida como: a variável A recebe o resto da divisão de B por
C. Ou seja, se B é 10 e C é 3, o resto da divisão é 1, pois 10 dividido por 3, quando
consideramos apenas números inteiros, é 3. E 3 vezes o divisor corresponde ao
número 9, tendo 1 como resto dessa divisão.

13. Faça um programa que receba 3 notas de um aluno, e escolha apenas as duas
maiores notas para o cálculo da média. Apresente a média final, entre as duas
maiores notas. Dica: utilize 3 comandos if.

14. Ler 10 valores e escrever quantos desses valores lidos estão compreendidos entre o
intervalo de 1 até 10. Mostre a multiplicação entre valores digitados no intervalo de 0
e 10, e a soma dos valores fora deste intervalo.

15. Fazer um algoritmo que leia um número inteiro e escreva se ele é ou não um
número primo. Um número é primo quando ele é divisível somente por um e por ele
mesmo. Você utilizará uma combinação entre os comandos while e if.

16. Receba um número inteiro positivo, e o seu respectivo expoente inteiro positivo, e
apresente o resultado da potência deste número. Faça isso utilizando o comando
while. Tenha cuidado com as inicializações!

17. Desenvolva um programa em Java que determine o pagamento bruto de cada um de


vários empregados. A companhia paga o valor de uma "hora normal" pelas primeiras
40 horas trabalhadas de cada empregado e paga o valor de uma "hora extra" (uma
vez e meia a hora normal) para cada hora trabalhada depois de completadas as
primeiras 40 horas. Seu programa deve primeiramente receber a informação de
quantos empregados trabalharam durante a semana. Em seguida, receba cada uma
das informações acima descritas, para cada empregado, e mostre o pagamento
bruto para cada um deles. O valor da hora de cada empregado deve ser também
solicitado, pois pode ser diferente para cada empregado.

18. Faça um programa que, para um número indeterminado de pessoas: leia a idade de
cada uma, sendo que a idade 0 (zero) indica o fim da leitura e não deve ser
considerada. A seguir calcule:
• o número de pessoas;
• a idade média do grupo;
• a menor idade e a maior idade.

19. Faça um programa que mostre n primeiros valores da sequência de Fibonacci, a


sequência é feita da seguinte maneira: 1 1 2 3 5 8 13 21 34 55 …

20. Escreva um programa que lê o tamanho do lado de um quadrado e imprime um


quadrado daquele tamanho com asteriscos. Seu programa deve funcionar para
quadrados com lados de todos os tamanhos entre 1 e 20.

21. Escreva um programa em JAVA para calcular a média de valores PARES e


ÍMPARES, que serão digitados pelo usuário. Ao final o algoritmo deve mostrar estas
duas médias. O algoritmo deve mostrar também o maior número PAR digitado e o
menor número ÍMPAR digitado. Para finalizar o usuário irá digitar um valor negativo.

22. Dado um país A, com X habitantes e uma taxa de natalidade de 3% ao ano, e um


país B com Y habitantes e uma taxa de natalidade de 2% ao ano, escrever um
algoritmo em JAva que seja capaz de calcular e no fim imprimir o tempo necessário
para que a população do país A ultrapasse a população do país B. Considere que X
< Y.

23. Na usina de Angra dos Reis, os técnicos analisam a perda de massa de um material
radioativo. Sabendo-se que este perde 25% de sua massa a cada 30 segundos.
Escrever um algoritmo em Java que calcule iterativamente e imprima o tempo
necessário para que a massa deste material se torne menor que 0,10 grama.

24. Criar um algoritmo em Java que leia um conjunto de informações (nome, sexo,
idade, peso e altura) dos atletas que participaram de uma olimpíada, e informar:
- O atleta do sexo masculino mais alto;
- A atleta do sexo feminino mais pesada;
- A média de idade dos atletas.
Deverão ser lidos dados dos atletas até que seja digitado o nome @ para um atleta.

25. Escreva um algoritmo em Java que receba vários números e verifique se eles são ou
não quadrados perfeitos. O algoritmo termina a execução quando for digitado um
número menor ou igual a 0. (Um número é quadrado perfeito quando tem um
número inteiro como raiz quadrada.). Obs: não deve ser utilizado métodos da classe
Math.

26. Existem três candidatos a uma vaga no Senado. Feita a eleição, os votos são
registrados em disco. O voto de cada eleitor foi codificado da seguinte forma:

Deseja-se saber:
- O número do candidato vencedor;
- O número de votos em branco;
- O número de votos nulos;
- O número de eleitores que compareceram às urnas.

Admite-se que não são possíveis empates. Então, construa um algoritmo em Java
que execute esta tarefa, sabendo que o voto de cada eleitor é lido pelo Scanner. O
voto finalizador tem código –1, e não deve ser computado.

27. Faça um programa que receba um valor inteiro, e imprima na tela o dobro dele, ao
lado da soma com seu antecessor. Faça isso consecutivamente, imprimindo sempre
o dobro do valor que apareceu na tela e a soma com o antecessor, por N vezes. O
valor de N é fornecido pelo usuário. Por exemplo: Recebe o valor inteiro 2, e N = 3,
então imprime:

Dobro = 4 Soma com Antecessor = 4


Dobro = 8 Soma com Antecessor = 12
Dobro = 16 Soma com Antecessor = 24
Dobro = 32 Soma com Antecessor = 48

O limite de execução é quando atingir o valor de N, ou quando o dobro ou a soma


atingirem o valor inteiro de 100.000.

28. Crie um programa para informar quais e quantas notas são necessárias para
entregar o mínimo de cédulas para um determinado valor informado pelo usuário
considerando notas de R$ 100, R$ 50, R$ 10 e R$ 5 e R$ 1. Seu programa deve
mostrar apenas as notas utilizadas. Por exemplo, ao solicitar R$18, o programa deve
informar apenas a seguinte informação (note que não foram exibidas informações
sobre as demais cédulas):
1 nota(s) de R$ 10.
1 nota(s) de R$ 5.
3 nota(s) de R$ 1.

O programa deve ficar perguntando qual o próximo valor a ser sacado até que seja
informado o número 0.
29. HARD - Escreva um programa que conte de 100 a 999 (inclusive) e exiba, um por
linha, o produto dos três dıgitos dos números.
a. Desafio 1 - Faça seu programa dar uma pausa a cada 20 linhas para que
seja possível ver todos os números pouco a pouco. Solicite que seja
pressionada alguma tecla para ver a próxima sequência de números.Por
exemplo, inicialmente o programa irá exibir:
100 (1*0*0)
101 (1*0*1)
102 (1*0*2)
(...)
110 (1*1*0)
111 (1*1*1)
112 (1*1*2)
999 (9*9*9) = 729

30. HARD - Faça um programa que mostre os n termos da Série a seguir:


S = 1/1! + 2/3! + 3/5! + 4/7! + 5/9! + ... + n/m!.
Imprima no final a soma da série. O fatorial é calculado da seguinte maneira:
5! = 5 * 4 * 3 * 2 * 1
9! = 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1

Você também pode gostar