Escolar Documentos
Profissional Documentos
Cultura Documentos
Repetio
A maioria dos programas que tm interesse prtico incluem estruturas
repetitivas. Exemplo: agenda de telefones.
A situao poderia ser ainda mais complicada se o nmero de
pessoas no fosse conhecido partida.
Uma forma eficaz de resolver este problema a utilizao de uma
estrutura que se encarregue de fazer repetir as instrues que
permitem ler os dados de uma pessoa tantas vezes quantas as
pessoas envolvidas.
Estas estruturas so denominadas por estruturas repetitivas ou
ciclos.
Quando no sabemos quantas vezes deve se fazer a repetio
utilizam-se os ciclos while e do...while.
O critrio de execuo ou paragem destes ciclos depende de uma
condio, que ser testada antes ou depois de cada execuo de
ciclo.
2
Ciclo while
O ciclo while faz o teste primeiro e executa as instrues
depois, caso a condio for verdadeira.
Se o resultado for verdadeiro, as instrues (I) so executadas, seguindo-se um novo clculo
da condio. Quando a condio tiver resultado
falso, o ciclo terminar, prosseguindo a execuo
do programa na instruo seguinte ao ciclo.
+
I
Ciclo do...while
Ao contrrio do ciclo while, o ciclo do...while primeiro
executa as instrues e depois faz o teste. Caso a condio
for verdadeira o ciclo repete-se.
Sintaxe da instruo do...while:
inicializao;
I
do
{ intrues;
+
?
aco;
}
while (condio);
}
} while (op != 3);
Ciclo for
O ciclo for uma estrutura de repetio compacta. Seus
elementos de inicializao, condio e aco so reunidos em
forma de um cabealho. Quando se pretende que um conjunto
de instrues se repita um nmero de vezes bem especfico,
utiliza-se o ciclo for, cuja sintaxe seguinte:
for (inicializao; condio; aco)
{
instrues;
}
inicializao executada apenas uma vez logo no incio do
ciclo. Serve normalmente para inicializar a varivel que vai
controlar o nmero de vezes que as instrues vo ser
repetidas;
condio calculada antes de cada execuo das instrues.
Se o seu resultado for verdadeiro, as instrues so
9
executadas, se for falso, o ciclo termina;
11
Em Java:
import java.io.*;
public class VisualizarInteiros
{ public static void main (String args [])throws IOException
{ int num, k;
BufferedReader z =
new BufferedReader(new InputStreamReader(System.in));
System.out.prntln("O programa visualizara numeros
de 1 ate um valor escolhido por si! ");
//validao do numero introduzido
do
{ System.out.println("Intr. at que nmero pretende
ter a lista: ");
num = Integer.parseInt(z.readLine());
if (num <= 1)
System.out.println("Numero deve ser maior que 1!
Tente de novo");
} while (num <= 1);
System.out.println("Numeros entre 1 e "+num+" : ");
for (k = 1; k <= num; k++)
System.out.print(k+" ");
}
}
12
Na maioria dos casos, a estrutura for pode ser representada por uma
estrutura while equivalente:
inicializao;
while (condio)
{ instrues;
aco;
}
O output ser:
1
2
3
4
5
6
7
8
9 10 11 12
2
4
6
8 10 12 14 16 18 20 22 24
3
6
9 12 15 18 21 24 27 30 33 36
. . . . . . . . . . . . . . . . . . . . . . .
12 24 36 48 60 72 84 96 108 120 132 144
Referncia bibliogrfica:
Antnio Jos Mendes; Maria Jos Marcelino.
Fundamentos de programao em Java 2. FCA. 2002.
Carrio, Jos; Carrio, Antnio.
"Computadores, Tecnologias e sistemas de Informao- O Ncleo de Sistema.
Centro de Tecnologias de Informao Ltd. Lisboa. 1997
Carrio, Jos; Carrio, Antnio.
"Computadores, Tecnologias e sistemas de Informao- Perifricos, Internet e multimdia.
Centro de Tecnologias de Informao Ltd. Lisboa. 1997.
Carrio, Jos; Carrio, Antnio.
"Computadores, Tecnologias e sistemas de Informao- Tecnologias de Software.
Centro de Tecnologias de Informao Ltd. Lisboa.1997.
Elliot Koffman; Ursula Wolz.
Problem Solving with Java. 1999.
John R. Hubbard.
Theory and problems of programming with Java. Schaums Outline series. McGraw-Hill.
H. Deitel; P. Deitel.
Java, como programar. 4 edio. 2003. Bookman.
Rui Rossi dos Santos.
Programando em Java 2 Teoria e aplicaes. Axcel Books. 2004
16
TPC
Escrever um programa em Java para resoluo do seguinte
problema:
Visualizar tabuada de 1 a 10 de um valor introduzido pelo
utilizador. Elabora trs variantes utilizando os diferentes ciclos
aprendidos.
17