Escolar Documentos
Profissional Documentos
Cultura Documentos
Conteúdo 8
Comando de REPETIÇÃO:
for
Exercícios
Estruturas de REPETIÇÃO
Estruturas de REPETIÇÃO
Existem comandos apropriados para efetuar a
repetição de outros comandos tantas vezes quantas
forem necessárias.
A principal vantagem é que o programa passa a ter
um tamanho muito menor.
Existem 2 tipos de repetições:
Definidas e Garantidas, ou seja, um conjunto de
comandos será executado um número pré-determinado de
vezes e
Indefinidas e sem Garantia, ou seja, um conjunto de
comandos será executado indefinidamente, não havendo
garantia do término da execução do programa.
Comando for
Exemplo 1
import java.util.Scanner;
public class RaizQuadradaPara {
public static void main(String[] args){
int numero;
float raiz;
Scanner teclado = new Scanner(System.in);
for (int contador=1; contador<=5; contador++) {
System.out.print("Informe um número inteiro: ");
numero = teclado.nextInt();
raiz = Math.sqrt(numero);
System.out.println("A raiz quadrada de "+numero+" = "+raiz);
}
teclado.close;
}
} Comandos a serem
executados repetidas vezes
Comando do while
do {
comando1;
comando2;
...
comandon;
} while (condição);
Comandos a serem
executados repetidas vezes
Exemplo 2
import java.util.Scanner;
public class RaizQuadradaRepita {
public static void main(String[] args){
int numero;
float raiz;
Scanner teclado = new Scanner(System.in);
do {
System.out.print("Informe um número inteiro: ");
numero = teclado.nextInt();
raiz = Math.sqrt(numero);
System.out.println("A raiz quadrada de "+numero+" = "+raiz);
} while (numero != 0);
teclado.close;
}
} Comandos a serem
executados repetidas vezes
Comando while
while (condição) {
comando1;
comando2;
...
comandon;
} Comandos a serem
executados repetidas vezes
Exemplo 3
import java.util.Scanner;
public class RaizQuadradaEnquanto {
public static void main(String[] args){
int numero;
float raiz;
Scanner teclado = new Scanner(System.in);
System.out.print("Informe um número inteiro: ");
numero = teclado.nextInt();
while (numero != 0) {
raiz = Math.sqrt(numero);
System.out.println("A raiz quadrada de "+numero+" = "+raiz);
System.out.print("Informe um número inteiro: ");
numero = teclado.nextInt();
}
teclado.close;
}
} Comandos a serem
executados repetidas vezes
Prof. Ricardo Luiz de Freitas – ricardo.freitas@emge.edu.br
11
Comando for
(Estrutura de repetição)
De uma forma geral, este comando é utilizado para que
consigamos fazer com que um programa execute um ou mais
comandos mais de uma vez, sem termos que escrevê-los
repetidamente.
Comando for
(Estrutura de repetição)
Bloco de comandos:
São delimitados pelas chaves { e };
Agrupam comandos dentro de um comando maior, como o for.
Fluxograma
Representação do comando for:
Inicializa a
inicialização variável auxiliar
com o VALOR
F INICIAL
condição
V Verifica se a
comando 1 variável auxiliar
ultrapassou o
VALOR FINAL
Incrementa com comando n
mais 1 a variável
auxiliar incremento
Comando PARA
(Estrutura de repetição)
comando;
comando;
for (int variavel=VALORINICIAL; variavel<=VALORFINAL; variavel++) {
comando1;
comando2; Condição FALSA
... Condição
continua o loop
VERDADEIRA
if (condição)
(repetição).
interrompe o loop
break;
... (repetição).
comandon-1;
comandon;
}
comando; O comando break interrompe
comando;
as repetições encerrando o
comando for.
... ...
for (int VEZ=1; VEZ<=50; VEZ++) { for (int AUX=20; AUX<=69; AUX++) {
comando1; comando1;
comando2; comando2;
} }
... ...
Exemplo 4
Faça um programa que calcule as massas
corporais de 5 pessoas, com os pesos
individuais de cada uma sendo informados
pelo usuário. A cada peso informado deverá
ser calculada e impressa a massa.
Exemplo 4
(Programa resolvido)
import java.util.Scanner;
public class CalculaMassaCorporalA {
public static void main(String[] args) {
double peso, massa;
Scanner teclado = new Scanner(System.in);
System.out.print("Entre com o peso: ");
peso = teclado.nextDouble();
massa = peso / 9.8;
System.out.println("Massa Corporal = "+massa);
teclado.close();
}
}
Exemplo 5
Faça um programa que calcule os valores da função
f(x) = x2 - 1, para 10 valores de x informados pelo
usuário. A cada valor informado o programa deverá
imprimir este valor e o da função da seguinte forma:
x=1 f(x)=0
x=2 f(x)=3
x=3 f(x)=8
...
x=10 f(x)=99
Exemplo 5
(Programa resolvido)
import java.util.Scanner;
public class FuncaoRepetida {
public static void main(String[] args) {
double x, fx;
Scanner teclado = new Scanner(System.in);
teclado.close();
}
}
Exemplo 5
(Programa resolvido)
import java.util.Scanner;
public class FuncaoRepetida {
public static void main(String[] args) {
double x, fx;
Scanner teclado = new Scanner(System.in);
for (int repeticao=1; repeticao<=10; repeticao++) {
System.out.print("Entre com o valor de x: ");
x = teclado.nextDouble();
fx = Math.pow(x,2) - 1;
System.out.println("x = "+x+" f(x) = "+fx);
}
teclado.close();
} Comandos que serão
}
executados 10 vezes
Exercício 1
Faça um programa para calcular e imprimir a área de
10 círculos, cujos raios serão informados pelo
usuário. Use o valor de igual a 3.1416.
2
Á 𝑟𝑒𝑎=𝜋 𝑅
Exercício 2
Faça um programa para ler a nota final e o total de faltas
de todos os 50 alunos de uma disciplina. A cada aluno lido
o programa deverá verificar e informar se o aluno foi
APROVADO ou REPROVADO. Se o aluno tiver obtido
nota igual ou superior a 65 e não tiver faltado a mais de
16 aulas ele foi aprovado, senão ele foi reprovado.
Para testar:
Nota = 75 e Falta = 12 ALUNO APROVADO
Nota = 99 e Falta = 20 ALUNO REPROVADO
Nota = 45 e Falta = 11 ALUNO REPROVADO
Nota = -1
Contador
Uma variável do tipo int criada com o objetivo de contar
a ocorrência de alguma situação especial durante a
repetição de um processo;
Incrementada por um valor constante (geralmente 1);
Para incrementar o valor de uma variável utiliza-se o
seguinte comando:
contador = contador + 1; ou contador++;
Exemplos:
qtde = qtde + 1; ou qtde++;
aprovados = aprovados + 1; ou aprovados++;
numPar = numPar + 1; ou numPar++;
Comando for
(Estrutura de repetição)
...
int cont = 0, numero; for numero cont Impressão
... - 0
for (int aux=1; aux<=5; aux++) { 1 5 0
System.out.print("Digite um número"); 2 10 1
numero = teclado.nextInt(); 3 6 2
if (numero % 2 = 0) 4 9 2
cont++; 5 20 3
} - - 3 A
System.out.println("A contagem deu "+cont); contagem
... deu 3
Exemplo 6
Faça um programa que leia o nome e sexo
(“M” para masculino e “F” para feminino)
de um grupo de 100 pessoas e ao final
imprima a quantidade de mulheres.
Exemplo 6
(Programa resolvido – Solução 2)
import java.util.Scanner;
public class CalcQtdeMulheres2 {
public static void main(String[] args) {
int contador = 0;
String nome, sexo;
Scanner teclado = new Scanner(System.in);
for (int aux=1; aux<=100; aux++) {
System.out.print("Nome: ");
nome = teclado.nextLine();
System.out.print("Sexo (M ou F): ");
sexo = teclado.nextLine();
if (sexo.equalsIgnoreCase("F") ||
sexo.equalsIgnoreCase("Feminino"))
contador++;
}
System.out.println("Quantidade de mulheres = "+contador);
teclado.close();
}
}
Exemplo 7
Faça um programa que calcule e imprima a
quantidade de postos de gasolina cujos
preços estão abaixo de R$3,00 e a
quantidade de postos cujos preços
ultrapassam os R$4,00. Para isto o
programa deverá ler o nome e o preço da
gasolina de 68 postos de gasolina
pesquisados.
Exemplo 7
(Programa resolvido – DUAS CONTAGENS DISTINTAS)
import java.util.Scanner;
public class PesquisaGasolina {
public static void main(String[] args) {
int contMenor = 0, contMaior = 0;
String nome;
double preco;
Scanner teclado = new Scanner(System.in);
for (int aux=1; aux<=68; aux++) {
System.out.print("Informe nome do posto de gasolina: ");
nome = teclado.nextLine();
System.out.print("Informe preço da gasolina neste posto: ");
preco = teclado.nextDouble();
if (preco < 3)
contMenor++;
if (preco > 4)
contMaior++;
teclado.nextLine();
}
System.out.println("Quant. de postos que cobram abaixo de R$3:
"+contMenor);
System.out.println("Quant. de postos que cobram acima de R$4: "+contMaior);
teclado.close();
}
}
Prof. Ricardo Luiz de Freitas – ricardo.freitas@emge.edu.br
34
Exemplo 8
Faça um programa que calcule, entre 5
números informados pelo usuário, a
quantidade de números NEGATIVOS e a
quantidade de números POSITIVOS
(incluindo o zero).
Exemplo 8
(Programa resolvido – DUAS CONTAGENS COMPLEMENTARES - 1)
import java.util.Scanner;
public class Contagem1 {
public static void main(String[] args) {
int numero, cont1 = 0, cont2 = 0;
Scanner teclado = new Scanner(System.in);
for (int aux=1; aux<=5; aux++) {
System.out.print("Informe um número: ");
numero = teclado.nextInt();
if (numero < 0)
cont1++;
if (numero >= 0)
cont2++;
}
System.out.println("Quantidade de números negativos = "+cont1);
System.out.println("Quantidade de números positivos = "+cont2);
teclado.close();
}
}
Exemplo 8
(Programa resolvido – DUAS CONTAGENS COMPLEMENTARES - 2)
import java.util.Scanner;
public class Contagem2 {
public static void main(String[] args) {
int numero, cont1 = 0, cont2 = 0;
Scanner teclado = new Scanner(System.in);
for (int aux=1; aux<=5; aux++) {
System.out.print("Informe um número: ");
numero = teclado.nextInt();
if (numero < 0)
cont1++;
else
cont2++;
}
System.out.println("Quantidade de números negativos = "+cont1);
System.out.println("Quantidade de números positivos = "+cont2);
teclado.close();
}
}
Exemplo 8
(Programa resolvido – DUAS CONTAGENS COMPLEMENTARES - 3)
import java.util.Scanner;
public class Contagem3 {
public static void main(String[] args) {
int numero, cont1 = 0, cont2;
Scanner teclado = new Scanner(System.in);
for (int aux=1; aux<=5; aux++) {
System.out.print("Informe um número: ");
numero = teclado.nextInt();
if (numero < 0)
cont1++;
}
cont2 = 5 – cont1;
System.out.println("Quantidade de números negativos = "+cont1);
System.out.println("Quantidade de números positivos = "+cont2);
teclado.close();
}
}
Exemplo 8
(Programa resolvido – DUAS CONTAGENS COMPLEMENTARES - 4)
import java.util.Scanner;
public class Contagem4 {
public static void main(String[] args) {
int numero, cont = 0;
Scanner teclado = new Scanner(System.in);
for (int aux=1; aux<=5; aux++) {
System.out.print("Informe um número: ");
numero = teclado.nextInt();
if (numero < 0)
cont++;
}
System.out.print("Quantidade de números negativos = "+cont);
System.out.print("Quantidade de números positivos = "+(5 – cont));
teclado.close();
}
}
Exercício 3
Faça um programa para ler a nota final e o total de
faltas de todos os 50 alunos de uma disciplina. A
cada aluno lido o programa deverá verificar e
informar se o aluno foi APROVADO ou
REPROVADO. Se o aluno tiver obtido nota igual ou
superior a 65 e não tiver faltado a mais de 16 aulas
ele foi aprovado, senão ele foi reprovado. Ao final do
programa deverão ser informados quantos
alunos foram aprovados e quantos foram
reprovados. Para testar (com somente 3 alunos):
Nota = 75 e Falta = 12 ALUNO APROVADO
Nota = 99 e Falta = 20 ALUNO REPROVADO
Nota = 45 e Falta = 11 ALUNO REPROVADO
Aprovados 1
Reprovados 2
Exercício 4
Fazer um programa para ler o nome e a idade de
todos os 50 alunos de uma turma e calcular e
imprimir:
a) Quantos alunos tem até 18 anos
b) Quantos alunos tem acima de 18 anos
Exercício 5
Faça um programa para apurar as eleições para
prefeito de uma cidade. Para o cargo se candidataram
3 pessoas: Fulano, Ciclano e Beltrano. O programa
deverá ler todos os votos, calcular e imprimir a
quantidade de votos obtido por cada candidato e o
nome do candidato vencedor. A cidade tem 100
eleitores e todos votaram.
Observações:
1) O voto será computado pelo número do candidato e não pelo
seu nome de acordo com a codificação abaixo:
1 - Fulano, 2 - Ciclano e 3 - Beltrano
2) Não haverá votos em branco ou nulos.
3) Não haverá empate entre candidatos.
Exercício 5a
Refaça, complementando o programa anterior,
prevendo que poderá haver empate triplo ou duplo
entre os candidatos, e, se houver empates, continue o
programa fazendo um segundo turno somente com os
candidatos que empataram.
Somatório
Uma variável numérica criada com o objetivo de calcular
o somatório de algum valor;
Incrementada por um valor variável.
Geralmente é utilizada uma variável lida dentro do processo de
repetição (looping);
Para fazer o somatório do valor de uma variável utiliza-
se o seguinte comando:
soma = soma + variável; ou somatório += variável;
Exemplos:
somaNotas = somaNotas + nota;
total += custoProduto;
somaIdadeMulheres = somaIdadeMulheres + idade;
somaIdadeHomens += idade;
Comando for
(Estrutura de repetição)
...
double numero, soma = 0; for numero soma Impressão
... - 0
for (int aux=1; aux<=5; aux++) { 1 5 5
System.out.print("Digite um número: "); 2 10 15
numero = teclado.nextDouble(); 3 6,5 21,5
soma += numero;
4 9 30,5
}
5 20 50,5
System.out.println("A soma foi de "+soma);
- - 50,5 A soma
... deu 50,5
Exemplo 9
Faça um programa que leia os custos
individuais de 20 produtos que estão sendo
comprados e calcule o valor total a pagar
pelo cliente.
Exemplo 9
(Programa resolvido)
import java.util.Scanner;
public class TotalizaValorProdutos1 {
public static void main(String[] args) {
double custo, totalAPagar = 0;
Scanner teclado = new Scanner(System.in);
for (int aux=1; aux<=20; aux++) {
System.out.print("Custo do produto : R$ ");
custo = teclado.nextDouble();
totalAPagar += custo;
}
System.out.println("Total a pagar = R$"+totalAPagar);
teclado.close();
} Neste exemplo, a variável
} TotalAPagar é um somatório pois
sua função é somar todos os
preços digitados
Exemplo 9
(Programa resolvido)
import java.util.Scanner;
public class TotalizaValorProdutos2 {
public static void main(String[] args) {
double custo, totalAPagar = 0;
Scanner teclado = new Scanner(System.in);
for (int aux=1; aux<=20; aux++) {
System.out.print("Custo do produto : R$ ");
custo = teclado.nextDouble();
subtotal totalAPagar += custo;
System.out.println("Subtotal a pagar = R$"+totalAPagar);
}
System.out.println("Total a pagar = R$"+totalAPagar);
teclado.close();
}
}
Exemplo 10
Faça um programa que calcule e imprima a
média de 5 valores numéricos inteiros
informados pelo usuário.
Exemplo 11
Faça um programa que calcule e imprima a
média dos números compreendidos entre 1
e 100 dentre 5 valores numéricos inteiros
informados pelo usuário.
Variação da Quantidade de
Repetições
VALORFINAL variável
A quantidade de repetições do comando for pode variar de acordo
com a necessidade do usuário.
Utiliza-se uma variável int no lugar do VALORFINAL do for.
O valor desta variável, ou a quantidade de repetições, deve ser lida
(solicitada ao usuário) antes do comando for.
A sintaxe deve ser:
int rep;
...
System.out.print("Informe quantidade de repetições: ");
rep = teclado.nextInt();
for (int aux=1; aux<=rep; aux++)
...
Exemplo 12
Faça um programa que calcule e imprima a
média de uma série de valores numéricos
inteiros informados pelo usuário. A
quantidade de números a serem
informados pelo usuário deverá ser
solicitada ao mesmo no início do
programa.
Exemplo 12
(Programa resolvido)
import java.util.Scanner;
public class Somatorio3 {
public static void main(String[] args) {
int numero, soma = 0, rep;
double media;
Scanner teclado = new Scanner(System.in);
System.out.print("Quantos números serão informados? ");
rep = teclado.nextInt();
for (int aux=1; aux<=rep; aux++) {
System.out.print("Informe um número inteiro: ");
numero = teclado.nextInt();
soma += numero;
}
media = (float) soma / rep;
System.out.println("A média deu "+media);
teclado.close();
}
}
Exemplo 13
Faça um programa que calcule e imprima a
média dos valores numéricos inteiros
compreendidos entre 1 e 100 dentre uma
série de valores numéricos inteiros
informados pelo usuário. A quantidade de
números a serem informados pelo
usuário deverá ser solicitada ao mesmo
no início do programa.
Exemplo 13
(Programa resolvido)
import java.util.Scanner;
public class Somatorio3 {
public static void main(String[] args) {
int numero, soma = 0, cont = 0, rep;
double media;
Scanner teclado = new Scanner(System.in);
System.out.print("Quantos números serão informados? ");
rep = teclado.nextInt();
for (int aux=1; aux<=rep; aux++) {
System.out.print("Informe um número inteiro: ");
numero = teclado.nextInt();
if (numero >= 1 && numero <= 100) {
soma += numero;
cont++;
}
}
media = (float) soma / cont;
System.out.println("A média deu "+media);
teclado.close();
}
}
Prof. Ricardo Luiz de Freitas – ricardo.freitas@emge.edu.br
60
Exercício 6
Faça um programa para solicitar ao usuário 10 números inteiros e
calcular e imprimir:
Dicas:
- Use o operador aritmético %;
- Se X % 2 igual a 0 então X é divisível por 2;
- Os números divisíveis por 2 são pares.
Exercício 7
Fazer um programa para ler o nome e a idade de
todos os 50 alunos de uma turma e calcular e
imprimir:
a) Quantos alunos tem até 12 anos;
b) Quantos alunos tem acima de 30 anos;
c) A média das idades informadas.
Exercício 8
Faça um programa para ler a nota final e o total de faltas de
todos os 50 alunos de uma disciplina. A cada aluno lido o
programa deverá verificar e informar se o aluno foi APROVADO
ou REPROVADO. Se o aluno tiver obtido nota igual ou superior
a 65 e não tiver faltado a mais de 16 aulas ele foi aprovado,
senão ele foi reprovado. Ao final do programa deverão ser
informadas a média das notas dos alunos APROVADOS e a
quantidade de alunos com mais de 16 faltas.
Exercício 9
Faça um programa que leia o nome, idade e sexo (“M”
para masculino e “F” para feminino) de diversas
pessoas e ao final imprima a idade média das
mulheres e a idade média dos homens. A quantidade
de pessoas deve ser informada no início do
programa pelo usuário.
Exemplo 14
Faça um programa que pesquise e imprima
o VALOR da gasolina mais cara de Belo
Horizonte. Para isto o programa deverá ler o
nome e o preço da gasolina de 68 postos de
gasolina pesquisados.
Exemplo 14
(Programa resolvido – MAIOR VALOR)
import java.util.Scanner;
public class PesquisaGasolina1 {
public static void main(String[] args) {
String nome;
double preco, precoMaior = 0;
Scanner teclado = new Scanner(System.in);
for (int aux=1; aux<=68; aux++) {
System.out.print("Informe nome do posto de gasolina: ");
nome = teclado.nextLine();
System.out.print("Informe preço da gasolina neste posto: ");
preco = teclado.nextDouble();
if (aux == 1 || preco > precoMaior)
precoMaior = preco;
teclado.nextLine();
}
System.out.println("Preço da gasolina mais cara em BH:"+precoMaior);
teclado.close();
}
}
Exemplo 14
for nome preco precoMaior Impressão
- - - 0 -
Exemplo 14
(Programa resolvido – MENOR VALOR)
import java.util.Scanner;
public class PesquisaGasolina2 {
public static void main(String[] args) {
String nome;
double preco, precoMenor = 0;
Scanner teclado = new Scanner(System.in);
for (int aux=1; aux<=68; aux++) {
System.out.print("Informe nome do posto de gasolina: ");
nome = teclado.nextLine();
System.out.print("Informe preço da gasolina neste posto: ");
preco = teclado.nextDouble();
if (aux == 1 || preco < precoMenor)
precoMenor = preco;
teclado.nextLine();
}
System.out.println("Preço da gasolina mais barata de BH:"+precoMenor);
teclado.close();
}
}
Exemplo 14
for nome preco precoMenor Impressão
- - - 0 -
Exemplo 15
Faça um programa que pesquise e imprima
o NOME do posto de gasolina que cobra a
gasolina mais cara de Belo Horizonte. Para
isto o programa deverá ler o nome e o preço
da gasolina de 68 postos de gasolina
pesquisados.
Exemplo 15
(Programa resolvido)
import java.util.Scanner;
public class PesquisaGasolina3 {
public static void main(String[] args) {
String nome, nomeMaior = "";
double preco, precoMaior = 0;
Scanner teclado = new Scanner(System.in);
for (int aux=1; aux<=68; aux++) {
System.out.print("Informe nome do posto de gasolina: ");
nome = teclado.nextLine();
System.out.print("Informe preço da gasolina neste posto: ");
preco = teclado.nextDouble();
if (aux == 1 || preco > precoMaior) {
precoMaior = preco;
nomeMaior = nome;
}
teclado.nextLine();
}
System.out.println("Posto que cobra mais caro pela gasolina:"+nomeMaior);
teclado.close();
}
}
Exemplo 15
for nome preco nomeMaior precoMaior Impressão
- - - - 0 -
1 Papai 3,20 Papai 3,20 -
2 Avenida 4,10 Avenida 4,10 -
3 Xuá 4,10 Avenida 4,10 -
4 São Luis 4,15 São Luis 4,15 -
... ... ... São Luis 4,15 -
68 Tocantins 3,70 São Luis 4,15 -
- - - São Luis 4,15 ... São Luis
Exercício 10
O custo total de um projeto é determinado somando-se os custos
parciais (quantidade x preço unitário) de cada insumo
consumido. Faça um programa para ler o nome, o preço unitário e
a quantidade consumida de cada insumo (via console ou de um
arquivo txt) e calcule e imprima ao final:
Exercício 10
Para testar:
Exercício 11
Faça um programa que leia o nome, idade, sexo (“M” para
masculino ou “F” para feminino), estado civil (“C” para casado,
“S” para solteiro ou “O” para outros), cor dos olhos (“A” para
azul, “C” para castanhos, “P” para preto ou “O” para outros), cor
dos cabelos (“L” para loiro, “P” para preto, “C” para castanhos
ou “R” para ruivos), salário (em R$) e escolaridade (1 para
analfabeto, 2 para ensino fundamental, 3 para ensino médio ou
4 para superior) de 50 pessoas, e calcule e imprima:
Exercício 12
Uma indústria produtora de máquinas agrícolas coloca a venda no mercado
apenas 5 modelos de um determinado equipamento, conforme tabela abaixo. Num
determinado mês ela fez 1000 vendas de modelos diferentes. Cada cliente
comprou apenas uma unidade de um determinado modelo. Faça um programa que
solicite ao usuário o código do modelo do equipamento vendido e calcule e imprima
o faturamento total do período.
Faturamento = Qtde. Vendas Produto 1 x Pr. Unit. Produto 1 +
Qtde. Vendas Produto 2 x Pr. Unit. Produto 2 +
Qtde. Vendas Produto 3 x Pr. Unit. Produto 3 +
Qtde. Vendas Produto 4 x Pr. Unit. Produto 4 +
Qtde. Vendas Produto 5 x Pr. Unit. Produto 5
Exercício 13
O IBGE está fazendo um estudo em cima de todas as 858 cidades de
Minas Gerais. Para isto ele colocou em uma planilha os seguintes
dados: nome da cidade, população, quantidade de eleitores, quantidade
de mulheres e quantidade de homens. Faça um programa que leia todos
os dados desta planilha (via console ou de um arquivo txt) e calcule e
imprima:
Exercício 13
Para testar (para com 5 cidades):
Homens +
Populaçã Perc.
Cidade Eleitores Homens Mulheres Mulheres
o Eleitores
≠ Pop.
BH 1.500.000 900.000 600.000 500.000 X 60%
Contagem 300.000 150.000 200.000 100.000 50%
Ipatinga 700.000 500.000 300.000 400.000 71,4%
Betim 600.000 450.000 50.000 400.000 X 75%
Araçuai 100.000 95.000 30.000 45.000 X 95%
Exercício 14
Faça um programa que leia um número n (entre 1
e 20) e um símbolo qualquer, e imprima uma
matriz de tamanho “n x n”, conforme exemplo
abaixo.
Dicas: A variável símbolo deve Para testar:
ser do tipo char. Para que o
resultado fique visualmente mais Número = 5
agradável, imprima um espaço Símbolo = * (asterisco)
depois de cada símbolo.
*****
*****
Dicão: Utilize um for dentro de *****
outro for com variáveis auxiliares *****
diferentes. *****
Exercício Extra
Faça um programa que leia (do console ou de um arquivo
txt) o nome, cargo, salário e idade de 1000 funcionários de
uma empresa, e calcule e imprima:
...
for (int aux=1; aux<=5; aux++) {
comandos...
}
...
Comando for
(Estrutura de repetição)
for aux Impressã
... o
for (int aux=1; aux<=5; aux++) {
1 1 Aux = 1
System.out.println("Aux = "+aux)
2 2 Aux = 2
}
... 3 3 Aux = 3
4 4 Aux = 4
5 5 Aux = 5
- 6 -
Comando for
(Estrutura de repetição)
for aux Impressã
... o
for (int aux=10; aux<=14; aux++) {
1 10 Aux = 10
System.out.println("Aux = "+aux)
2 11 Aux = 11
}
... 3 12 Aux = 12
4 13 Aux = 13
5 14 Aux = 14
- 15 -
Exemplo 16
Faça um programa que calcule os valores da função
f(x) = x2 - 1, com o x variando de 1 até 10. Os dados
deverão ser impressos da seguinte forma:
x=1 f(x)=0
x=2 f(x)=3
x=3 f(x)=8
...
x=10 f(x)=99
Exemplo 16
(Programa resolvido)
Usuário entra com os valores de X :
import java.util.Scanner;
public class FuncaoXLeia {
public static void main(String[] args) {
int x;
double fx;
Scanner teclado = new Scanner(System.in);
for (int aux=1; aux<=10; aux++) {
System.out.print("Informe o valor de x: ");
x = teclado.nextInt();
fx = Math.pow(x,2) - 1;
System.out.println("x = "+x+" f(x) = "+fx);
}
teclado.close();
}
}Prof. Ricardo Luiz de Freitas – ricardo.freitas@emge.edu.br
86
Exemplo 16
(Programa resolvido)
Valores de X são gerados pela variável auxiliar (AUX) do comando FOR:
import java.util.Scanner;
public class FuncaoX {
public static void main(String[] args) {
int x;
double fx;
Scanner teclado = new Scanner(System.in);
for (int aux=1; aux<=10; aux++) {
System.out.print("Informe o valor de x: ");
x = teclado.nextInt();
fx = Math.pow(aux,2) - 1;
System.out.println("x = "+aux+" f(x) = "+fx);
}
teclado.close();
}
}Prof. Ricardo Luiz de Freitas – ricardo.freitas@emge.edu.br
87
Exemplo 16
(Programa resolvido)
Valores de X são gerados pela variável auxiliar (AUX) do comando FOR:
double fx;
fx = Math.pow(aux,2) - 1;
System.out.println("x = "+aux+" f(x) = "+fx);
}
}
}Prof. Ricardo Luiz de Freitas – ricardo.freitas@emge.edu.br
88
(Estrutura de repetição)
1 1 1
2 2 2
3 3 3
...
4 4 4
int soma = 0;
5 5 5
...
- 6 5 A soma deu 5
for (int aux=1; aux<=5; aux++)
soma += 1; // soma = soma + 1;
System.out.println("A soma deu "+soma);
...
soma = 0 +1+1+1+1+1 = 5
soma = 0 +1+2+3+4+5 = 15 ?
(Estrutura de repetição)
1 1 1
2 2 3
3 3 6
...
4 4 10
int soma = 0;
5 5 15
...
- 6 15 A soma deu 15
for (int aux=1; aux<=5; aux++)
soma += aux; // soma = soma + aux;
System.out.println("A soma deu "+soma);
...
soma = 0 +1+2+3+4+5 = 15
soma = 0 +1000+1001+1002+...1998+1999+2000 ?
Comando for
(Estrutura de repetição)
Somatório de todos
os números inteiros
... compreendidos entre
int soma = 0; 1000 e 2000.
...
for (int aux=1000; aux<=2000; aux++)
soma += aux;
System.out.println("A soma deu "+soma);
...
soma = 0 +1000+1001+1002+...1998+1999+2000
soma = 0 +1000+1005+1010+...1990+1995+2000 ?
Comando for
(Estrutura de repetição)
Somatório de todos
os números entre
... 1000 e 2000 que são
int soma = 0; divisíveis por 5.
...
for (int aux=1000; aux<=2000; aux++)
if (aux % 5 == 0)
soma += aux;
System.out.println("A soma deu "+soma);
...
soma = 0 +1000+1005+1010+...1990+1995+2000
(Estrutura de repetição) 1 1 1
2 2 3
3 3 6
... 4 4 10
int soma = 0; 5 5 15
... ... ... ...
for (int aux=1; aux<=10; aux++) 10 10 45
soma += aux; - - 45 A soma deu 45
System.out.println("A soma deu "+soma);
...
(Estrutura de repetição) 1 1 3
2 2 6
3 3 9
... 4 4 12
int soma = 0; 5 5 15
Comando for 3
(Estrutura de repetição) 6
9
... 12
int termo, soma = 0; 15
... 18
for (int aux=1; aux<=10; aux++) {
termo = aux * 3;
21
soma += termo; 24
System.out.println(termo); 27
}
30
System.out.println("A soma deu "+soma);
...
Comando for
(Estrutura de repetição)
...
int soma = 0;
...
for (int aux=1; aux<=10; aux++)
soma += aux;
System.out.println("A soma deu "+soma);
...
soma = 0 +1+2+3+ 4+ 5+ 6+ 7+ 8+ 9+ 10 = 45
soma = 0 +1+4+9+16+25+36+42+64+81+100 ?
(Estrutura de repetição) 1 1 1
2 2 2
3 3 6
4 4 24
5 5 120
... - 6 120 A multiplicação
long mult = 1; deu 120
...
for (int aux=1; aux<=5; aux++)
mult *= aux; // mult = mult * aux;
System.out.print("A multiplicação deu "+mult);
...
Comando for
(Estrutura de repetição)
import java.util.Scanner;
public class CalculaFatorial2 {
public static void main(String[] args) {
long fatorial = 1, numero;
Scanner teclado = new Scanner(System.in);
System.out.print("Informe um número inteiro: ");
numero = teclado.nextLong();
for (int aux=2; aux<=numero; aux++)
fatorial *= aux;
System.out.print("Fatorial de "+numero+" = "+fatorial);
teclado.close();
}
}
(Estrutura de repetição) 1 1 1
2 2 2
3 3 6
...
4 4 24
long mult = 1;
5 5 120
...
- - 120 A mult deu 120
for (int aux=1; aux<=5; aux++)
mult *= aux;
System.out.print("A multiplicação deu "+mult);
...
Comando for
(Estrutura de repetição)
...
long mult = 1;
...
for (int aux=1; aux<=5; aux++)
mult *= match.pow(5,aux);
System.out.print("A multiplicação deu "+mult);
...
Exemplo 17
Faça um programa que calcule e imprima todos os
números divisíveis por 13 que estejam dentro do
intervalo de 100 a 500.
Resposta: 104, 117, 130, 143, 156, 169, 182, 195, 208, 221, ...
Exemplo 17
(Programa resolvido)
Exemplo 18 (Contador)
(Programa resolvido)
Exemplo 19 (Somatório)
(Programa resolvido)
Exercício 15
Faça um programa que calcule e imprima a média
dos números ímpares que estejam dentro do intervalo
de 1000 a 2000.
Exercício 16
Faça um programa que calcule os valores da função
abaixo, com x variando de 3 até 12. Os dados
deverão ser impressos da seguinte forma:
x=3 f(x)=2.4495
x=4 f(x)=3.6056
2
𝑓 (𝑥)= √ 𝑥 − 3 x=5
...
f(x)=4.6904
x=12 f(x)=11.8743
Exercício 17
Faça um programa que solicite ao usuário um
número inteiro de 1 a 9, e calcule e imprima a
tabuada deste número, conforme mostrado abaixo.
Exercício 18
Faça um programa que imprima os 100 primeiros
termos da progressão numérica abaixo. No final
imprima a soma destes termos.
1
4 Dica: Ache uma função que,
9 utilizando a variável auxiliar do
16 comando for, chegue aos valores da
progressão ao lado.
25
36
49
64
81
100
Resposta: Soma dos 100 primeiros termos: 338350
...
Exercício 19
Faça um programa que imprima os n primeiros
termos da progressão numérica abaixo. No final
imprima a soma destes termos.
1
2 Observação: O valor de n
4 (quantidade de termos) será
informada pelo usuário no início do
8
programa.
16
32
64
128
256
512 Resposta: Soma dos 100 primeiros termos:
... 1267650600228229400000000000000
Exercício 20
Faça um programa que, no início do programa,
solicite ao usuário sua altura em metros, e calcule e
imprima uma lista (tabela) com o peso, seu IMC e
sua situação corpórea (conforme tabela abaixo) com
os pesos variando de 60 a 100 kg.
IMC = Peso / Altura2
IMC menor que 20 abaixo do peso
IMC entre 20 e 25 peso ideal
IMC maior que 25 acima do peso
Exercício 20
Para testar (altura = 1,75):
Exercício 21
Faça um programa que leia um numero inteiro,
maior que zero, e determine se ele é primo. Um
número primo é aquele que somente é divisível
por 1 e por ele mesmo.
Dica: Descubra quantos divisores
tem o número informado (testando
todos os valores de 1 até ele
próprio). Um número primo tem (no
máximo) 2 divisores (1 e ele mesmo).
Exercício 22
Faça um programa que calcule e imprima todos os
números compreendidos entre 1000 e 9999 que são
palíndromos. Um palíndromo é uma sequência de
caracteres que é lida da esquerda para a direita
ou da direita para a esquerda resultando no
mesmo valor final. Ao final imprima a média
destes números.
Parâmetro PASSO
(incremento diferente de 1 da variável auxiliar do comando for)
...
for (int aux=ValorInicial; aux<=ValorFinal; aux+=PASSO) {
comandos...
}
...
Parâmetro PASSO
(incremento diferente de 1 da variável auxiliar do comando for)
3 5 Aux = 5
...
for (int aux=1; aux<=9; aux+=2) { 4 7 Aux = 7
System.out.println("Aux = " + aux);
} 5 9 Aux = 9
...
- 11 -
Parâmetro PASSO
(incremento diferente de 1 da variável auxiliar do comando for)
3 18 Aux = 18
...
for (int aux=10; aux<=25; aux+=4) { 4 22 Aux = 22
System.out.println("Aux = " + aux);
} - 26 -
...
Exemplo 20
Faça um programa que calcule e imprima a soma
dos números ímpares de 1000 ate 2000.
Exemplo 20
(Programa resolvido – Solução 1)
Exemplo 20
(Programa resolvido – Solução 2)
Exemplo 21
Faça um programa que gere e imprima todos os
números divisíveis por 13 de 1 ate 1000.
Exemplo 21
(Programa resolvido – Solução 1)
Exemplo 21
(Programa resolvido – Solução 2)
Exemplo 22
Faça um programa que gere e imprima uma
contagem regressiva de 5 até 0.
(programa resolvido) 1 0 0
2 1 1
public class ContagemRegressiva { 3 2 2
public static void main(String[] args) {
for (int aux=0; aux<=5; aux++)
4 3 3
System.out.println(aux);
}
} 5 4 4
6 5 5
- 6 -
2 1 4
public class ContagemRegressiva { 3 2 3
public static void main(String[] args) {
for (int aux=0; aux<=5; aux++)
4 3 2
System.out.println(5-aux);
}
} 5 4 1
6 5 0
- 6 -
2 4 4
public class ContagemRegressiva1 { 3 3 3
public static void main(String[] args) {
for (int aux=5; aux>=0; aux+=-1)
4 2 2
System.out.println(aux);
}
} 5 1 1
6 0 0
- -1 -
Exemplo 22
(programa resolvido – Solução 3)
Exemplo 23
Faça um programa que gere e imprima a sequência
abaixo 10 vezes.
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
Exemplo 23 1
(programa resolvido – Parte 1) 2
3
public class Sequencia1a5e5a1A { 4
public static void main(String[] args) { 5
for (int aux=1; aux<=5; aux++)
System.out.println(aux);
}
}
Exemplo 23 1 2 3 4 5
(programa resolvido – Parte 2)
Exemplo 23 1 2 3 4 5
(programa resolvido – Parte 3) 1 2 3 4 5
1 2 3 4 5
public class Sequencia1a5e5a1C { 1 2 3 4 5
public static void main(String[] args) { 1 2 3 4 5
for (int aux2=1; aux2<=5; aux2++) {
for (int aux=1; aux<=5; aux++)
A System.out.print(aux+" ");
System.out.println();
}
}
}
Exemplo 23 1
(programa resolvido – Parte 4) 1 2
1 2 3
public class Sequencia1a5e5a1D { 1 2 3 4
public static void main(String[] args) { 1 2 3 4 5
for (int aux2=1; aux2<=5; aux2++) {
for (int aux=1; aux<=aux2; aux++)
B System.out.print(aux+" ");
System.out.println();
}
}
}
Exemplo 23 1 2 3 4 5
(programa resolvido – Parte 5) 1 2 3 4
1 2 3
public class Sequencia1a5e5a1E { 1 2
public static void main(String[] args) { 1
for (int aux2=5; aux2>=1; aux2--) {
for (int aux=1; aux<=aux2; aux++)
C System.out.print(aux+" ");
System.out.println();
}
}
}
Exemplo 23 1
(programa resolvido – Parte 5) 1 2
1 2 3
public class Sequencia1a5e5a1E { 1 2 3 4
public static void main(String[] args) { 1 2 3 4 5
for (int aux2=1; aux2<=5; aux2++) { 1 2 3 4 5
for (int aux=1; aux<=aux2; aux++)
1 2 3 4
B System.out.print(aux+" ");
System.out.println(); 1 2 3
} 1 2
for (int aux2=5; aux2>=1; aux2--) { 1
for (int aux=1; aux<=aux2; aux++)
C System.out.print(aux+" ");
System.out.println();
}
}
}
Exemplo 23 1
1
1
2
2 3
(programa resolvido – Parte 6) 1 2 3 4
1 2 3 4 5
1 2 3 4 5
public class Sequencia1a5e5a1 { 1 2 3 4
public static void main(String[] args) { 1 2 3
1 2
for (int aux3=1; aux3<=10; aux3++) { 1
for (int aux2=1; aux2<=5; aux2++) { 1
for (int aux=1; aux<=aux2; aux++) 1 2
1 2 3
B System.out.print(aux+" "); 1 2 3 4
System.out.println(); 1 2 3 4 5
} 1 2 3 4 5
1 2 3 4
for (int aux2=5; aux2>=1; aux2--) { 1 2 3
for (int aux=1; aux<=aux2; aux++) 1 2
1
C System.out.print(aux+" ");
1
System.out.println(); 1 2
} 1 2 3
1 2 3 4
} 1 2 3 4 5
} 1 2 3 4 5
} 1 2 3 4
1 2 3
1 2
1
Prof. Ricardo Luiz de Freitas – ricardo.freitas@emge.edu.br
135
Exercício 23
)
Exercício 24
Faça um programa que gere a *
**
sequência de impressão ao ***
****
lado por 10 vezes: *****
******
*******
********
Dica: Utilize um for dentro de *********
outro for (com variáveis **********
**********
auxiliares diferentes) para fazer a *********
primeira parte da figura e outro ********
*******
for dentro de outro for para fazer ******
a segunda parte. *****
****
***
**
*
Exercício 25
Faça um programa que gere a *
*
sequência de impressão ao *
*
lado por 10 vezes: *
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Exercício 26
Faça um programa que gere a sequência de
impressão do próximo slide por 10 vezes:
Exercício 26
*
**
****
********
****************
********************************
****************************************************************
********************************************************************************************************************************
****************************************************************
********************************
****************
********
****
**
*
*
**
****
********
****************
********************************
****************************************************************
********************************************************************************************************************************
****************************************************************
********************************
****************
********
****
**
*
Exercício Extra 2
Exercício Extra 3
Exercício Extra 4
...
Exercício Extra 5
O CREA-MG (Conselho Regional de Engenharia e Agronomia de Minas
Gerais) fez uma pesquisa junto a vários engenheiros de empresas diversas da
cidade de Belo Horizonte e precisa apurar a mesma.
Para isto o CREA enviou, via e-mail, uma ficha para o engenheiro preencher e
devolver. Na ficha o engenheiro informou seu nome, seu salário bruto, e o
código do cargo exercido por ele na empresa (“C”, “P”, “O”, “A” ou “X”), de
acordo com a tabela abaixo.