APUNTES DE PROGRAMACION


Go to content

Tercer período

Grado octavo

LICEO DE CERVANTES
APUNTES DE PROGRAMACION
PROGRAMACION GRADO OCTAVO - JAVA I.O.


Estructuras iterativas (Ciclos):

Los ciclos son estructuras contenedoras que permiten repetir un proceso el número de veces que sea requerido, para que al terminar se obtenga un resultado, que puede ser definitivo o, la mayoría de veces, que permitirá obtener posteriormente otros resultados. Los ciclos pueden ser de dos tipos básicamente: cuando ignoramos el número de veces que un proceso se repetirá, y cuando sabemos exactamente cuantas veces el proceso se repetirá.

Ciclo condicionado while (mientras):

Esta estructura se utiliza, cuando
no sabemos cuantas veces se ha de repetir un proceso antes de obtener un resultado. Este ciclo trabaja tres elementos separados, pero relacionados entre sí: valor inicial, valor final e incremento. La estructura básica es la siguirnte:


while (exp_log) {

}

La expresión lógica (exp_log) es una condición o comparación, como las vistas en condicionales, que le permite al while controlar hasta cuando se realizará la repetición. Uno de los usos primordiales del ciclo while es lo que yo llamo control de usuario, y que le permite al usuario del programa elegir cuando terminarlo. Veamos un ejemplo: tomemos el programa del área del círculo trabajado en el primer período, e incorporémole el control de usuario:



Entre las líneas 10 y 14 tenemos el proceso que deseamos repetir las veces que el usuario desea, hasta cuando decida terminar. En la línea 7 declaramos la variable op con un valor inicial de 1 que significa continuar. En la línea 9 generamos el ciclo while, que obedecerá a la condición dada, de manera que mientras op sea igual a 1 lo que está dentro de las llaves contenedoras de ciclo se realizará. En las líneas 15 y 16 preguntamos al usuario si desea continuar, es claro que el usuario escribirá un 1 o un 2. En la línea 17 tenemos el cierre de la llave del ciclo while, que retorna el control a la línea 9 y dependiendo el valor que tenga la variable op se realizará de nuevo o terminará, en este último caso el control irá a la línea 18.

Algunos procesos aritméticos se realiza por medio de repeticiones pero no sabemos cuantas veces se repetira, es el caso de la raíz cuadrada, para la cual partiremos de un valor muy pequeño (0.0001) que iremos multiplicando por si mismo, comparándolo con el número a buscar e incrementandolo el mismo valor. El programa se vería así:

Veamos los tres elementos que conforman un while: en la línea 14 estamos inicializando la variable prod en cero (0), es el valor inicial; en la línea 15 iniciamos el while preguntado si la variable pro es menor que la variable num (número al cual sacaremos la raiz cuadrada), es decir, estamos determinando el valor final y, en la línea 16 estamos incrementando la variable incre, la cual al multiplicarse por si misma en la línea 17 alterará el valor de la variable prod.

Ciclo automático for (para):


Cuando en un programa tenemos certeza total de cuantas veces se repetirá un proceso, utilizaremos este ciclo. El ciclo for también requiere de los tres elementos que vimos en el while, la diferencia es que aquí van en una sóla línea. La estructura básica de un ciclo for es:

for (inicio;exp_log;incremento) {

}

Para efectos de estandarización con la literatura existente, utilizaremos siempre la variable i dentro del ciclo for, por tanto si quisieramos repetir una instrucción, como por ejemplo escribir la frase "Java es una machera..." 10 veces, la estructura sería la siguiente:

for (i=1;i<=10;i++) {
System.out.println("Java es una machera...");
}

El parámetro
i=1 marca el inicio del ciclo, claramente estamos inicializando la variable i en 1; la expresión lógica i<=10 marca el final y, el parámetro i++ indica el incremento al que será sometida la variable i. Un ciclo for realmente maneja una variable contadora (i) que ira tomando los valores desde el incicio hasta el final con el incremento indicado.

Muchos procesos aritméticos se calculan mediante ciclos repetitivos, veamos varios ejemplos. Comencemos por visualizar la tabla de multiplicar del número que desee el usuario:

Una característica maravillosa del trabajo con ciclos, es que las estructuras se hacen cada vez mas pequeñas pero hacen cosas muy grandes. La estructura que calcula las tablas de multiplicar que escoja el usuario va de la liínea 12 a la 15, es decir 4 líneas de código. En la variable res calculamos el resultado de la tabla que será mostrado en la siguiente línea. Recuerden que nunca debemos hacer operaciones aritméticas dentro de las sentencias de impresión (System.out.println).

Veamos ahora un programa que calcula la sumatoria de un número elegido por el usuario. La sumatoria de un número es la suma de todos los posibles divisores enteros de ese número. Por ejemplo la sumatoria de 5 sería 1+2+3+4+5=15. El programa quedaría así:

En este programa, después de recibir el número por parte del usuario, en la línea 12 inicializamos la variable suma que es de tipo acumulador con un valor de cero (0), esto porque es una acumuladora de suma, si fuera acumuladora para multiplicación se inicializaría en uno (1); las líneas 14 y 15 lo que hacen es mostrar en pantalla el proceso sumatorio (1+2+3+4+.....); la línea 16 calcula la sumatoria, es decir va acumulando en la variable suma, el valor de ella misma más el valor de la variable i, finalmente en la línea 18, después de cerrar el ciclo, mostramos el resultado.

Veamos ahora un programa que genera los divisores de un número elegido por el usuario. Recordemos que los divisores de un número, son aquellos que lo dividen exactamente, es decir, el residuo de la división es cero (0), para esto, dividiremos el número entre todos sus posibles divisores. Para determinar el residuo de una división utilizaremos el operador aritmético
% que llamaremos desde ahora módulo. El programa quedaría así:

Los programas son cada vez más simples, el misterio está en comprender el proceso aritmético correctamente. En la línea 14 calculamos el residuo de dividir la variable num entre el valor que contenga la variable i; las líneas 15 al 18 determinan si el valor de i es divisor de num, y de ser así será mostrado en pantalla acompañado por una coma (,).

Para terminar veamos un programa muy sencillo, vamos a determinar el valor de 2 elevado a la n. Veamos el programa:

Este programa, en este momento no requiere de explicación, es muy sencillo.

Apreciado estudiante, para que se entretenga un buen rato, y al mismo tiempo prepare la evaluación, le dejo 5 programas propuestos, que también hacen parte de la evaluación:

  • Factorial de un número
  • Determinar si un número es primo o no
  • Suma y promedio de 10 números enteros dados por el usuario
  • x a la n (exponenciación)
  • Juego adivine el número (ya fue explicado en clase)


A divertirse programando...


Sub-Menu:


Back to content | Back to main menu