CursosEmpresasBlogLiveConfPrecios

Ejercicios de Lógica con PHP: Edades y Dibujos en Consola

Clase 11 de 18 • Curso Práctico de PHP

Contenido del curso

Introducción

  • 1
    Curso actualizado

    Curso actualizado

    00:05 min
  • 2
    Fundamentos de PHP sin Frameworks y Desarrollo de Microproyecto

    Fundamentos de PHP sin Frameworks y Desarrollo de Microproyecto

    01:41 min
  • 3
    Uso de la Consola de Comandos en Visual Studio Code

    Uso de la Consola de Comandos en Visual Studio Code

    01:43 min
  • 4
    Pensamiento Lógico en Desarrollo de Software: Estrategias y Aplicaciones

    Pensamiento Lógico en Desarrollo de Software: Estrategias y Aplicaciones

    13:43 min

Conceptos básicos en la práctica

  • 5
    Operadores Lógicos en PHP: Uso y Ejemplos Prácticos

    Operadores Lógicos en PHP: Uso y Ejemplos Prácticos

    12:15 min
  • 6
    Operadores aritméticos en PHP: suma, resta, multiplicación y más

    Operadores aritméticos en PHP: suma, resta, multiplicación y más

    06:44 min
  • 7
    Estructuras de Control en PHP: If, Else, While, For, Switch

    Estructuras de Control en PHP: If, Else, While, For, Switch

    09:02 min
  • 8
    Funciones en PHP: Creación, Uso y Documentación

    Funciones en PHP: Creación, Uso y Documentación

    14:49 min
  • 9
    Funciones matemáticas en PHP: max, min, pi, rand y sqrt

    Funciones matemáticas en PHP: max, min, pi, rand y sqrt

    08:38 min
  • 10
    Interacción entre Formularios HTML y Scripts PHP

    Interacción entre Formularios HTML y Scripts PHP

    05:20 min
  • 11
    Ejercicios de Lógica con PHP: Edades y Dibujos en Consola

    Ejercicios de Lógica con PHP: Edades y Dibujos en Consola

    Viendo ahora

Microproyecto de lógica

  • 12
    Desarrollo de Aplicación para Ordenar Palabras Desordenadas

    Desarrollo de Aplicación para Ordenar Palabras Desordenadas

    03:35 min
  • 13
    Creación de Formularios y Validación de Datos en PHP

    Creación de Formularios y Validación de Datos en PHP

    16:13 min
  • 14
    Escalabilidad de Formularios Dinámicos en PHP

    Escalabilidad de Formularios Dinámicos en PHP

    06:49 min
  • 15
    Validación Dinámica de Datos en Formularios Web

    Validación Dinámica de Datos en Formularios Web

    11:33 min
  • 16
    Ejercicios de PHP: Descuentos y Orden de Productos

    Ejercicios de PHP: Descuentos y Orden de Productos

    00:51 min

Conclusiones

  • 17
    Buenas prácticas en desarrollo web: separación frontend y backend

    Buenas prácticas en desarrollo web: separación frontend y backend

    04:33 min
  • 18
    Resumen de Aprendizajes en PHP y Programación Lógica

    Resumen de Aprendizajes en PHP y Programación Lógica

    01:24 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      PHP es un lenguaje con el cual podrás llevar a cabo todo tipo de proyectos y además desarrollar una excelente lógica de programación de forma muy sencilla.

      Como siempre, la documentación será tu mejor amiga para encontrar cómo y por qué funciona cada parte del lenguaje para que tú te ocupes de desarrollar las mejores soluciones con código.

      Ahora te reto a resolver estos ejercicios donde pondrás en práctica los conocimientos más simples haciendo uso de tu lógica y por supuesto, de PHP.

      ¡No olvides poner tus soluciones en la sección de aportes!

      Con una condición…

      En una escuela están almacenando los juguetes favoritos de los estudiantes de acuerdo a su edad en un lugar específico de la bodega de esta forma:

      • Quienes sean menores de 5 años tendrán sus espacios en la parte inferior de la bodega.
      • Quienes tengan entre 5 y 7 años tendrán sus espacios en la parte media de la bodega.
      • Quienes tengan más de 7 años tendrán sus espacios en la parte alta de la bodega.
      • Quienes no tengan registro de su edad aún tendrán un espacio de almacenamiento en la bodega de al lado.

      Según una lista que contiene las edades de cada estudiante debes validar su edad y mostrar a través de un mensaje en dónde tendrán que almacenar sus juguetes.

      Por ejemplo:

      El estudiante con 4 años tendrá sus juguetes en la parte inferior de la bodega. El estudiante con 6 años tendrá sus juguetes en la parte media de la bodega. En estudiante con 10 años tendrá sus juguetes en la parte alta de la bodega.

      Medio árbol de Navidad

      Dibuja medio árbol de Navidad usando solo asteriscos como se indica en el siguiente ejemplo:

      * ** *** **** *****

      La altura de este árbol debe ser dinámica, si le dices que tendrá 10 de alto, entonces tendrá 10 asteriscos.

      Tip: Usa un ciclo para realizar esta actividad.

      ¡Nos vemos en la siguiente clase para empezar con nuestro proyecto!

      Comentarios

      Carlos José González Juan

      Carlos José González Juan

      student•
      hace 5 años
        Agustin Baigorria

        Agustin Baigorria

        student•
        hace 5 años
        Carlos José González Juan

        Carlos José González Juan

        student•
        hace 5 años
      Aldo Miguel Ortiz Parodi

      Aldo Miguel Ortiz Parodi

      student•
      hace 5 años
        Guadalupe Monge Barale

        Guadalupe Monge Barale

        student•
        hace 4 años
      Victor Daniel Alcibar Vigueras

      Victor Daniel Alcibar Vigueras

      student•
      hace 4 años
        Kenneth Angulo L

        Kenneth Angulo L

        student•
        hace 4 años
        Juan david

        Juan david

        student•
        hace 3 años
      José Fabián Beltrán Meza

      José Fabián Beltrán Meza

      student•
      hace 4 años
      David Olvera Baeza

      David Olvera Baeza

      student•
      hace 4 años
        Kenneth Angulo L

        Kenneth Angulo L

        student•
        hace 4 años
        Jhon Carlos Romo Ramirez

        Jhon Carlos Romo Ramirez

        student•
        hace 3 años
      RAMIRO GARCIA GONZALEZ

      RAMIRO GARCIA GONZALEZ

      student•
      hace 5 años
        Carlos José González Juan

        Carlos José González Juan

        student•
        hace 5 años
        Manuel Gerardo Flores Quiñonez

        Manuel Gerardo Flores Quiñonez

        student•
        hace 5 años
      JOSE ANTONIO ARANGO

      JOSE ANTONIO ARANGO

      student•
      hace 5 años
      JOSE ANTONIO ARANGO

      JOSE ANTONIO ARANGO

      student•
      hace 5 años
      Agustin Baigorria

      Agustin Baigorria

      student•
      hace 5 años
      Yerson Felipe Ramirez Garnica

      Yerson Felipe Ramirez Garnica

      student•
      hace 4 años
        Jesus Gil Berdugo

        Jesus Gil Berdugo

        student•
        hace 4 años
      rafael malanco velazquez

      rafael malanco velazquez

      student•
      hace 3 años
      David Leonardo Romero Mesa

      David Leonardo Romero Mesa

      student•
      hace 3 años
      Iván Hernández Contreras

      Iván Hernández Contreras

      student•
      hace 5 años
      Danny Pacheco

      Danny Pacheco

      student•
      hace 4 años
        Luis Antonio Rosales Ochoa

        Luis Antonio Rosales Ochoa

        student•
        hace 4 años
      Wilman Perilla

      Wilman Perilla

      student•
      hace 2 años
      Samuel J. García

      Samuel J. García

      student•
      hace 3 años
      Axel Closas Agüero

      Axel Closas Agüero

      student•
      hace 3 años
      Samuel J. García

      Samuel J. García

      student•
      hace 3 años
      William Hernán

      William Hernán

      student•
      hace 3 años
      Andrés Felipe García Henao

      Andrés Felipe García Henao

      student•
      hace 3 años
      2021-10-09_08h41_26.png

      Mira vos el str_repeat no lo conocia, podria haberme ahorrado 15 minutos jaja.

      Bueno, ya aprendimos algo.. jajajajajaj

      10. ¡Ponte a prueba!

      Quise ponerme un poco más a prueba, y lograr un árbol completo, me costó y tuve que hacer varios bucles pero me salió al fin :).

      (Todo feedback es bien recibido :))

      Así se ve:

      arbol.png

      Aquí comparto el código .php:

      <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Retos</title> </head> <body> <div class="challenge-box"> <form action="index.php" method="post"> <label for="">Ingresar edad:</label><br> <input type="number" name="age" id=""> <button type="submit">Validar</button> </form> <?php function ageValidation($age) { if($age < 5) { return "la parte inferior de la bodega."; } else if ($age >= 5 && $age <= 7) { return "la parte media de la bodega."; } else if ($age > 7){ return "la parte alta de la bodega."; } else { return "la bodega de al lado."; } } $studentAge = $_POST["age"]; echo "El estudiante con $studentAge años, tendrá sus juguetes en " . ageValidation($studentAge); ?> </div> <div class="challenge-box" style="margin-top: 20px;"> <form action="index.php" method="post"> <label for="">Ingresar tamaño deseado del árbol de navidad:</label><br> <input type="number" name="treeSize" id=""> <button type="submit">Generar árbol</button> </form> <?php function treeGenerator($treeSize) { $blankSpaces = $treeSize; $asterisks = 1; for($i = 0; $i<$treeSize; $i++){ for($j = 0; $j< ($blankSpaces - 1); $j++) { echo '&nbsp'; } for($k = 0; $k<$asterisks; $k++){ echo "*"; } echo "<br>"; $asterisks++; $blankSpaces--; } } $treeSize = $_POST["treeSize"]; echo "Árbol generado de tamaño: $treeSize<br><br>"; treeGenerator($treeSize); ?> </div> </body> </html>

      Buenísimo te quedó. Yo use el str_repeat para el arbolito

      Seguí jugando e hice una versión de arbolito "cute". Cabe mencionar que por el tamaño de los iconos, la lógica del medio árbol se acopló, adicionando los espacios en blanco.

      arbolitoCute.JPG

      Acá el código:

      <?php function arbolEnteroIcons(int $longitud):void { $espaciosEnBlanco = $longitud; echo str_repeat(" ", $espaciosEnBlanco) . "⭐ \n"; # Hojas for ($i=1; $i <= $longitud; $i++) { echo str_repeat(" ", $espaciosEnBlanco); echo str_repeat("🌳", $i) . "\n"; $espaciosEnBlanco--; } # Base del árbol echo str_repeat(" ", ceil($longitud/2)); echo str_repeat("💼", floor($longitud/2 + 1)); } echo "¿De qué longitud quieres el arbolito? "; fscanf(STDIN, "%d", $longitud); //input por consola echo arbolEnteroIcons($longitud);

      Esta genial !! 😮

      wow 😮

      Hola a Todos les comparto 3 formas distintas para imprimir el arbolito, con el agregado que el usuario puede elegir el número de hojas.

      Arbolito1.jpg

      Orientado a Objetos :D

      • Reto: Con una condición:

        Bodega.png

      • Reto: Medio Árbol de Navidad:

        Arbol.png

      Muy elegante companero !!

      Muchas gracias por el aporte!

      ejercicio 1 bodega

      <?php $edades = [ 4, 5, 7, 10, 'undefined age' ]; function espacios_correspondientes_en_la_bodega (array $edades) { for ($i = 0; $i < count($edades); $i++) { if(is_int($edades[$i])) { if ($edades[$i] < 5) { echo "<br>guarde sus juguetes en la parte inferior de la bodega.<br>"; } elseif ($edades[$i] >= 5 && $edades[$i] <= 7) { echo "<br>guarde sus juguetes en la parte media de la bodega.<br>"; } else { echo "<br>guarde sus juguetes en la parte alta de la bodega.<br>"; } } else { echo "<br>guarde sus juguetes en la bodega de al lado.<br>"; } } } espacios_correspondientes_en_la_bodega ($edades);

      ejercicio 2 medio pino

      <?php function imprime_medio_pino (int $altura) { $char = ''; for ($i = 0; $i <= $altura; $i++) { $char .= '*'; echo $char."<br>"; } } imprime_medio_pino (5);

      Si cambias <br> por . "\n" en la consola sale de arriba a abajo y no te sale el br. 😉

      Tambien en tu funcion del pino, la altura la inicializas mal, porque si pones de alto 5, te lo hace de 6, porque la variable en el for la estas inicializando desde 0, entonces el sistema hace lo siguiente (0,1,2,3,4,5), si queres que se haga de la altura real como se la pasas, inicializa la variable en 1, asi te saldra de la altura que solicitas

      ejercicio1.jpg
      ejercicio2.jpg

      ejercicio 1 :

      $edades = array(3,4,7,7,6,'undefined age'); foreach($edades as $edad) { switch($edad) { case $edad>0&&$edad<5: echo"al ser menor de 5 años van a la parte inferior de la bodega \n"; break; case $edad>=5&&$edad<=7: echo "al tener entre 5 y 7 años sus juguetes se almacenan en la parte media de la bodega \n"; break; case $edad>7&&$edad<100: echo "al ser mayor de 7 años sus juguetes se almacenan en la parte superior de la bodega \n"; break; default: echo "Al no tener registrada su edad sus juguetes se guardaran en el almacen de al lado \n"; break; } }

      ejercicio 2:

      $asterisc = "*"; $countAsterisc = 10; $a = "*"; for($i=0 ;$i < ($countAsterisc/2); $i++) { echo "$a \n"; $a .= $asterisc; }

      EJERCICIO2

      <?php function arbolNavidad($pisos){ for ($i=0; $i <$pisos; $i++) { echo str_repeat("*", $i) ."\n"; } } arbolNavidad(15) ?>

      str_repeat("*", $i+1)

      reto8.png
      reto9.png
      Captura.PNG
      // Ejercicio 1 $arr_edades = array(1, 5, 7, 2, 6, 10, 'undefined'); function ejercicio1($array_edades) { foreach ($array_edades as $edad) { switch ($edad) { case $edad > 0 && $edad < 5: concatPhrase($edad, "inferior"); break; case $edad >= 5 && $edad < 7: concatPhrase($edad, "media"); break; case $edad >= 7: concatPhrase($edad, "alta"); break; default: echo "Tiene un almacenamiento en la bodega de al lado." . PHP_EOL; break; } } } function concatPhrase($edad, $parte) { echo "El estudiante con $edad años tendrá sus juguetes en la parte $parte de la bodega." . PHP_EOL; } ejercicio1($arr_edades);
      // Ejercicio 2 function ejercicio2($num) { $treeLevel = ''; $asterisk = '*'; for ($i = 0; $i < ($num / 2); $i++) { $treeLevel .= $asterisk; echo $treeLevel . PHP_EOL; } } ejercicio2(10);

      Para el primer ejercicio realicé de esta forma;

      <?php //funcion para llenar un arreglo de edades mediante //el numero de estudiantes ingresado function llenarEdades($num){ for($i=0;$i<$num;$i++){ $edad=rand(0,10); while($edad>0 && $edad<=7){ $edad=rand(0,10); } $edades[$i]=$edad; } return $edades;//devuelvo el arreglo de edades } function mensaje($ed){ //tomé a cero como si un estudiante no proporciona su nombre if($ed<5 && $ed>0){ echo "El estudiante con $ed años tendrá sus juguetes en la parte inferior de la bodega.<br>"; }else if($ed>=5 && $ed<=7){ echo "El estudiante con $ed años tendrá sus juguetes en la parte media de la bodega.<br>"; }else if($ed>7){ echo "El estudiante con $ed años tendrá sus juguetes en la parte alta de la bodega.<br>"; }else if ($ed==0){ echo "El estudiante con $ed años tendrá sus juguetes en la bodega de a lado.<br>"; } } //main $numNinios=rand(0,5);//genero aleatorio una cantidad de chicos $edarr=llenarEdades($numNinios);//lleno el vector de edades print_r($edarr);//muestra las edades ingresadas foreach($edarr as $value){//con un foreach despliego el mensaje para cada uno de los chicos mensaje($value); }
      Para mi segundo ejercicio
      <?php $altitudF=rand(2,10);// genero numero de filas aleatorias entre 2 y 10 print_r($altitudF);//visualiza el numero generado for($i=0;$i<$altitudF;$i++){//este for recorre las filas for($j=0;$j<$i;$j++){ //este for imprime el numero de asteriscos dependiendo de la fila en la que se encuentre echo '*'; } echo '<br>';//hago salto de linea para cada fila, en ese caso se muestra info en HTML } ```

      Wow amigo, como puedes hacer algo tan sencillo algo tan complejo...

      saludos tu pensamiento logico es grande.

      <?php $edad = 8; if($edad>=0){ if($edad==0){ echo "EL estudiante con" ."\n".$edad."\n años tenrá sus juguetes en la bodega de al lado"; } if($edad >0 &&$edad <5){ echo "EL estudiante con" ."\n".$edad."\n años tenrá sus juguetes en la parte inferior de la bodega"; } if($edad>=5 && $edad<=7){ echo "EL estudiante con" ."\n".$edad."\n años tenrá sus juguetes en la parte media de la bodega"; } if($edad>7){ echo "EL estudiante con" ."\n".$edad."\n años tenrá sus juguetes en la parte alta de la bodega"; } } else{ echo "le edad no puede ser negativa"; } ?>

      ++EJERCICIO DEL ARBOL++

      <?php $altura = (int) readline("Introduce el número de pisos que debe tener tu arbol: "); if ($altura > 0) { for ($i=0; $i <= $altura ; $i++) { echo str_repeat("*",$i) . "\n"; } } else { echo "Has elegido no dibujar ningún arbol.\n"; }

      Buenas noches, adjunto la resolución de los ejercicios...

      <?php $edades = [3, 5, 7, 1, 2, 8, NULL, 4, 2, 9, 12]; function dondeGuardan($edades) { $lugar = ""; foreach ($edades as $edad) { if ($edad === NULL) { $mensaje = "Aunque no tengas registro de edad, aún tienes un espacio en la bodega de al lado."; echo $mensaje . "\n"; continue; } if ($edad < 5) { $lugar = "inferior"; } if ($edad >= 5 && $edad <= 7) { $lugar = "media"; } if ($edad > 7) { $lugar = "alta"; } $mensaje = "El estudiante con $edad años tendrá sus juguetes en la parte $lugar de la bodega."; echo $mensaje . "\n"; } } dondeGuardan($edades); echo "\n\n------- LINEA DIVISORIA DE EJERCICIOS -------\n\n"; function medioArbolito(int $altura) { $arbolito = ""; echo "Altura ingresada: $altura\n\n"; for ($i = 0; $i < $altura; $i++) { if($i == 0) { $arbolito .= "*"; } else { $arbolito .= "\n"; $arbolito .= str_repeat("*", $i+1); } } return $arbolito; } echo medioArbolito(10); echo "\n"; ?>

      ++PROBLEMA DE LA ESCUELA++

      <?php function ubica($posicion, $array, $iteracion) { echo "El estudiante con $iteracion años, tendrá sus juguetes en la $array[$posicion]\n"; } $ubicaciones = ["parte inferior de la bodega.", "parte media de la bodega.", "parte alta de la bodega.", "bodega de al lado."]; $edades = [3, 6, 5, 12, 8]; foreach ($edades as $edad) { if ($edad < 5) { ubica(0,$ubicaciones, $edad); } elseif ($edad >= 5 || $edad <= 7){ ubica(1,$ubicaciones,$edad); } elseif ($edad > 7) { ubica(2,$ubicaciones,$edad); } }

      function asignardeposito($edad){

      switch($edad){ case ($edad<5): echo "le corresponde la parte inferior de la bodega ya que cuenta con $edad de edad."; break; case ($edad>=5 && $edad<7): echo "le corresponde la parte media de la bodega ya que cuenta con $edad de edad."; break; case ($edad>=7): echo "le corresponde la parte alta de la bodega ya que cuenta con $edad de edad."; break; default: echo "le corresponde la bodega de al lado ya que no cuenta con edad."; break; }

      } asignardeposito(0); ?>

      $arbol = 5; for ($i=1; $i <=$arbol ; $i++) { for ($j=1; $j <= $i ; $j++) { echo "*"; } echo "\n"; }