EL SITIO DE MAUROH

Esta página se vé mejor con: Microsoft Internet Explorer 4.0 o superior o con Netscape Navigator 4.0. Monitor SVGA 800*600dpi.

 

 

HP48G: CURSO DE PROGRAMACION BASICA III


Es importante aclarar  que algunos programas que yo coloco de ejemplo en esta página contienen comentarios que 'NO DEBEN IR INCLUIDOS EN EL PROGRAMA' pero que yo muestro con el fin de que la explicación sea mas clara. Estos comentarios se pueden distinguir porque son de color diferente al del resto del código.


CONTENIDO DE ESTA PAGINA

    2.5 BUCLES O CICLOS
        2.5.1 Bucle FOR
            2.5.1.1  Instrucción FOR... NEXT
            2.5.1.2  Instrucción FOR... STEP
        2.5.2 Otros Tipos
            2.5.2.1  Instrucción DO... UNTIL... END
            2.5.2.2  Instrucción WHILE... REPEAT... END
    2.6 COMANDO ANIMATE


2.5 BUCLES O CICLOS

Los bucles son estructuras que se utilizan para realizar un procedimiento y repetirlo determinado número de veces. Se les denomina también ciclos porque su estructura es repetitiva.

2.5.1 Bucle FOR

2.5.1.1 Instrucción FOR...NEXT

Esta instrucción tiene el siguiente esquema:
Valor inicial Valor Final FOR Contador Procedimiento NEXT (Siendo el Contador una variable cualquiera que no se esté utilizando)

El contador aumenta su valor en una unidad a medida que avanza el ciclo es decir si un ciclo tiene un valor inicial de 1 y otro final de 5, el contador tendrá inicialmente un valor de uno, al terminar el primer ciclo tendrá un valor de dos y asi sucesivamente hasta que se llegue al valor final del ciclo. (para este caso 5)

Ejemplo: Se desea conocer el resultado de la multiplicación de un número cualquiera por los números de 1 a 5. Es decir el usuario debe elegir un número cualquiera y el programa automáticamente tiene  que mostrar los resultados de cada una de las multiplicaciones, donde lógicamente el valor inicial es 1 y el final es 5. entonces:
<< "Digite un número Cualquiera" {0} INPUT                ' Muestra la etiqueta de entrada
OBJ-> 'n' STO                                                           ' Almacena el valor introducido en 'n'
1                                                                              ' Valor Inicial del ciclo
5                                                                              ' Valor Final del ciclo
FOR T                                                                      ' Inicio de la instrucción (T: contador)
    n T *                                                                    ' Realiza la multiplicación del número por el contador
    ->STR MSGBOX                                                   ' Convierte el valor en cadena de caracteres y muestra el resultado
NEXT >>                                                                  ' Cierra el ciclo y hace que continue hasta que T=5
  


[Ir arriba]


2.5.1.2 Instrucción FOR...STEP

La estructura de esta instrucción es parecida a la instrucción FOR NEXT, la única diferencia es que en esta el contador puede incrementar en cualquier otro valor además de la unidad.

El esquema de esta instrucción es: Valor Inicial Valor Final FOR Contador Procedimiento Valor Incremental STEP

Ejemplo: Se desea conocer el resultado de la multiplicación de un numero cualquiera por todos los números impares entre 1 y 10, entonces
<< "Digite un Número Cualquiera" {0} INPUT               ' Muestra la etiqueta de entrada
OBJ-> 'n' STO                                                          ' Almacena el valor introducido en 'n'
1                                                                             ' Valor Inicial del ciclo
10                                                                            ' Valor Final del ciclo
FOR T                                                                      ' Inicio de la instrucción (T: contador)
    n T *                                                                    ' Realiza la multiplicación del número por el contador
    ->STR MSGBOX                                                   ' Convierte el valor en cadena de caracteres y muestra el resultado
    2                                                                         ' Valor Incremental del Contador
STEP >>                                                                  ' Cierra el ciclo y hace que continue hasta que T=5
 


[Ir arriba]

2.5.2 Otros tipos

2.5.2.1 Instrucción DO...UNTIL...END

El esquema de esta instrucción es: DO Procedimiento UNTIL Condición END

La traducción mas o menos literal de la instrucción es "Realice un procedimiento hasta que se cumpla una  condición". Este bucle no requiere contador en su esquema, pero en determinados casos se debe utilizar alguna variable o instrucción que funcione como tal.

Ejemplo 1. Agregar una unidad a un valor cualquiera, al resultado de esta operación sumarle dos unidades, después tres y así sucesivamente hasta llegar a 5 unidades.
<<"Digite un número" {0}  INPUT OBJ-> 'n' STO     ' Muestra la etiqueta y almacena el valor en 'n'
1 'i' STO                                                             ' Asigna el valor de 1 a la variable i
DO                                                                      ' Inicio del Bucle
    n i + DUP 'n' STO                                           ' Suma a n el valor de i y asigna este resultado nuevamente a 'n'
    ->STR MSGBOX                                             ' Muestra el resultado en una ventana
    i 1 + 'i' STO                                                    ' Aumenta en uno el valor de i y vuelve a almacenar este último valor en 'i'
UNTIL
    i 5 ==                                                               ' Condición
END>>                                                              ' Fin del bucle

El programa realiza el ciclo y automáticamente compara si el valor de i es igual a 5. Como el valor inicial de i es 1 y esta aumentado una unidad a medida que avanza el ciclo, entonces el procedimiento se realizará 5 veces.
 

[Ir arriba]


2.5.2.2 Instrucción WHILE...REPEAT...END

La estructura de esta instrucción es muy parecida a la de la instrucción DO UNTIL END, la única diferencia radica en que para la instrucción DO, una operación se realizaba HASTA QUE se cumpliera una condición. En cambio con esta instrucción un procedimiento se realiza MIENTRAS QUE se esta cumpliendo una condición.

El esquema estructural de esta instrucción es la siguiente: WHILE Condición REPEAT Procedimiento END.

Utilizando el mismo ejemplo empleado en la instrucción DO UNTIL END, entonces el código es el siguiente

<<"Digite un número" {0}  INPUT OBJ-> 'n' STO     ' Muestra la etiqueta y almacena el valor en 'n'
1 'i' STO                                                             ' Asigna el valor de 1 a la variable i
WHILE                                                               ' Inicio del bucle
    i <= 5                                                             ' Condición
REPEAT
    n i + DUP 'n' STO                                           ' Suma a n el valor de i y asigna este resultado nuevamente a 'n'
    ->STR MSGBOX                                             ' Muestra el resultado en una ventana
    i 1 + 'i' STO                                                    ' Aumenta en uno el valor de i y vuelve a almacenar este último valor en 'i'
END>>                                                              ' Fin del bucle

Como se puede observar en el ejemplo la condición de la instrucción DO UNTIL es que se realice el procedimiento  HASTA QUE el valor de i fuera igual a 5. En cambio para la instrucción WHILE REPEAT se realiza el procedimiento MIENTRAS QUE el valor de i es menor o igual a 5.
 

[Ir arriba]

2.6 COMANDO ANIMATE

Este comando sirve para generar animaciones de objetos gráficos. La estructura general se puede escribir de dos formas.
 
Grob1 Grob2 .... Grobn 
n
ANIMATE

donde grob son las gráficas creadas por el usuario y n el número de graficas que se desean animar.
 

Grob1 Grob2 ... Grobn
{n{#X #Y} vel rep}
ANIMATE

En este caso X,Y son las coordenadas donde va a aparecer la animación, vel indica la velocidad de la misma y rep indica el número de repeticiones deseadas

 
<< Grob1 Grob2 Grob3 Grob4 
4
ANIMATE>>

En este programa la animación se repite de forma indefinida y con una velocidad estándar hasta que se pulsa la tecla  ON.
 

<<Grob1 Grob2 Grob3 Grob4
{4{#0 #0}1 3} >>

Este programa esta muestra la secuencia 3 veces. Si se desea que se muestre la secuencia hasta que se pulse una tecla, se debe colocar 0 (cero) en la parte que indica el número de repeticiones.


[Contenido]  [Anterior]  [Siguiente]

1