Preview only show first 10 pages with watermark. For full document please download

Lista De Exercícios Estrutura De Repetição Comandos For E While E Bah

Lista de Exercícios Estrutura de Repetição comandos FOR e WHILE

   EMBED


Share

Transcript

Lista de Exercícios Estrutura de Repetição comandos FOR e WHILE Objetivo Construção de algoritmos com estrutura de repetição utilizando comandos FOR e WHILE. Exercícios Escrever o programa Java correspondente, na forma de aplicação: 1. Faça um algoritmo que leia um conjunto não determinado de valores, um de cada vez, e escreva uma tabela com cabeçalho, que deve ser repetido a cada 5 linhas. A tabela deverá conter o valor lido, seu quadrado, seu cubo e a sua raiz quadrada. Finalizar a entrada de dados com um valor negativo ou zero. package lista3ex1; import java.util.*; import java.math.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double numA = 1; int cont = 1; System.out.print("Digite um número: "); numA = sc.nextDouble(); while (numA > 0) { if (cont == 1 || cont % 5 == 0) { System.out.print("\n---------------------------------------------------------------\nTabela Whatever \n----------------------------------------------------------------"); } System.out.print("\n|" + numA + " " + numA + "²=" + Math.pow(numA, 2) + " " + numA + "¹/²=" + Math.sqrt(numA) + "|"); cont++; System.out.print(" "); numA = sc.nextDouble(); } System.out.print("\n---------------------------------------------------------------\n"); } } 2. Faça um algoritmo que receba vários números, calcule e mostre: • • • • • A soma dos números digitados A quantidade de números digitados A média dos números digitados O maior número digitado O menor número digitado 1 • • A média dos números pares A percentagem dos números ímpares entre todos os números digitados package lista3ex2; import java.util.*; public class Main { public static void main(String[] args) { double EntNum, Soma, Media, MaiorNum, MenorNum, MediaPares, PorcentImpares, NumPar, Contador, ContadorPares, ContadorImpares; Contador = 0; ContadorPares = 0; ContadorImpares = 0; Scanner sc = new Scanner(System.in); System.out.print("\nDigite um número qualquer(com exceção do 0 que encerra o processo)"); EntNum = sc.nextDouble(); MaiorNum = EntNum; MenorNum = EntNum; NumPar=0; Soma=0; while (EntNum != 0) { if (EntNum < MenorNum) { MenorNum = EntNum; } if (EntNum > MaiorNum) { MaiorNum = EntNum; } Contador++; Soma =Soma + EntNum; if (EntNum % 2 == 0) { NumPar = NumPar+EntNum; ContadorPares++; } if (EntNum % 2 == 1) { ContadorImpares++; } System.out.print("\nDigite um número quaquer(com exceção do 0 que encerra o processo)"); EntNum = sc.nextDouble(); } System.out.print("\nA soma dos números digitados é:"+Soma); System.out.print("\nA quantidade dos números digitados é:"+Contador); System.out.print("\nA média dos números digitados:"+Soma/Contador); System.out.print("\nO maior número digitado:"+MaiorNum); System.out.print("\nO menor número digitado:"+MenorNum); System.out.print("\nA média dos números pares:"+NumPar/ContadorPares); PorcentImpares = (ContadorImpares/Contador)*100; System.out.print("\nA percentagem dos números ímpares entre todos os números digitador:"+PorcentImpares+"%"); } } 2 3. Faça um algoritmo que leia cinco pares de valores (a, b), todos inteiros e positivos, um de cada vez. Mostre os números inteiros pares de a até b (inclusive) para cada par lido. package lista3ex3; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int Num1A, Num1B, id = 1; while (id <= 5) { System.out.print("\n\nDigite os valores do " (a, b) \na="); Num1A = sc.nextInt(); System.out.print("\nb="); Num1B = sc.nextInt(); System.out.print("\n"); System.out.print("\n(" + Num1A + "," + Num1B if (Num1A < Num1B) { System.out.print(Num1A + " "); for (int Cont = Num1A + 1; Cont < Num1B; if (Cont % 2 == 0) { System.out.print(Cont + " "); } } System.out.print(Num1B + " "); } else { System.out.print(Num1A + " "); for (int Cont = Num1A - 1; Cont > Num1B; if (Cont % 2 == 0) { System.out.print(Cont + " "); } } System.out.print(Num1B + " \n"); } id++; } } } + id + "º par + ")\n"); Cont++) { Cont--) { 4. Faça um algoritmo que lei 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. package lista3ex4; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int idAluno, idMaiorAluno = 0, idMenorAluno = 0; double Altura, MaiorAltura, MenorAltura; MaiorAltura = 0; MenorAltura = 99; 3 for (int cont = 1; cont <= 10; cont++) { System.out.print("\nDigite a o número do aluno:"); idAluno = sc.nextInt(); System.out.print("\nDigite a altura do aluno:"); Altura = sc.nextDouble(); if (Altura > MaiorAltura) { MaiorAltura = Altura; idMaiorAluno = idAluno; } if (Altura < MenorAltura) { MenorAltura = Altura; idMenorAluno = idAluno; } } System.out.print("\nO aluno n." + idMaiorAluno + " com altura de" + MaiorAltura + "m é o maior aluno."); System.out.print("\nO aluno n." + idMenorAluno + " com altura de" + MenorAltura + "m é o menor aluno."); } } 5. Tem-se um conjunto de dados contendo a altura e o sexo (m ou f) de 15 pessoas. Faça um algoritmo que calcule e mostre: • • • • A maior e a menor altura do grupo A média de altura das mulheres O número de homens O sexo da pessoa mais alta package lista3ex5; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Scanner strg = new Scanner(System.in); double Altura, MaiorAltura = 0, MenorAltura = 999, SomaAlturaMulheres = 0, MediaAlturaMulheres; int QtdHomens = 0, QtdMulheres = 0; String Sexo, SexoMaiorAltura = "", SexoMenorAltura; for (int cont = 1; cont <= 15; cont++) { System.out.print("\nDigite o sexo (m/f):"); Sexo = strg.nextLine(); if (Sexo.equalsIgnoreCase("m") || Sexo.equalsIgnoreCase("f")) { System.out.print("\nDigite a altura:"); Altura = sc.nextDouble(); if (Altura > MaiorAltura) { MaiorAltura = Altura; SexoMaiorAltura = Sexo; } if (Altura < MenorAltura) { MenorAltura = Altura; SexoMenorAltura = Sexo; } if (Sexo.equalsIgnoreCase("f")) { 4 SomaAlturaMulheres = SomaAlturaMulheres + Altura; QtdMulheres++; } else { QtdHomens++; } } else { System.out.print("\nOpção inválida! Tente novamente.\n"); cont--; } } System.out.print("\nA maior altura do grupo é " + MaiorAltura); System.out.print("\nA menor altura do grupo é " + MenorAltura); MediaAlturaMulheres = SomaAlturaMulheres / QtdMulheres; System.out.print("\nA média de altura das mulheres é: " + MediaAlturaMulheres); System.out.print("\nQuantidade de homens " + QtdHomens); if (SexoMaiorAltura.equalsIgnoreCase("m")) { System.out.print("\nA pesso mais alta é do sexo masculino."); } else { System.out.print("\nA pessoa mais alta é do sexo feminino."); } } } 6. Faça um algoritmo que apresente o menu de opções a seguir, permita ao usuário escolher a opção desejada, receba os dados necessários para executar a operação e mostre o resultado. Verificar a possibilidade de opção inválida: Menu de Principal 1. Imposto 2. Novo Salário 3. Classificação 4. Finalizar o programa Digite a opção desejada: Na opção 1: receber o salário de um funcionário, calcular e mostrar o valor do imposto usando as regras a seguir: Salários % do Imposto Menos que R$ 500,00 5 De R$ 500,00 a R$ 850,00 10 Acima de R$ 850,00 15 Na opção 2: receber o salário de um funcionário, calcular e mostrar o valor do novo salário usando as regras a seguir: Salários Aumento Maiores que R$ 1.500,00 R$ 25,00 De R$ 750,00 (inclusive) a R$ 1.500,00(inclusive) R$ 50,00 De R$ 450,00 (inclusive) a R$ 750,00 R$ 75,00 Menos que R$ 450,00 R$ 100,00 5 Na opção 3: receber o salário de um funcionário e mostrar sua classificação usando a tabela a seguir: Salários Classificação Até R$ 700,00 Mal Remunerado Maiores que R$ 700,00 Bem Remunerado package lista3ex6; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int opcao; double Salario, Imposto, NovoSalario; System.out.print("Menu Principal \n 1. Imposto \n 2. Novo Salário \n 3. Classificação \n 4. Finalizar o programa \n Digite a opção desejada:"); opcao = sc.nextInt(); switch (opcao) { case 1: System.out.print("Digite o salário do funcionário: R$"); Salario = sc.nextDouble(); if (Salario > 850) { Imposto = Salario * 0.15; System.out.print("Salário: R$" + Salario + "\nValor do imposto: R$" + Imposto); } else if (Salario >= 500) { Imposto = Salario * 0.10; System.out.print("Salário: R$" + Salario + "\nValor do imposto: R$" + Imposto); } else if (Salario > 0) { Imposto = Salario * 0.05; System.out.print("Salário: R$" + Salario + "\nValor do imposto: R$" + Imposto); } else { System.out.print("Valor do salário inválido!"); } break; case 2: System.out.print("Digite o salário do funcionário: R$"); Salario = sc.nextDouble(); if (Salario > 1500) { NovoSalario = Salario + 25; System.out.print("Novo Salário será: R$" + NovoSalario); } else if (Salario >= 750) { NovoSalario = Salario + 50; System.out.print("Novo Salário será: R$" + NovoSalario); } else if (Salario >= 450) { NovoSalario = Salario + 75; System.out.print("Novo Salário será: R$" + NovoSalario); 6 } else if (Salario > 0) { NovoSalario = Salario + 100; System.out.print("Novo Salário será: R$" + NovoSalario); } } } break; case 3: System.out.print("Digite o salário do funcionário: R$"); Salario = sc.nextDouble(); if (Salario > 700) { System.out.print("Classificação: Bem Remunerado"); } else { System.out.print("Classificação: Mal Remunerado"); } break; case 4: break; default: System.out.print("Opção Inválida!"); break; } 7