sábado, 12 de mayo de 2012

Estructuras Lógicas Repetitivas en PHP - Parte 3/3

Resumiendo lo que hemos visto hasta ahora los bucles, lazos, ciclos, estructuras cíclicas, o estructuras repetitivas (entre los variados nombres con que se las conoce); son estructuras de programación que permiten realizar un conjunto de instrucciones o procesos repetidamente ( de ahí su nombre).

Ya hemos visto las estructuras Mientras (While) y Hacer Mientras (Do While), en el presente artículo daremos una breve descripción y ejemplos sobre el uso de la última estructura que nos faltaba ver: la estructura cíclica o repetitiva Desde o Para (For).

3. Estructura Desde.

Cuando se sabe el número de interacciones que tendrán que ejecutarse cierta cantidad de acciones, es recomendable usar la estructura Desde, esta estructura no solo ejecuta un número de acciones, además cuenta internamente el número de interacciones, esto elimina la necesidad de un contador, lo que no sucede con las estructuras Mientras y Hacer Mientras.

A continuación veremos el pseudocódigo de flujo con su respectivo algoritmo para la estructura:

Desde I = Vi Hasta Vf INC
Acciones
Fin_Desde

I: Variable de tipo entero, representa la variable de control del ciclo.
Vi: Variable de tipo entero, representa el inicio del ciclo.
Vf: Variable de tipo entero, representa el final del ciclo.
INC: Expresión de tipo entero. Representa el incremento/decremento de la variable control, cuando se omite esta expresión se supone que el incremento es en una unidad.

Cualquier bucle FOR puede ser sustituido por otro WHILE. Sin embargo, el bucle FOR resulta muy útil cuando debemos ejecutar un bloque de código a condición de que una variable se encuentre entre un valor mínimo y otro máximo.

3.1. Ejemplo 7: Mostrar el total de números divisibles y no divisibles.

Escriba un pseudocódigo que muestre el total de números divisibles y no divisibles entre 3 en un rango del 1 al 50.

Pseudocódigo:
Iniciar proceso
Declarar variables
    NUM: Entero
    SD: Entero
    ND: Entero
S = 0
Desde NUM = 1 Hasta 50 INC NUM = NUM + 1 Hacer
    SI NUM % 3 = 0 entonces
         Calcular: SD = SD + 1
    Sino
         Calcular: ND = ND + 1
    Fin_Si
Fin_Desde
Escribir SD, ND
Terminar proceso
Codificación en PHP
<?PHP
for ($num = 1; $num <= 50; $num++) {
    if ($num % 3 == 0) {
         $SD = $SD + 1;
    } else {
         $ND = $ND + 1;
    }
}
echo "Sí Divisibles $SD <br>";
echo "No Divisibles $ND";
?>
Diagrama de flujo
Resultado PHP en WEB
Explicación PHP

PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable y finalizamos con ";", ejemplo:

$num = 1;

El echo permite imprimir los valores o comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo:

echo "Si Divisible $SD <br>";
echo "No Divisible $ND <br>";

la etiqueta html <br> es para dar un salto de línea y de esta manera evitará que se vea todo en una línea.

El for ($num = 1; $num <= 50; $num++) permite iniciar un NUM desde NUM = 1, el bucle se repite siempre y cuando NUM sea menor igual <= a 50 y crea un contador que permite incrementar NUM en una unidad (NUM++ que es igual a NUM = NUM +1).

Con if creamos la condición donde si es número divisible entre 3 lo contará y almacenará en SD y los no divisibles en ND.

if ($num % 3 == 0) {
$SD = $SD + 1;
} else {
$ND = $ND + 1;
}

3.2. Ejemplo 8: Generar la tabla de multiplicar del 5.

Escriba un pseudocódigo, que genere la tabla de multiplicar del 5 y muestre los resultados línea por línea.

Pseudocódigo:
Iniciar proceso
Declarar variables
    NUM: Entero
    R: Real

Desde NUM = 1 Hasta 10 INC NUM = NUM + 1 Hacer
    Calcular: R = NUM * 5
    Escribir 5 * NUM = R
Fin_Desde
Terminar proceso
Codificación en PHP
<?php
for ($num = 1; $num <= 10; $num++) {
    $R = $num * 5;
    echo "5 * $num = $R <br>";
}
?>
Diagrama de flujo
Resultado PHP en WEB
Explicación PHP

PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable entre comillas y finalizando con ";", ejemplo:

$num = 1;

El echo permite imprimir los valores o comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo:

echo "5 * $num = $R <>";

la etiqueta html <br> es para dar un salto de línea y de esta manera evitará que se vea todo en una línea.

El for ($num = 1; $num <= 10; $num++) permite iniciar un NUM desde NUM = 1, el bucle se repite siempre y cuando NUM sea menor igual <= a 10 y crea un contador que permite incrementar NUM en una unidad (NUM++ que es igual a NUM = NUM + 1).

En $R = $num * 5 multiplicamos el valor de $num por 5 y lo almacenamos en $R para luego mostrarlo.

3.3. Ejemplo 9: Generar la tabla de multiplicar del 1 al 9.

Escriba un pseudocódigo, que genere la tabla de multiplicar del 1 al 9 y muestre los resultados línea por línea.

Pseudocódigo:
Iniciar proceso
Declarar Variables
    NUM: Entero
    TABLA: Entero
    R: Real
Desde TABLA = 1 Hasta 9 INC TABLA = TABLA + 1 Hacer

    Desde NUM = 1 Hasta 10 INC NUM = NUM + 1 Hacer
         Calcular: R = NUM * TABLA
         Escribir TABLA * NUM = R
    Fin_Desde

Fin_Desde
Terminar proceso
Codificación en PHP
<?php
for ($tabla = 1; $tabla <= 9; $tabla++) {

    for ($num = 1; $num <= 10; $num++) {
         $R = $num * $tabla;
         echo "$tabla * $num = $R <br>";
    }

    echo "<br><br>;"
}
?>
Diagrama de flujo
Resultado PHP en WEB
Explicación PHP

PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable y finalizamos con ";", ejemplo:

$tabla = 1;
$num = 1;

El echo permite imprimir los valores o comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo:

echo "$tabla * $num = $R <br>";

la etiqueta html <br> es para da un salto de línea y de esta manera evitará que se vea todo en una línea.

El for ($tabla = 1; $tabla <= 9; $tabla++) permite iniciar una variable llamada TABLA desde TABLA = 1, el bucle se repite siempre y cuando TABLA sea menor igual <= a 9 y crea un contador que permite incrementar TABLA en una unidad (TABLA++ que es igual a TABLA = TABLA + 1). De manera similar sucede para el for ($num = 1; $num <= 10; $num++).

En resumen el primer bloque creará un secuencia del 1 al 9 donde utilizaremos la variable $tabla para multiplicarlo con la variable $num del segundo bloque, a esto se conoce como bucles o ciclos anidados (estructuras repetitivas, estructuras cíclicas anidadas, lazos anidados o fors anidados entre otros nombres).

3.4. Ejemplo 10: Hallar los términos de la progresión siguiente: 2, 4, ... , 20.

Escriba un pseudocódigo, que halle el número de término para la progresión siguiente: 2, 4, ..., 20.

Pseudocódigo:
Iniciar proceso
Declarar Variables
    I: Entero
Desde I = 1 Hasta 10 INC I = I + 1
    Calcular R = I * 2
    Escribir I
Fin_Desde
Terminar proceso
Codificación en PHP
<?php
for ($I = 1; $I <= 10; $I++) {
    $R = $I * 2;
    echo $R;
}
?>
Diagrama de flujo
Resultado PHP en WEB
Explicación PHP

PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor de cada variable y finalizamos con ";", ejemplo:

$I = 1;

El echo permite imprimir los valores o comentarios encerrados entre comillas, que desea mostrar en la pantalla ejemplo:

echo "término: $I <br>";

la etiqueta html <br> es para dar un salto de línea y de esta manera evitará que se vea todo en una línea.

El for ($I = 1; $I <= 20000; $I *= 2) permite iniciar I desde I = 1, el ciclo continúa siempre y cuando I sea menor igual < = a 20000 y crea un contador para determinar el término de la progresión con $I *= 2.

Con esto terminamos con el uso de las estructuras cíclicas, en el siguiente post iniciaremos con el uso de arreglos o arrays en php, no se lo pierdan estará de infarto.

Como siempre les dejo el código fuente de todos los ejemplos vistos hasta ahora, en un solo archivo en winrar.

Código Fuente: download/descargar

No hay comentarios :

Publicar un comentario

Encuesta: ¿Quién es el mejor catedrático de la carrera de Ing. Informática de la UAGRM?