Estrutura de repetição

Estrutura de repetição

•Objetivo • Criar algoritmos com comandos repetitivos

Para começar...

Os comandos de repetição dão mais movimento ao programa, permitindo que uma ação seja executada mais de uma vez sem que seja necessário executar novamente o programa.

É possível testar entradas de dados e pedir que o usuário repita a entrada até que um valor válido seja digitado.

No algoritmo da calculadora visto no capítulo anterior, por exemplo, quando um símbolo diferente de uma das operações aritméticas é lido, o algoritmo imprime uma mensagem e termina o programa.

Para começar...

Pode-se alterar o algoritmo para repetir a entrada do símbolo da operação aritmética até que a entrada seja um símbolo válido.

Para a alteração proposta, é necessário fazer a leitura do símbolo da operação aritmética num comando sozinho, para repetir a leitura somente do símbolo enquanto o símbolo digitado for diferente de um dos básicos: +,-,*,/.

No lugar do comando condicional, será incluído um comando para repetir a leitura.

A condição deverá fazer parte do comando de repetição.

Para começar...

Fluxograma contendo a alteração no algoritmo

Para começar...

A partir do fluxograma e passando para uma forma textual tem-se:

Leia (A, B,) Leia (op)

Enquanto op +,-,*,/ Leia(op)

O primeiro comando de leitura da operação foi necessário, no exemplo, para que a operação pudesse ser testada no comando repetitivo.

O segundo comando de leitura será repetido enquanto a operação lida for diferente de uma das operações básicas (+,-,*,/).

Para começar...

Quando uma das básicas for digitada, o controle sairá do comando repetitivo e passará a executar o comando de seleção.

O que controla o número de repetições é uma condição (expressão lógica).

No exemplo da calculadora, a condição utilizada foi em relação à operação digitada ser diferente das básicas.

Os comandos iterativos básicos são: enquanto, para e repita/façaenquanto.

Conhecendo a teoria para programar Comando iterativo – enquanto (while)

O comando cuja palavra-chave é enquanto (while), tem o mesmo comportamento nas várias linguagens, com apenas algumas diferenças na escrita do comando.

É um comando que repete um comando ou um conjunto de comandos enquanto uma condição (expressão lógica) for verdadeira.

Quando essa condição se tornar falsa, o controle passa para o próximo comando que se segue imediatamente ao final do comando repetitivo enquanto.

Conhecendo a teoria para programar JAVA - Comando iterativo – enquanto (while) sintaxe:

while (expressão_lógica) comando; análise do comando: o comando se inicia com a palavra-chave while;

a expressão-lógica deve estar entre parênteses;

para a repetição de um conjunto de comandos é necessário colocá-los dentro de um bloco de comandos, isto é, entre chaves: { }.

Conhecendo a teoria para programar

Comando iterativo – enquanto (while) Exemplo:

Versão em Java x = 1; while (x<4)

System.out.println( x); x++; }

Conhecendo a teoria para programar

JAVA - Comando iterativo – para (for) sintaxe:

for(iniciar ; expressão-lógica ; expressão-de-atualização) comando;

análise do comando:

o comando possui apenas uma palavra-chave: for;

o comando é formado por três partes, colocadas entre parênteses e obrigatoriamente separadas por ponto-e-vírgula. Mesmo que uma das partes não seja necessária é obrigatória a apresentação dos dois pontos-e-vírgulas. Exemplo: for( ; i<N; ). iniciar: primeira parte e será executada apenas uma vez, quando começar o comando for.

Conhecendo a teoria para programar JAVA - Comando iterativo – para (for)

análise do comando (continuação):

expressão-lógica: será executada para testar se a expressão- lógica é verdadeira ou falsa; se for verdadeira executará o comando a ser repetido e, se for falsa executará o próximo comando fora do for; expressão-de-atualização: será executada a partir da segunda vez, da repetição do comando for.

Conhecendo a teoria para programar

Comando iterativo – para (for)

O comando for possui vantagem em relação ao comando-while a medida que em uma mesma linha de comando está a atribuição inicial da variável de controle e o comando de atualização da variável de controle. Ambos possuem a expressão- lógica como elemento de parada da repetição.

Veja abaixo a comparação em C, por exemplo: x = 0 while (x < 4) { for(x = 0; x < 4; x++)

printf(“X = %d \n”,x);printf (“X = %d \n”,x);

Conhecendo a teoria para programar Comando iterativo – faça-enquanto (do-while)

Este comando é semelhante ao enquanto, com a diferença que a condição para a repetição dos comandos é testada ao final, somente depois de executá-los pelo menos uma vez.

Para a linguagem, o comando repetitivo com essa característica de testar a condição ao final do bloco é: faça-enquanto (do-while).

Conhecendo a teoria para programar

JAVA - Comando iterativo – faça-enquanto (do-while) sintaxe:

while (expressão_lógica);

do comando; análise do comando: o comando se inicia com a palavra-chave do e termina com a palavrachave while; o comando possui uma expressão-lógica que, enquanto for verdadeira, o comando deve ser repetido; após a expressão-lógica, que deve estar entre parênteses, deve terminar com um ponto-e-vírgula.

Conhecendo a teoria para programar Comando iterativo – faça-enquanto (do-while)-

Exemplo:

Versão em JAVA

System.out.println(“I = ”+ i);

i= 1; do { i++; } while (i<=3);

Vamos Programar

Elaborar um algoritmo que imprima na tela os dez primeiros múltiplos de um número inteiro qualquer fornecido pelo usuário (lido). No final, imprima também a soma destes dez números. Fazer duas versões deste programa: uma utilizando o for e outra utilizando o while.

Exemplo da saída:

Valor lido: 3

Vamos Programar - JAVA import java.util.* public class Multiplo { public static void main(String args[]) { int numero, soma, multiplo, i; Scanner entrada=new Scanner(System.in);

System.out.print(“Digite um numero: ”); numero = entrada_dado.nextInt(); System.out.print(“\nValor Lido: “+numero); System.out.print(“\nLista de Multiplos: ”); for (i= 1 ; i<=10 ; i++) { multiplo = i*numero; System.out.print(“ “ + multiplo); soma += multiplo;

} System.out.print(“\nSoma = ”+ soma); } import java.util.* public class Multiplo { public static void main(String args[]) { int numero, soma, multiplo, i; Scanner entrada=new Scanner(System.in);

System.out.print(“Digite um numero: ”); numero = entrada_dado.nextInt(); System.out.print(“\nValor Lido: “+numero); System.out.print(“\nLista de Multiplos: ”); soma=0; i = 1; while(i<=10) { multiplo = i*numero; System.out.print(“ “ + multiplo); soma += multiplo; i++; } System.out.print(“\nSoma = ”+ soma); }

Comentários