2. AÇÕES DO DIA-A-DIA
Quantas vezes por dia você toma banho?
Quantas refeições você faz durante o dia?
E por semana são quantos banhos?
Quantas garfadas você daria para terminar de comer toda essa comida?
7. São aquelas que permitem executar mais de uma vez
(repetir) um determinado trecho do algoritmo
O trecho do algoritmo em repetição é também chamado
de laço (ou “loop”)
As repetições devem ser sempre finitas
Estrutura de Controle de Repetição
8. Quanto a quantidade de repetições, os laços podem ser:
Determinados: Sabe-se antes a quantidade de execuções
Indeterminados: Não se conhece a quantidade de execuções
Estrutura de Controle de Repetição
9. Quanto ao critério de parada, os laços podem utilizar:
Teste no início
Teste no final
Variável de controle
Estrutura de Controle de Repetição
10. • Verifica antes de cada execução, se é “permitido” executar o trecho
do algoritmo.
• Controlada por condição.
• Trata-se de um laço que se mantém repetindo enquanto uma dada
condição permanecer verdadeira.
enquanto (<condição>) faça
comando 1;
comando 2;
...
comando n;
fimenquanto;
Pseudocódigo
Repetição com Teste no Início
(enquanto...faça)
11. Repetição com Teste no Início
Na Linguagem Java
while (<Condição for verdadeira>) {
<Comando(s)>;
}
Não é necessário usar { } para um único comando
12. • A elaboração de algoritmos com estas estruturas torna-se necessário
o uso de dois tipos de variáveis:
• Contadoras (cont)
• Acumuladoras (acm)
• Uma variável contadora é uma variável que recebe um valor inicial
antes do início de uma estrutura de repetição e é incrementada no
interior da estrutura de um valor constante, geralmente 1 (um),
conforme o exemplo a seguir:
INCREMENTO:
Significa aumentar o
que já existe em uma
variável. Normalmente
o incremento é de 1.
Ex: x=x+1
DECREMENTO:
x=x-1;
Repetição com Teste no Início
(enquanto...faça)
início
inteiro CONT=1; //Contador inicializado com 1enquanto
(CONT <=3) faça
CONT = CONT + 1; //Contador é incrementado de 1
fimenquanto;
fim
14. package repeticao;
public class exemplo1a {
public static void main(String[] args) {
int cont=1;
while (cont<=3){
cont=cont+1;
}
}
}
package repeticao;
public class exemplo1b {
public static void main(String[] args) {
int cont=3;
while (cont>=1){
cont=cont-1;
}
}
}
INCREMENTO
DECREMENTO
15. package repeticao;
public class exemplo2 {
public static void main(String[] args) {
int cont=1;
while (cont<=3){
System.out.println(“Olá”);
cont=cont+1;
}
}
}
Exemplo2: Imprimir os Olá três vezes
16. Exemplo3: Imprimir os 10 primeiros números inteiros
package repeticao;
public class exemplo3 {
public static void main(String[] args) {
int cont=1;
while (cont<=10){
System.out.println(cont);
cont=cont+1;
}
}
}
17. Exemplo4: Imprimir os n primeiros números inteiros
package repeticao;
import java.util.Scanner;
public class exemplo4 {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int n, cont=1;
System.out.println("Informe um número:");
n=entrada.nextInt();
while (cont<=n){
System.out.print(cont +" ");
cont++;
}
}
}
18. 18
início
// declaração de variáveis
real N1, N2, N3, N4, MA;
inteiro CONT=1; // inicialização do contador
enquanto (CONT <= 50) faça // teste da condição de parada
leia (N1, N2, N3, N4);
MA = (N1 + N2 + N3 + N4) / 4;
escreva (MA);
se (MA >= 6) então
escreva (“Aluno Aprovado. Parabéns!”);
senão
escreva (“Aluno Reprovado. Estude mais !”);
fimse;
CONT = CONT + 1; // incremento do contador
fimenquanto;
fim
Exemplo5: Calcular a média aritmética para 50 alunos sendo que
são fornecidos suas 4 notas. Espera-se, para cada aluno, o cálculo
e resultado da sua média e a mensagem “Aluno aprovado,
Parabéns!” Quando a média for >=6 ou “Aluno reprovado, estude
mais!” quando contrário. Utilize o enquanto faça.
19. package repeticao;
import java.util.Scanner;
public class exemplo5 {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
double n1, n2,n3,n4, ma;
int cont=1;
while (cont<=50){
System.out.println("nInforme as quatro notas:");
n1=entrada.nextDouble();
n2=entrada.nextDouble();
n3=entrada.nextDouble();
n4=entrada.nextDouble();
ma=(n1+n2+n3+n4)/4;
if (ma>=6)
System.out.print("Aluno aprovado. Parabéns!");
else
System.out.print("Aluno reprovado. Estude mais!");
cont++;
}
}
}
20. Uma variável acumuladora é uma variável que recebe um valor inicial, geralmente 0
(zero) antes do início de uma estrutura de repetição, e é incrementada no interior
da estrutura de um valor variável, geralmente a variável usada na estrutura de
controle, conforme o exemplo abaixo:
início
inteiro CONT=1, X, ACM=0;
enquanto(CONT<=3)faça
leia (X);
ACM = ACM + X; (acumulador)
CONT = CONT + 1; (contador)
fimenquanto;
escreva(ACM, CONT)
fim
VARIÁVEL ACUMULADORA
(ACUMULADOR)
CONT CONT<=3 X ACM
1 1<=3 (V) 15 0+15=15
2 2<=3 (V) 7 15+7=22
3 3<=3 (V) 22 22+22=44
4 4<=3 (F) - -
21. package repeticao;
import java.util.Scanner;
public class exemplo6 {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int x, acm, cont=1;
while (cont<=n){
System.out.println("Informe o valor de x: ");
x=entrada.nextInt();
acm=acm+x;
cont++;
}
System.out.print(”Acumulador: ” +acm +”Contador: ” +cont);
}
}
22. início
real media; // média das idades
inteiro ACM=0; //inicialização do acumulador
inteiro CONT=1; // inicialização do contado
inteiro Idade;
enquanto (CONT <= 30) faça // teste da condição de parada
leia (Idade);
ACM = ACM + Idade; // Somando(Acumulando) as idades
CONT = CONT + 1; // incremento do contador
fimenquanto
media = ACM/30; //cálculo da média de idada
escreva (media)
fim
Exemplo7: Calcular a média das idades de 30 alunos
23. package repeticao;
import java.util.Scanner;
public class exemplo7 {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int idade, cont=1, acm=0;
double media;
while (cont<=30){
System.out.println("nInforme a idade:");
idade=entrada.nextInt();
acm=acm+idade;
cont++;
}
media=acm/30;
System.out.println(”Média: ” +media);
}
}
24. 1. O que acontece se a condição for falsa na primeira vez?
while (a!=a)
a=a+1;
Resposta: Ele nunca entra na repetição (loop).
2. O que acontece se a condição for sempre verdadeira?
while (a == a)
a=a+1;
Resposta: Ele entra na repetição e nunca sai (loop infinito)
DUAS QUESTÕES:
26. 1. Faça um programa para ler a base e altura de N
triângulos retângulos e imprimir as suas áreas.
Área = base* altura/2
2. Faça um programa para calcular a área de N
quadriláteros. Fórmula: Área = Lado * Lado
3. Faça um programa para calcular a área de N Círculos.
Fórmula : Área = raio 2 = 3,141592.
4. Apresentar os quadrados do números inteiros de 15 a
35.
EXERCÍCIOS PROPOSTOS
27. 5 Apresentar o total da soma do 100 primeiros números inteiros
( 1 + 2+ 3 + 4...+ 99 + 100 ).
6. Elaborar um programa que apresente no final o somatório dos
valores pares existentes na faixa de 1 até 500.
7. Apresentar todos os valores numéricos inteiros ímpares situados na
faixa de 0 a 20. Para verificar se o número é ímpar, efetuar dentro
da malha a verificação lógica desta condição com a instrução se,
perguntando se o número é ímpar, sendo mostre-o, não sendo, passe
para o próximo passo.
8. Apresentar todos os números divisíveis por 4 que sejam menores que
200. Para verificar se o número é divisível por 4, efetuar dentro da
malha de verificação lógica desta condição com a instrução se,
perguntando se o número é divisível, sendo, mostre-o, não sendo
passe para o próximo passo. A variável que controlará o contador
deverá ser iniciada com valor 1.
EXERCÍCIOS PROPOSTOS