Estruturas de Repetição 2:
Comando PARA
Bruno Cartaxo
http://sites.google.com/site/brunocartaxo
bruno.cartaxo@olinda.ifpe.edu.br
Tópicos a serem discutidos na disciplina
• Introdução a computadores e algoritmos
• Tipos de dados, operadores, variáveis, E/S
• Verificação manual de algoritmos e modularização
• Estruturas de decisão: comandos SE e CASO
• Estruturas de repetição: comandos ENQUANTO e PARA
• Vetores
• Introdução à Java
• Trabalhando com strings em Java
• Estruturas de decisão em Java
• Estruturas de repetição em Java
Comando PARA
•
É muito comum a existência de
repetições que fazem uso de
variáveis contadoras
, especialmente para contagens de 1 em 1.
•
Para facilitar a construção deste tipo de laço
, pode-se utilizar um
outro comando de repetição chamado PARA.
•
Sua sintaxe é:
para
<var>
de
<valor_inicial>
até
<valor_final>
faça
Exemplo de comando PARA
Escrever os números inteiros de 1 a 100.
Variáveis
valor
: inteiro;
Início
para
valor
de
1
até
100
faça
escrever
valor;
Exemplo 1
Exemplo 1
–
Estruturando solução
•
Entradas
•
Saídas
• Quadrado dos números de 1 a 100
•
Detalhes
• Usar o comando “PARA” de 1 a 100 elevando o valor da variável de iteração ao
Exemplo 1 - Algoritmo
Variáveis
cont
: inteiro;
Início
para
cont
de
1
até
100
faça
escrever
QUAD(cont);
Exemplo 1
–
Execuções do algoritmo
Exemplo 2
Escreva um algoritmo que leia 500 valores inteiros e positivos e depois informe:
•
Qual o maior valor;
•
Qual o menor valor;
Exemplo 2
–
Estruturando solução
•
Entradas
• 500 valores inteiros positivos
•
Saídas
• Menor valor
• Maior valor
• Média dos valores
•
Detalhes
Exemplo 2 - Algoritmo
Variáveis
cont : inteiro:
valor : inteiro;
menor_valor : inteiro;
maior_valor : inteiro;
soma_valores : inteiro;
media_valores: inteiro;
Início
LER_PRIMEIRO_VALOR; LER_DEMAIS_VALORES; CALCULAR_MEDIA;
IMPRIMIR_RESULTADOS;
Exemplo 2 - Algoritmo
Módulo LER_PRIMEIRO_VALOR [[
escrever “Digite um valor inteiro positivo: ”; ler valor;
maior_valor <- valor; menor_valor <- valor; soma_valores <- valor; ]];
Módulo LER_DEMAIS_VALORES [[
para cont de 1 até499 faça
escrever “Digite um valor inteiro positivo: ”; ler valor;
soma_valores <- soma_valores + valor;
se valor > maior_valor então maior_valor <- valor;
se valor < menor_valor então maior_valor <- valor; ]];
Módulo CALCULAR_MEDIA [[
media_valores<-soma_valores / 500; ]];
Módulo IMPRIMIR_RESULTADOS [[
escrever “O maior valor é:”, maior_valor; escrever “O menor valor é:”, menor_valor;
Exemplo 2
–
Execuções do algoritmo
Digite um valor inteiro positivo: 1 Digite um valor inteiro positivo: 2 Digite um valor inteiro positivo: 3 Digite um valor inteiro positivo: 4 Digite um valor inteiro positivo: 5 ...
Digite um valor inteiro positivo: 500 O maior valor é: 500
O menor valor é: 1
Exemplo 3
Exemplo 3
–
Estruturando solução
•
Entradas
• Diversos números inteiros
•
Saídas
• Tabuada de cada um dos números digitados
•
Detalhes
• Usar o comando “ENQUANTO” para fazer as leituras dos números sendo -1 a condição de parada.
• Usar comando “PARA” aninhado no “ENQUANTO” para calcular a tabuada de 1 até
Exemplo 3 - Algoritmo
Variáveis
cont : inteiro:
numero: inteiro;
multiplicacao: inteiro;
Início
escrever “Digite um número inteiro: ”; ler numero;
enquanto numero > 0 faça
para cont de 1 até 10 faça
multiplicacao <- numero * cont;
escrever numero, “ X ”, cont, “ = ”, multiplicacao;
escrever “Digite um número inteiro: ”; ler numero;
Exemplo 3
–
Execuções do algoritmo
Digite um número inteiro: 3 3 X 1 = 3
3 X 2 = 6 3 X 3 = 9 3 X 4 = 12 3 X 5 = 15 3 X 6 = 18 3 X 7 = 21 3 X 8 = 24 3 X 9 = 27 3 X 10 = 30
Exemplo 4
Exemplo 4
–
Estruturando solução
•
Entradas
• Quantidade de CDs
• Valor de cada um dos CDs
•
Saídas
• Valor total investido em CDs
• Valor média de cada CD
•
Detalhes
• Podemos usar a quantidade de CDs como limite final da variável contadora do
comando “PARA” que irá ler o valor de cada um deles.
Exemplo 4 - Algoritmo
Variáveis
cont: inteiro;
quantidade : inteiro; valor : real;
soma_valores : real; media_valores : real;
Início
escrever “Digite a quantidade de CDs: ”; ler quantidade;
soma_valores <- 0;
para cont de1 até quantidade faça
escrever “Digite o preço do CD ”, cont, “: ”; ler valor ;
soma_valores <- soma_valores + valor;
escrever“O valor total investido foi: ”, soma_valores;
media_valores <- soma_valores / quantidade; escrever“A média de preço foi: ”, media_valores;
Exemplo 4
–
Execuções do algoritmo
Exemplo 5
Construa um algoritmo para computar os resultados de uma eleição. Os votos válidos são
representados pelas letras ‘A’ e ‘B’, cada uma representando um candidato. O voto em
branco é representado pela letra ‘N' . Qualquer outro valor é considerado como voto nulo. Este algoritmo deverá ler n votos, onde n é informado via teclado. Ao término de sua
execução, o algoritmo deverá apresentar os seguintes resultados:
• O total de votos de cada candidato;
• O total de votos em branco;
• O total de votos nulos;
Exemplo 5
–
Estruturando solução
• Entradas
• Quantidade de votos (N)
• N votos
• Saídas
• O total de votos de cada candidato
• O total de votos em branco
• O total de votos nulos
• O candidato vencedor
• Detalhes
• Podemos usar 4 variáveis acumuladoras.
Exemplo 5 - Algoritmo
Variáveis
qtd_votos : inteiro;
cont : inteiro;
voto : caractere;
votos_a : inteiro;
votos_b : inteiro;
votos_n : inteiro;
votos_nulos : inteiro;
vencedor : caractere;
Exemplo 5 - Algoritmo
Módulo LER_VOTOS [[
votos_a <- 0; votos_b <- 0; votos_n <- 0; votos_nulos <- 0;
para cont de1 atéqtd_votos faça escrever “Digite o voto: ”; ler voto;
caso votoseja
‘A’:
votos_a <- votos_a + 1;
‘B’:
votos_b <- votos_b + 1;
‘N’:
votos_n <- votos_n + 1; senão
votos_nulos <- votos_nulos + 1; ]];
Módulo LER_QUANTIDADE_VOTOS [[
escrever “Digite a quantidade de votos: ”; ler qtd_votos;
Exemplo 5 - Algoritmo
Módulo IMPRIMIR_RESULTADO [[
escrever “Votos de A: ”, votos_a; escrever “Votos de B: ”, votos_b; escrever “Votos Brancos: ”, votos_n; escrever “Votos Nulos: ”, votos_nulos;
escrever “O vencedor é o candidato: ”, vencedor; ]];
Módulo CALCULAR_VENCEDOR [[
se votos_a > votos_b então vencedor <-‘A’; senão
Exemplo 5
–
Execuções do algoritmo
Digite a quantidade de votos: 5 Digite o voto: A
Digite o voto: N Digite o voto: B Digite o voto: A Digite o voto: Z Votos de A: 2 Votos de B: 1 Votos Brancos: 1 Votos Nulos: 1