Curso Técnico em Informática Prof. Eziom Alves
Disciplina de Lógica de Programação
Lista de Exercícios
Conceitos Básicos
1. Os pares de instruções abaixo produzem o mesmo resultado? x = (4/2)+(2/4) e x = 4/2+2/4
y = 4/(2+2)/4 e y = 4/2+2/4
z = (4+2)*2-4 e z = 4+2*2-4
2. Escreva um algoritmo para ler as dimensões de um retângulo (base e altura), calcular e escrever a área do retângulo.
3. Escreva um algoritmo que armazene o valor 10 em uma variável a e o valor 20 em uma variável b. A seguir (utilizando apenas atribuições entre variáveis) troque os seus valores, fazendo com que o valor que está em a passe para b e vice-versa. Ao final, escrever os valores que ficaram armazenados nas variáveis a e b.
4. Escreva um algoritmo para ler um valor (do teclado) e escrever (na tela) o seu antecessor.
5. Faça 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 mês com 30 dias.
6. Escreva um algoritmo para ler o número total de eleitores de um município, o número de votos brancos, nulos e válidos. Calcular e escrever o percentual que cada um representa em relação ao total de eleitores.
7. Escreva um algoritmo para ler o salário mensal atual de um funcionário e o percentual de reajuste. Calcular e escrever o valor do novo salário.
8. O custo de um carro novo ao consumidor é a soma do custo de fábrica com a porcentagem do distribuidor e dos impostos (ambos aplicados ao custo de fábrica). Supondo que o percentual do distribuidor seja de 28% e os impostos de 45%, escrever um algoritmo para ler o custo de fábrica de um carro, calcular e escrever o custo final ao consumidor.
9. Escrever um algoritmo que lê o nome de um funcionário, o número de horas trabalhadas, o valor que recebe por hora e o número de filhos. Com estas informações, calcular o salário deste funcionário, sabendo que para cada filho, o funcionário recebe 3% a mais, calculado sobre o salário bruto.
10. Faça um algoritmo que leia o nome de um piloto, uma distância percorrida em km e o tempo que o piloto levou para percorrêla (em horas). O programa deve calcular a velocidade média Velocidade = Distância / Tempo -em km/h, e exibir a seguinte frase:
Comandos de Condição
11. As maçãs custam R$ 1,30 cada se forem compradas menos de uma dúzia, e R$ 1,00 se forem compradas pelo menos 12. Escreva um programa que leia o número de maçãs compradas, calcule e escreva o custo total da compra.
12. Ler as notas da 1a. e 2a. avaliações de um aluno. Calcular a média aritmética simples e escrever uma mensagem que diga se o aluno foi ou não aprovado (considerar que nota igual ou maior que 6 o aluno é aprovado). Escrever também a média calculada.
13. Ler dois valores (considere que não serão lidos valores iguais) e escrever o maior deles.
14. Ler dois valores (considere que não serão lidos valores iguais) e escrevê-los em ordem crescente. 15. Ler um valor e escrever se é positivo, negativo ou zero.
16. Ler 3 valores (considere que não serão informados valores iguais) e escrevê-los em ordem crescente.
17. Faça um algoritmo para ler um número que é um código de usuário. Caso este código seja diferente de um código armazenado internamente no algoritmo (igual a 123) deve ser apresentada a mensagem ‘Usuário inválido!’. Caso o Código seja correto, deve ser lido outro valor que é a senha. Se esta senha estiver incorreta (a certa é 99) deve ser mostrada a mensagem ‘senha incorreta’. Caso a senha esteja correta, deve ser mostrada a mensagem ‘Acesso permitido’.
18. Faça um algoritmo para ler: a descrição do produto (nome), a quantidade adquirida e o preço unitário. Calcular e escrever o total (total = quantidade adquirida * preço unitário), 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%
19. Faça um algoritmo que receba o valor do salário de uma pessoa e o valor de um financiamento pretendido. Caso o financiamento seja menor ou igual a 5 vezes o salário da pessoa, o algoritmo deverá escrever "Financiamento Concedido"; senão, ele deverá escrever "Financiamento Negado". Independente de conceder ou não o financiamento, o algoritmo escreverá depois a frase "Obrigado por nos consultar."
20. Escreva um aplicativo que insere um número consistindo em cinco dígitos do usuário, separa o número em seus dígitos individuais e imprime os dígitos separados uns dos outros por três espaços cada. Por exemplo, se o usuário digitar o número 42339, o programa deve imprimir:
Comandos de Repetição
21.
Some os números de 1 a 100 e imprima o valor.22.
Escreva um programa em Java que lê 10 valores inteiros, em seguida, exibir o maior e o menor deles.23.
Construa um Algoritmo que, para um grupo de 10 valores inteiros, determine: a) A soma dos números positivos;b) A quantidade de valores negativos;
24.
Faça um algoritmo que imprima os múltiplos positivos de 7, inferiores a 1000.25.
Faça um algoritmo que imprima todos os números pares compreendidos entre 85 e 907. O algoritmo deve também calcular a soma destes valores.26.
Crie um programa que peça 10 números inteiros positivos e apresente: a média, o maior e o menor.27.
Um determinado material radioativo perde metade de sua massa a cada 50 segundos. Dada a massa inicial, em gramas, faça um programa que determine o tempo necessário para que essa massa se torne menor que 0,05 gramas.28.
Faça um algoritmo que leia um conjunto de números inteiros positivos (X) e imprima sua soma (Soma) e sua média (Media). Admita que o valor 9999 é utilizado como sentinela para fim de leitura.Ex.: 1, 2, 3 => Soma=6 Media=2
29.
Foi feita uma pesquisa entre os habitantes de uma região. Foram coletados os dados de idade, sexo (M/F) e salário. Faça um algoritmo que informe:a) a média de salário do grupo; b) a maior e a menor idade do grupo;
c) a quantidade de mulheres com salário até R$100,00.
Encerre a entrada de dados quando for digitada uma idade negativa.
30.
Chico tem 1,50 metros e cresce 2 centímetros por ano, enquanto Zé tem 1,10 metros e cresce 3 centímetros por ano. Construa um algoritmo que calcule e imprima quantos anos serão necessários para que Zé seja maior que Chico.31.
Faça um algoritmo que calcule a média de salários de uma empresa, pedindo ao usuário o nome dos funcionários e os salários e devolvendo a média, o salário mais alto e o salário mais baixo. Use nome = “fim” para encerrar a leitura.32.
Escreva um programa que solicite ao usuário um número inteiro e exiba o fatorial desse número. O fatorial de um número inteiro m não negativo, é indicado por m! (lê-se “m fatorial”) e é definido pela relação: m! =m (m−1) (m−2) (m−3)...3 2 1⋅(m−1)⋅(m−2)⋅(m−3)...3⋅2⋅1 ⋅(m−1)⋅(m−2)⋅(m−3)...3⋅2⋅1 ⋅(m−1)⋅(m−2)⋅(m−3)...3⋅2⋅1 ⋅(m−1)⋅(m−2)⋅(m−3)...3⋅2⋅1 ⋅(m−1)⋅(m−2)⋅(m−3)...3⋅2⋅1 , para m ≥ 2 ( !1 = 1 e !0 = 1).Vetores e Matrizes
33. Crie um programa que lê 6 valores inteiros e, em seguida, mostre na tela os valores lidos. 34. Leia um vetor de 10 posições. Contar e escrever quantos valores pares ele possui. 35. Faça um algoritmo que copie o conteúdo de um vetor em um segundo vetor.
36. Faça um algoritmo que some o conteúdo de dois vetores e armazene o resultado em um terceiro vetor.
37. Faça um programa que receba do usuário um vetor com 10 posições. Em seguida deverá ser impresso o maior e o menor elemento do vetor.
38. Escreva um programa que leia 10 números inteiros e os armazene em um vetor. Imprima o vetor, o maior elemento e a posição que ele se encontrada.
39. Crie um programa que lê 6 valores inteiros e, em seguida, mostre na tela na ordem inversa os valores lidos. 40. Faça um programa para ler a nota da prova de 5 alunos e armazene num vetor, calcule e imprima a media geral. 41. Faça um programa que preencha um vetor com 10 números reais, calcule e mostre a quantidade de números
negativos e a soma dos números positivos desse vetor.
42. Fazer um programa para ler 5 valores e, em seguida, mostrar a posição onde se encontram o maior e o menor valor.
43. Faça um programa que leia um vetor de 5 posições para números reais e, depois, um código inteiro. Se o código for zero, finalize o programa; se for 1, mostre o vetor na ordem direta; se for 2, mostre o vetor na ordem inversa. Caso o código seja diferente de 1 e 2, escreva uma mensagem informando que o código é inválido. 44. Faça um programa que leia dois vetores de 10 posições e calcule outro vetor contendo nas posições pares os
valores do primeiro e nas posições impares os valores do segundo.
45. Faça um algoritmo que faça a união de dois vetores de mesmo tamanho e mesmo tipo em um terceiro vetor com dobro do tamanho.
46. Escreva um algoritmo que permita a leitura dos nomes de 10 pessoas e armazene os nomes lidos em um vetor. Após isto, o algoritmo deve permitir a leitura de mais 1 nome qualquer de pessoa e depois escrever a mensagem ACHEI, se o nome estiver entre os 10 nomes lidos anteriormente (guardados no vetor), ou NÃO ACHEI caso contrário.
47. Ler um vetor que contenha as notas de uma turma de 10 alunos. Calcular a média da turma e contar quantos alunos obtiveram nota acima desta média calculada. Escrever a média da turma e o resultado da contagem. 48. Declare, preencha e exiba uma matriz de 3x3 de números reais.
49. Faça um programa que imprima uma matriz 4x2 na ordem inversa.
50. Faça um programa que conte e exiba quantos números negativos há em uma matriz 3x3. 51. Faça um programa que calcule a soma dos elementos de uma matriz 5x5 de números reais. 52. Faça um programa que imprima o menor e o maior elemento dessa matriz 5x4.
53. Faça um programa para cadastro de 5 alunos da disciplina Lógica de programação. Para cada aluno, deve ser armazenado o nome e 3 notas.
Métodos
54. Crie um método que receba 2 números e retorne o maior valor.
55. Escreva um método que, dados dois números reais, retorna a média deles.
56. Fazer um programa para obter três notas e calcular e exibir a sua média, usando um método para o cálculo da média.
57. Escreva um método que receba um número inteiro e retorne 1 se esse for positivo e 0 caso contrário. 58. Escreva um método que receba um número inteiro e retorne 1 se esse for par e 0 caso contrário.
59. Escreva um método desenhaQuadrado que exibe um quadrado sólido (o mesmo número de linhas e colunas). O caractere utilizando par preencher o quadrado e o valor do lado são passados como argumentos para a função. Por exemplo, se o caractere for x e o valor do lado for 5, o método deverá exibir:
xxxxx xxxxx xxxxx xxxxx xxxxx
60. Fazer um algoritmo que produza a saída a seguir usando métodos:
61. Fazer um algoritmo que solicita o total gasto pelo cliente de uma loja, imprime as opções de pagamento, solicita a opção desejada e imprime o valor total das prestações (se houverem).
1) A vista com 10% de desconto 2) Em duas vezes (preço da etiqueta) 3) 3 até 10 vezes com 3% de juros ao mês
62. Fazer uma método que imprime um menu, solicita a opção desejada e retorna a opção escolhida. No método principal, testar a opção escolhida e ativar a função correspondente (uma função para cada opção).
Referências
• CARVALHO, Flávia Pereira de Carvalho. Exercícios e Respostas de Lógica de Programação – Algoritmos -. Faculdade de informática de Taquara, 2007.
• TORNET, Bruno. KOLIVER, Cristian. Introdução aos Algoritmos. Universidade de Caxias do Sul. • MANZANO, José Augusto Navarro Garcia. Estudo Dirigido de Algoritmos. São Paulo: Érica, 2002. • Universidade Federal de Uberlândia – UFU. Faculdade de Computação - FACOM