Anda di halaman 1dari 15

El flujo de un programa (sentencias

iterativas)

Introduccin
La sentencia for
La sentencia while
La sentencia do...while
La sentencia break
La sentencia continue
Ejemplo: los nmeros primos

Tan importantes como las sentencias condiciones son las sentencias iterativas
o repetitivas. Normalmente, las sentencias de un programa son ejecutadas en
el orden en el que aparecen. Cada sentencia es ejecutada una y solamente una
vez. El lenguaje Java, como la mayora de los lenguajes, proporciona
sentencias que permiten realizar una tarea una y otra vez hasta que se cumpla
una determinada condicin, dicha tarea viene definida por un conjunto de
sentencias agrupadas en un bloque. Las sentencias iterativas
son for, while y do...while

La sentencia for
factorial: FactorialApp.java
Esta sentencia se encuentra en la mayora de los lenguajes de programacin.
El bucle for se emplear cuando conocemos el nmero de veces que se
ejecutar una sentencia o un bloque de sentencias, tal como se indica en la
figura. La forma general que adopta la sentencia for es
for(inicializacin; condicin; incremento)
sentencia;

El primer trmino inicializacin, se usa para inicializar una variable ndice,
que controla el nmero de veces que se ejecutar el bucle.
La condicin representa la condicin que ha de ser satisfecha para que el
bucle contine su ejecucin. El incrementorepresenta la cantidad que se
incrementa la variable ndice en cada repeticin.
Ejemplo: Escribir un programa que imprima los primeros 10 primeros
nmeros enteros empezando por el cero
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
El resultado ser: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
La variable ndice i se declara y se inicializa en el trmino inicializacin,
la condicin se expresa de modo que i se debe mantener estrictamente menor
que 10; la variable i se incrementa una unidad en cada repeticin del bucle. La
variable i es local al bucle, por lo que deja de existir una vez que se sale del
bucle.
Ejemplo: Escribir un programa que imprima los nmeros pares positivos
menores o iguales que 20
for (int i=2; i <=20; i += 2) {
System.out.println(i);
}
Ejemplo: Escribir un programa que imprima los nmeros pares positivos
menores o iguales que 20 en orden decreciente
for (int i=20; i >= 2; i -= 2) {
System.out.println(i);
}
Ejemplo: Escribir un programa que calcule el factorial de un nmero
empleando la sentencia iterativa for. Guardar el resultado en un nmero
entero de tipo long .
Definicin: el factorial de un nmero n es el resultado del producto 1*2*3* ....
*(n-1)*n.
public class FactorialApp {
public static void main(String[] args) {
int numero=4;
long resultado=1;
for(int i=1; i<=numero; i++){
resultado*=i;
}
System.out.println("El factorial es "+resultado);
}
}

La sentencia while
factorial1: FactorialApp1.java
A la palabra reservada while le sigue una condicin encerrada entre
parntesis. El bloque de sentencias que le siguen se ejecuta siempre que la
condicin sea verdadera tal como se ve en la figura. La forma general que
adopta la sentencia while es:
while (condicin)
sentencia;

Ejemplo: Escribir un programa que imprima los primeros 10 primeros
nmeros enteros empezando por el cero, empleando la sentencia
iterativa while.
int i=0;

while (i<10) {
System.out.println(i);
i++;
}
El valor inicial de i es cero, se comprueba la condicin (i<10), la cual resulta
verdadera. Dentro del bucle, se imprime i, y se incrementa la variable
contador i, en una unidad. Cuando i vale 10, la condicin (i<10) resulta falsa
y el bucle ya no se ejecuta. Si el valor inicial de i fuese 10, no se ejecutara el
bucle. Por tanto, el bucle while no se ejecuta si la condicin es falsa.
Ejemplo: escribir un programa que calcule el factorial de un nmero
empleando la sentencia iterativa while
public class FactorialApp1 {
public static void main(String[] args) {
int numero=4;
long resultado=1;
while(numero>0){
resultado*=numero;
numero--;
}
System.out.println("El factorial es "+resultado);
}
}

La sentencia do...while
Como hemos podido apreciar las sentencias for y while la condicin est al
principio del bucle, sin embargo, do...while la condicin est al final del
bucle, por lo que el bucle se ejecuta por lo menos una vez tal como se ve en la
figura. do marca el comienzo del bucle y while el final del mismo. La forma
general es:
do{
sentencia;
}while(condicin);

Ejemplo: Escribir un programa que imprima los primeros 10 primeros
nmeros enteros empezando por el cero, empleando la sentencia
iterativa do..while.
int i=0;

do{
System.out.println(i);
i++;
}while(i < 10);
El bucle do...while, se usa menos que el bucle while, ya que habitualmente
evaluamos la expresin que controla el bucle al comienzo, no al final.

La sentencia break
A veces es necesario interrumpir la ejecucin de un bucle for, while,
o do...while.
for(int i = 0; i < 10; i++){
if (i == 8) break;
System.out.println(i);
}
Consideremos de nuevo el ejemplo del bucle for, que imprime los 10
primeros nmeros enteros, se interrumpe la ejecucin del bucle cuando se
cumple la condicin de que la variable contador i valga 8. El cdigo se leer:
"salir del bucle cuando la variable contador i, sea igual a 8".
Como podemos apreciar, la ejecucin del bucle finaliza prematuramente.
Quizs el lector pueda pensar que esto no es de gran utilidad pues, el cdigo
anterior es equivalente a
for(int i = 0; i <=8; i++)
System.out.println(i);
Sin embargo, podemos salir fuera del bucle prematuramente si se cumple
alguna condicin de finalizacin.
while(true){
if (condicionFinal) break;
//...otras sentencias
}
Como podemos apreciar en esta porcin de cdigo, la expresin en el
bucle while es siempre verdadera, por tanto, tiene que haber algn mecanismo
que nos permita salir del bucle. Si la condicion de finalizacin es verdadera,
es decir la variablecondicionFinal del tipo boolean toma el valor true, se sale
del bucle, en caso contrario se continua el procesmiento de los datos.

La sentencia continue
La sentencia continue, fuerza al bucle a comenzar la siguiente iteracin desde
el principio. En la siguiente porcin de cdigo, se imprimen todos los nmeros
del 0 al 9 excepto el nmero 8.
for(int i = 0; i < 10; i++){
if (i == 8) continue;
System.out.println(i);
}

Etiquetas
Tanto break como continue pueden tener una etiqueta opcional que indica a
Java hacia donde dirigirse cuando se cumple una determinada condicin.
salida:
for(int i=0; i<20; i++){
while(j<70){
if(i*j==500) break salida;
//...
}
//...
}
La etiqueta en este ejemplo se denomina salida, y se aade antes de la parte
inicial del ciclo. La etiqueta debe terminar con el carcter dos puntos :. Si no
disponemos de etiqueta, al cumplirse la condicin i*j==500, se saldra del
bucle interno while, pero el proceso de clculo continuara en el bucle
externo for.

Ejemplo: los nmeros primos
primos: PrimosApp.java
Escribir un programa que calcule los nmeros primos comprendidos entre 3 y
100.
Los nmeros primos tienen la siguiente caracterstica: un nmero primo es
solamente divisible por s mismo y por la unidad, por tanto, un nmero primo
no puede ser par excepto el 2. Para saber si un nmero impar es primo,
dividimos dicho nmero por todos los nmeros impares comprendidos entre 3
y la mitad de dicho nmero. Por ejemplo, para saber si 13 es un nmero primo
basta dividirlo por 3, y 5. Para saber si 25 es nmero primo se divide entre 3,
5, 7, 9, y 11. Si el resto de la divisin (operacin mdulo %) es cero, el
nmero no es primo.
public class PrimosApp {
public static void main(String[] args) {
boolean bPrimo;
System.out.println("Nmeros primos comprendidos entre 3 y
100");
for(int numero=3; numero<100; numero+=2){
bPrimo=true;
for(int i=3; i<numero/2; i+=2){
if(numero%i==0){
bPrimo=false;
break;
}
}
if(bPrimo){
System.out.print(numero+" - ");
}
}
}
}
En primer lugar, hacemos un bucle for para examinar los nmeros impares
comprendidos entre 3 y 100.
Hacemos la suposicin de que numero es primo, es decir, de que la variable de
control bPrimo toma el valor true. Para confirmarlo, se halla el resto de la
divisin entera entre numero, y los nmeros i impares comprendidos entre 3
y numero/2. (Se recordar que todo nmero es divisible por la unidad). Si el
nmero numero es divisible por algn nmero i (el resto de la divisin
entera numero%i es cero), entonces el nmero numero no es primo, se
abandona el bucle (break) con la variable de control bPrimotomando el
valor false. En el caso de que numero sea un nmero primo, se completa el
bucle interno, tomando la variable de control bPrimo el valor inicial true.
Por ltimo, si el nmero es primo, bPrimo es true, se imprime en la ventana,
uno a continuacin del otro separados por un guin.
En este programa podemos observar la diferencia entre print y println. El
sufijo ln en la segunda funcin indica que se imprime el argumento y a
continuacin se pasa a la lnea siguiente.






















Tutorial 1 Empezando a utilizar Foxpro
9.0(comandos basicos)

Comandos basicos (say, to, color rgb, style , font, )

hola a todas y todos, "antes que nada quiero decir que
este tutorial fue creado directamente por mi, la
informacion no fue extraida de ningun sitio web u
otro post de ninguna pagina web, ni de un video
de youtube este tutorial es propio de BenChus".
El dia de hoy en este tutorial veran como empezar a programar con foxpro 9.0... gracias

Empezemos: antes de empezar a crear nuestro programa debemos crear una carpeta
donde hemos de guardar nuestro programa,proyecto, y demas cosas que vallamos a
necesitar...

paso 1: antes de empezar a crear el programa debemos crear un proyecto, para ello
presionamos archivo,nuevo, y nos saldra algo como esto:

paso 2: despues de haber creado nuestro proyecto , nos dirigimos a la ventana que nos
aparece con nombre"Administrador de proyectos"


en la ventana sealada nos vamos a donde dice codigo!! y nos aparecera una ventana
como esta, aqui presionamos donde dice Nuevo...

luego nos aparecera una ventana como la que vemos abajo: antes de empezar a
programar debemos guardarlo en nuestra carpeta previamente creada y especificada en
el momento de guardar nuestro proyecto.

En esta ventana ya podemos empezar empezar acrear nuestro programa,

bueno empezaremos con el comando say:

la forma de utilizar este comando es la siguiente:

@3,3 say"texto entre comillas"

el comando say imprime un texto en pantalla, existen una gran variedad de comandos en
los cuales debemos definir coordenadas, las coordenadas en foxpro son compuestas
por 145 columnas y 32 o 35filas dependiendo de la resolucion de nuestra pantalla las
coordenadas se deben poner de esta
manera @0.1,0.1 @0.2,0.2 hasta @0.9,0.9, y @1.1,1.1 hasta @32.9,145.9 podeos emplear
decimales..., podemos ver un ejemplo de esto en excel. este esta compuesto por una
cantidad de columnas de 256 y 65536 filas(abajo un ejemplo de coordenadas)


en esta imagen vemos que esta compuesta por 10 filas(horizontales< ________>) y 10
columnas(y verticales l)
l


las coordenadas en foxpro se leen de esta manera tomaresmos el ejemplo de la
coordenada @1,5:
@ <____ "la arroba sabemos que quiere decir: en
1 el primer numero de la coordenada de izquierda a derecha, es la fila horizontal
1,5 el segundo numero de izquierda a derecha es la columna vertical

es decir que me voy a poscisionar en la fila uno y columna cinco, en la imagen apartir de
la letra E me voy a mover o estar.

Para crear nuestro programa debemos tomar muy en cuenta la resolucion, puesto que
hay muchas veces que nos aparece un mensaje de error, el cual nos indica que hay
lineas o algun texto fuera de pantalla.

utilizaremos siempre como emcabezado de nuestro programa el comando clear y,o clear
all
estos comandos nos sirven para limpiar cada rastro o mancha que nos haya quedado en
pantalla
es decir, si yo cree un cuadro en una esquina, y despues lo deseo cambiar de lugar,
estos comandos hacen que no nos quede como si tuviesemos 2 cuadros, borra marcas.

seguimos...
comando say
comenzaremos a colocar nuestra linea de programacion dentro de la ventana vista
previamente, si yo deseo colocar en la fila 8 y columna 9 debere escribir la siguiente
coordenada
la cual nos quedaria de la siguiente forma:

@8,9 say"tutoriales BenChus"

y nos quedaria de esta manera: