Ejercicios de Control de Flujo en PHP
A continuación, se presentan diversos ejercicios prácticos que demuestran el uso de estructuras condicionales (if/else y switch) para la toma de decisiones en PHP.
1. Estructuras Condicionales (If/Else y Switch)
1. Determinar si un número es par o impar
Script que determina si el número introducido es par o impar utilizando el operador módulo (%).
$num = 2;
if ($num % 2 == 0) {
echo "El número $num es PAR.";
} else {
echo "El número $num es IMPAR.";
}2. Determinar si una calificación es aprobado o suspenso
Script que evalúa si la calificación pasada es un suspenso o un aprobado, validando que esté en el rango de 0 a 10.
$nota = 7; // Ejemplo de inicialización
if ($nota >= 0 && $nota <= 10) {
if ($nota >= 5) {
echo "La calificación $nota es un APROBADO.";
} else {
echo "La calificación $nota es un SUSPENSO.";
}
} else {
echo "El valor introducido ($nota) NO es válido. Debe estar entre 0 y 10.";
}4. Comprobar si un valor es múltiplo de 3, 5 o 7
Script que determina si el valor pasado es múltiplo de 3, de 5 o de 7, utilizando la estructura elseif.
$num = 15; // Ejemplo de inicialización
$resultado = "$num es ";
if ($num % 3 == 0) {
$resultado .= "Múltiplo de 3";
} elseif ($num % 5 == 0) {
$resultado .= "Múltiplo de 5";
} elseif ($num % 7 == 0) {
$resultado .= "Múltiplo de 7";
} else {
$resultado .= "Múltiplo de ninguno (ni 3, ni 5, ni 7)";
}
echo $resultado;5. Clasificación de notas (INS, SUF, BIEN, NOT, SOB) usando elseif
Clasificación de notas académicas (Insuficiente, Suficiente, Bien, Notable, Sobresaliente) validando el rango de 0 a 10.
$nota = 8.5; // Ejemplo de inicialización
if ($nota < 0 || $nota > 10) {
echo "El valor introducido ($nota) NO es válido. Debe estar entre 0 y 10.";
}
elseif ($nota < 5) {
echo "La calificación $nota es un INS (Insuficiente).";
} elseif ($nota < 6) {
echo "La calificación $nota es un SUF (Suficiente).";
} elseif ($nota < 7) {
echo "La calificación $nota es un BIEN (Bien).";
} elseif ($nota < 9) {
echo "La calificación $nota es un NOT (Notable).";
} else { // Si no es ninguna de las anteriores y es <= 10
echo "La calificación $nota es un SOB (Sobresaliente).";
}6. Clasificación de notas utilizando la estructura switch
Implementación del ejercicio anterior utilizando la estructura switch para notas enteras.
$nota_entera = 9; // Ejemplo de inicialización
switch ($nota_entera) {
case 10:
case 9:
echo "La nota es SOB (Sobresaliente).";
break;
case 8:
case 7:
echo "La nota es NOT (Notable).";
break;
case 6:
echo "La nota es BIEN (Bien).";
break;
case 5:
echo "La nota es SUF (Suficiente).";
break;
default:
echo "La nota es INS (Insuficiente) o valor inválido.";
break;
}7. Determinar el día de la semana (1 a 7) utilizando elseif
Script que traduce un número (1 a 7) al día de la semana correspondiente.
$dia = 3; // Ejemplo de inicialización
if ($dia == 1) {
echo "El valor $dia corresponde a LUNES.";
} elseif ($dia == 2) {
echo "El valor $dia corresponde a MARTES.";
} elseif ($dia == 3) {
echo "El valor $dia corresponde a MIÉRCOLES.";
} elseif ($dia == 4) {
echo "El valor $dia corresponde a JUEVES.";
} elseif ($dia == 5) {
echo "El valor $dia corresponde a VIERNES.";
} elseif ($dia == 6) {
echo "El valor $dia corresponde a SÁBADO.";
} elseif ($dia == 7) {
echo "El valor $dia corresponde a DOMINGO.";
} else {
echo "El valor $dia NO es un día de la semana válido (debe ser del 1 al 7).";
}8. Determinar el día de la semana (1 a 7) utilizando switch
Implementación del ejercicio anterior utilizando la estructura switch.
$dia = 5; // Ejemplo de inicialización
switch ($dia) {
case 1:
echo "El valor $dia corresponde a LUNES.";
break;
case 2:
echo "El valor $dia corresponde a MARTES.";
break;
case 3:
echo "El valor $dia corresponde a MIÉRCOLES.";
break;
case 4:
echo "El valor $dia corresponde a JUEVES.";
break;
case 5:
echo "El valor $dia corresponde a VIERNES.";
break;
case 6:
echo "El valor $dia corresponde a SÁBADO.";
break;
case 7:
echo "El valor $dia corresponde a DOMINGO.";
break;
default:
echo "El valor $dia NO es un día de la semana válido (debe ser del 1 al 7).";
break;
}Ejercicios de Bucles (For) en PHP
Estos ejercicios demuestran cómo utilizar el bucle for para realizar tareas repetitivas y generar secuencias de datos.
1. Imprimir «Hola, Mundo» 2000 veces
Script que utiliza un bucle for para imprimir una cadena de texto en 2000 líneas distintas.
<?php
for ($i = 1; $i <= 2000; $i++) {
echo "Hola, Mundo<br>";
}
?>2. Mostrar los primeros 9999 números enteros
Script que imprime los números del 1 al 9999, cada uno en una línea separada.
<?php
for ($i = 1; $i <= 9999; $i++) {
echo $i . "<br>";
}
?>3. Generar una tabla HTML con los primeros 10000 números
Script que genera una tabla HTML con 10000 celdas, organizando 50 números por fila.
<?php
echo "<table border='1'><tr>";
for ($i = 1; $i <= 10000; $i++) {
echo "<td>$i</td>";
if ($i % 50 == 0 && $i < 10000) {
echo "</tr><tr>";
}
}
echo "</tr></table>"; // Cerramos la última fila y la tabla
?>5. Calcular la suma de los números del 1 al 100
Programa que utiliza un bucle for para acumular la suma de todos los números enteros desde 1 hasta 100.
<?php
$suma = 0; // Inicializamos la variable sumadora
for ($i = 1; $i <= 100; $i++) {
$suma += $i; // Sumamos el número actual a la variable $suma
}
echo "La suma de los números del 1 al 100 es: $suma";
?>Ejercicios de Funciones en PHP
Estos ejemplos ilustran la creación de funciones, diferenciando entre procedimientos (sin retorno) y funciones con valor de retorno.
1. Función de tipo procedimiento: Sumar cinco números enteros
Función que recibe cinco parámetros y muestra el resultado de la suma directamente, sin devolver un valor (void).
<?php
function sumar_procedimiento(int $a, int $b, int $c, int $d, int $e): void {
$suma = $a + $b + $c + $d + $e;
echo "El resultado de la suma es: " . $suma . "<br>";
}
?>2. Función con retorno de valor: Sumar cinco números y mostrar el resultado
Función que recibe cinco parámetros y devuelve el resultado de la suma (int). El resultado se almacena en una variable para su posterior uso.
<?php
function sumar_funcion(int $a, int $b, int $c, int $d, int $e): int {
return $a + $b + $c + $d + $e;
}
$tmp = sumar_funcion(2, 5, 1, 8, 10);
echo "El valor de la variable \$tmp es: " . $tmp . "<br>";
?> 