Diferencia entre revisiones de «Plantilla:ManuelRomero/PHP/EstructurasControlRepetitivo»
De WikiEducator
(7 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 237: | Línea 237: | ||
</source> | </source> | ||
− | + | {{MRM_Puntos clave|Title=Partes de la estructura| | |
− | + | ||
;Estructura for | ;Estructura for | ||
*tiene tres partes | *tiene tres partes | ||
− | ;expresion_inicial: | + | ;1.- expresion_inicial: |
− | :Se ejecuta una sola vez al comienzo del bucle. se usa para inicializar variables | + | :Se ejecuta una sola vez al comienzo del bucle. se usa para '''inicializar variables'''' |
− | ;condición | + | ;2.-condición: |
− | :Es una expresión booleana que se evalúa en cada interacción | + | :Es una '''expresión booleana''' que se evalúa en '''cada interacción'''. |
− | + | Si da un valor false, ya no se ejecuta ninguna vez | |
− | + | Si no hay expresión se toma como true | |
− | + | En este caso para que el bucle no sea infinito | |
− | ;Incremento de la expresión inicial | + | deberá llevar algún break (instrucción de terminación de bloque) |
+ | en algún momento | ||
+ | ;3.-Incremento de la expresión inicial | ||
:Marca el paso o cómo se va modificando la variable de control en cada iteración | :Marca el paso o cómo se va modificando la variable de control en cada iteración | ||
+ | }} | ||
+ | {{MRM_Actividad|Title=Ejemplo de la estructura| | ||
+ | *Realiza la suma de los 100 primeros números | ||
+ | <source lang=php> | ||
+ | //Inicializamos la variable | ||
+ | //que contendrá el total | ||
+ | $suma =0; | ||
+ | //Desde $numero = 0 y mientras $numero sea menor que 100 | ||
+ | //Incrementando en cada iteración número en una unidad | ||
+ | for ($numero=0;$numero<100;$numero++){ | ||
+ | //realizo la suma con el valor de $numero | ||
+ | $suma = $suma + $numero; | ||
+ | } | ||
+ | echo "<h2>La suma de los 100 primeros números es $suma</h1>"; | ||
+ | </source> | ||
+ | }} | ||
+ | <br /> | ||
+ | *Esta estructura se usa con mucha frecuencia | ||
+ | {{MRM_Puntos clave|Title=Cuándo usarla| | ||
+ | ;Siempre que sepamos en número de veces que vamos a realizar una acción usaremos esta estructura | ||
+ | }} | ||
+ | |||
+ | ;Ejercicios | ||
+ | {{Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/Dados}} | ||
+ | {{Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/TablaAsciiCompleta}} | ||
+ | {{Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/SistemaNumerico}} | ||
+ | {{Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/TablaMultiplicarCompleta}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | <!-- | ||
;Estructura for: condición | ;Estructura for: condición | ||
Línea 285: | Línea 323: | ||
?> | ?> | ||
</source> | </source> | ||
+ | --> |
Última revisión de 20:56 27 nov 2024
Introducción
En este tema aprenderemos tres estructuras de control que permiten repetir bloques de código:
- while: Repite un bloque mientras una condición sea verdadera.
- do...while: Similar al while, pero asegura que el bloque se ejecute al menos una vez.
- for: Útil cuando conocemos de antemano el número de iteraciones necesarias.
- Empecemos por la estructura while, explicando su funcionamiento básico y resolviendo ejercicios prácticos.
Iteración while
Un bucle while repite un bloque de código mientras una condición sea verdadera. Para evitar errores, debemos prestar atención a tres aspectos fundamentales:
- Inicializar la variable de control antes de entrar en el bucle.
- Actualizar la variable de control dentro del bucle para evitar bucles infinitos.
- Realizar correctamente la evaluación de la condición utilizando operadores de comparación (<, <= , >, >= , ...).
- Sintaxis
while (expresion_booleana){ //instrucciones del bloque }
//Inicializamos variables de la condición $contador = 0; //Establecemos la condición cuidando mucho //los extremos (< o <= ...) while ($contador < 10){ //Actualizamos la variable dentro del bucle $contador ++ //comentar este operador //Realizamos las acciones echo "Estoy en la interación $contador<br />" }
|
|
|
Iteracción do-while
- Este tipo de bucle donde seguro que al menos se ejecuta un iteracción
- Respecto al anterior nos ahorra una comparación.
- La sintaxis de esta estructura es la siguiente:
do { //Acciones }while (expresión_booleana);
|
- Ejercicios
Ejercicio 19: Genera Números de Bonoloto
|
Ejercicio 19 :Genera una tabla ASCII completa
chr($numero) //retorna el carácter en ascii del código que se pasa como argumento printf ("%d - %c", $numero, $numero); //Esta función // visualiza con formato decimal (%d) y carácter (%c), //los valores pasados como últimos argumentos
|
}}
Iteración for
- Es un bucle de tipo contador
for (expresion_inicial; condicion;expresion_actualizar){ sentencias; }
Si da un valor false, ya no se ejecuta ninguna vez Si no hay expresión se toma como true En este caso para que el bucle no sea infinito deberá llevar algún break (instrucción de terminación de bloque) en algún momento
|
//Inicializamos la variable //que contendrá el total $suma =0; //Desde $numero = 0 y mientras $numero sea menor que 100 //Incrementando en cada iteración número en una unidad for ($numero=0;$numero<100;$numero++){ //realizo la suma con el valor de $numero $suma = $suma + $numero; } echo "<h2>La suma de los 100 primeros números es $suma</h1>";
|
- Esta estructura se usa con mucha frecuencia
|
- Ejercicios
|
Ejercicio 19 :Genera una tabla ASCII completa
chr($numero) //retorna el carácter en ascii del código que se pasa como argumento printf ("%d - %c", $numero, $numero); //Esta función // visualiza con formato decimal (%d) y carácter (%c), //los valores pasados como últimos argumentos
|
Ejercicio 19 :Sistemas numéricos
|
Ejercicio 19 :Tabla de multiplicar completa
|