Plantilla:ManuelRomero/PHP/funciones/practica

De WikiEducator
< Plantilla:ManuelRomero/PHP/funciones
Revisión a fecha de 23:48 2 dic 2024; ManuelRomero (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Estadísticas de Tareas con Funciones

Descripción del problema
  • Queremos construir una aplicación básica que nos permita analizar el estado de tres tareas predefinidas.
  • Cada tarea puede estar en estado "pendiente" o "completada".
  • Utilizaremos una función para calcular estadísticas de estas tareas y mostrar los resultados en una página web.

Objetivos del ejercicio:

  • Crear una página web en PHP que muestre tres tareas predefinidas con su estado.
  • Implementar una función llamada contarTareas que reciba como parámetros los estados de las tres tareas.
  • Usar la función para calcular y devolver:
    • El número total de tareas.
    • El número de tareas completadas.
    • El número de tareas pendientes.
Mostrar las estadísticas calculadas en la página web de forma clara y ordenada.

Requisitos específicos:

Las tareas deben ser representadas como variables simples, no arrays. Ejemplo:

 $tarea1_estado = 'pendiente'; 
 $tarea2_estado = 'completada';
 $tarea3_estado = 'pendiente';
  1. La función contarTareas debe:
    1. Calcular las estadísticas a partir de los estados proporcionados.
    2. Modificar directamente las variables total, completadas y pendientes usando parámetros por referencia.
    3. Ejemplo de firma de la función:
 
 function contarTareas($t1, $t2, $t3, &$total, &$completadas, &$pendientes)
  1. Mostrar las estadísticas en una lista dentro de la página web:
    1. Ejemplo de salida:
* Total de tareas: 3
* Tareas completadas: 1
* Tareas pendientes: 2

Pautas para resolver el ejercicio:

  • Crea las variables para almacenar los estados de las tres tareas.
  • Escribe la función contarTareas siguiendo la estructura solicitada.
  • Llama a la función desde tu código principal, pasando los estados de las tareas y las variables de estadísticas.
  • Usa HTML con Bootstrap para estructurar la página:
         <?php
         // Variables simples para las tareas
 
         // Inicializamos Variables para estadísticas
 
         // Función para calcular estadísticas
         function contarTareas($t1, $t2, $t3, &$total, &$completadas, &$pendientes) {
 
         }
 
         // Llamar a la función
         contarTareas($tarea1_estado, $tarea2_estado, $tarea3_estado, $total, $completadas, $pendientes);
         ?>
 
<!DOCTYPE html>
<html lang="es">
<head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Gestor de Tareas - Funciones</title>
   <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body class="bg-light">
<div class="container py-5">
   <h1 class="text-center mb-4">Gestor de Tareas</h1>
 
   <!-- Introducción -->
   <div class="mb-4">
      <p>En esta página trabajaremos con funciones para calcular estadísticas de tareas. Actualmente, hay tres tareas predefinidas.</p>
   </div>
 
   <!-- Tareas con variables simples -->
   <div class="card mb-4">
      <div class="card-body">
         <h2 class="card-title">Tareas Iniciales</h2>
         <ul class="list-group">
            <li class="list-group-item">Tarea 1: Estudiar PHP <span class="badge bg-warning">Pendiente</span></li>
            <li class="list-group-item">Tarea 2: Completar el ejercicio de funciones <span class="badge bg-success">Completada</span></li>
            <li class="list-group-item">Tarea 3: Leer sobre sesiones <span class="badge bg-warning">Pendiente</span></li>
         </ul>
      </div>
   </div>
 
   <!-- Estadísticas -->
   <div class="card">
      <div class="card-body">
         <h2 class="card-title">Estadísticas de Tareas</h2>
         <ul class="list-group">
            <li class="list-group-item">Total de tareas: <strong><?= $total ?></strong></li>
            <li class="list-group-item">Tareas completadas: <strong><?= $completadas ?></strong></li>
            <li class="list-group-item">Tareas pendientes: <strong><?= $pendientes ?></strong></li>
         </ul>
      </div>
   </div>
</div>
</body>
</html>
  • Una sección que liste las tareas y su estado.
  • Una sección separada para mostrar las estadísticas calculadas.
  • Prueba diferentes combinaciones de estados para verificar que las estadísticas se calculan correctamente.