Soluciones del primer boletín ejercicios php nivel principiante

Soluciones paso a paso de los ejercicios del boletín 1 de ejercicios php sobre condicionales, variables y operaciones aritméticas.

Tag PHP Programacion web ejercicios resueltos

Soluciones al primer boletín de ejercicios php, en concreto los de nivel principiante. Las soluciones son explicaciones paso a paso del algoritmo programado que implementa la solución.

Ejercicios de condicionales para principiantes

Soluciones del ejercicio 1 condicionales php.

En una web que simula una calculadora, un usuario puede introducir dos números y la web le dirá cual de los es mayor. El planteamiento es el siguiente:

  1. El primer número estará en una variable llamada $a.
  2. El segundo número viene almancenado en la variable $b.
  3. Ayundandonos de la estructura de control IF y ELSE, debemos mostrar por pantalla el número mayor de los dos, con un mensaje que diga: El mayor de los números es X.

Partimos del problema de que tenemos dos variables $a y $b, cada variable contiene un número que para nosotros es una incógnita, y debo mostrar solo el mayor de ambos. Para resolver este ejercicio debemos plantearnos todas las hipótesis, es decir, o bien $a es mayor que $b, o bien $b es mayor que $a. El primer supuesto lo voy a comprobar con un if, que es la estructura que me permite realizar la comparación entre los números:

<?php
if ( $a > $b ){
}
?>

Gracias a este IF me he asegurado que la máquina (el intérprete de código) solo entrará entre las 2 llaves si $a es mayor que $b, entonces ahora le voy a decir al intérprete que muestre el mensaje que me pide el ejercicio.

<?php
if ( $a > $b ){
    echo 'El mayor de los números es ' . $a;
}
?>

Ya tengo mi primera hipótesis resuelta. Para el segundo caso podría hacer lo mismo: programar otro if con la condicion $b > $a, pero como en este problema solo tengo dos casos posibles, voy a beneficiarme del uso de la sentencia ELSE, que siempre va unida a un IF, y que le indica a la máquina que se ejecutará su código contenido entre llaves si la condición del IF no se cumple. La solución quedaría así:

<?php
if ( $a > $b ){
    echo 'El mayor de los números es ' . $a;
} else {
    echo 'El mayor de los números es ' . $b;
}
?>

Soluciones de ejercicio 2 de condicionales php

Debemos diseñar y programar un algoritmo que, para la introducción de un peso de un vehículo, diga si está permitido o no dependiendo de un segundo valor $pesoPermitido. El planteamiento por partes es:

  1. La variable $pesoVehiculo tiene el peso del vehiculo a comprobar.
  2. La variable $pesoPermitido contiene el peso máximo permitido para el vehículo en cuestión.
  3. Si el peso del vehículo está por debajo del peso máximo permitido deberemos mostrar un mensaje indicándolo. En caso contrario también habrá que notificar: El peso máximo del vehículo es: X (Siendo X el peso máximo permitido).

Sabiendo que en la variable $pesoVehiculo recibo el peso del vehículo a comprobar, y que en otra variable $pesoPermitido tengo el valor del peso permitido, estoy ante un ejercicio con dos casos posibles: o bien el peso es mayor que el permitido, o bien es inferior.

Una solución de este ejercicio utilizando las dos posibles condiciones sería:

<?php
if ( $pesoVehiculo > $pesoPermitido ) {
   echo 'El peso máximo del vehículo es: ' . $pesoPermitido;
}
if ( $pesoVehiculo < $pesoPermitido ) {
   echo 'El peso del vehículo está por debajo del máximo.';
}
?>

Aunque esta solución es completamente válida y resuelve el problema a la perfección, he de mencionar que no es la más eficiente. Una solución más eficiente ya que estamos ante un problema con dos claras posibilidades sería aprovechar el uso de if y else. La solución propuesta sería:

<?php
if ( $pesoVehiculo > $pesoPermitido ) {
   echo 'El peso máximo del vehículo es: ' . $pesoPermitido;
} else {
   echo 'El peso del vehículo está por debajo del máximo.';
}
?>

Solución de ejercicio 3 de if y else en php

Se pide programar un algoritmo, que dado un texto introducido por el usuario, muestre por pantalla un mensaje. El texto introducido por el usuario será Hola o Adiós.
  1. El mensaje introducido estará almacenado en $mensaje.
  2. Si el usuario ha introducido Hola, deberemos mostrar por pantalla un mensaje que diga: Muy buenas, usuario
  3. Si por el contrario el mensaje es Adiós,  mostraremos un mensaje que diga: Hasta pronto.

Estamos ante otro problema con dos posibilidades. En este caso deberemos comparar el valor de $mensaje con una posible palabra introducida por el usuario, ambos textos. En php los textos se pueden comparar sin problemas al igual que los números, al menos como en este caso que no se nos habla de tener en cuenta mayúsculas o carácteres especiales. La solución con if y else sería:

<?php
if ( $mensaje == 'Hola' ) {
   echo 'Muy buenas, usuario';
} else {
   echo 'Hasta pronto';
}
?>

Solución de la Versión 2 del ejercicio 3. Hándicap:

El texto introducido en mensaje puede ser erróneo. El usuario suele confundirse de teclas y habrá que indicarle que no se reconoce el texto introducido.

La solución de esta versión del ejercicio, teniendo en cuenta una posible introducción erronea del mensaje, debería resolverse anidando if y else:

<?php
if ( $mensaje == 'Hola' ) {
   echo 'Muy buenas, usuario';
} else {
   if ( $mensaje == 'Adiós' ) {
      echo 'Hasta pronto';
   } else {
      echo 'No se  reconoce el textro introducido';
   }
}
?>

Soluciones posibles del ejercicio 4 sobre if y else 

Vamos a programar un pequeño script que valide el texto de enlaces. Si nos pasan un texto que diga "aquí" mostraremos un mensaje: ¡Cuidado, estás fastidiando un enlace a una página!. En el caso contrario imprimiremos: ¡Bien! Estás haciendo un favor al mundo del SEO.
  1. El texto introducido estará almacenado en una variable $enlace.
  2. Los mensajes debes mostrarlos dentro de cada caso posible, es decir, entre las llaves del IF o del ELSE.

Este ejercicio para principiantes, muy similar a los anteriores, lo podríamos resolver una vez más con el uso de if o combinando if y else:

Solución 1:

<?php
   if ( $enlace == 'aquí' ) {
      echo '¡Cuidado, estás fastidiando un enlace a una página!;
   }
   if ( $enlace != 'aquí' ) {
      echo '¡Bien! Estás haciendo un favor al mundo del SEO';
   }
?>

Como tan solo me han indicado que puedo recibir dos valores (o aquí o otro valor cualquiera), en el primer caso busco una coincidencia exacta y en el segundo cualquier valor diferente con !=.

Solución 2:

Otra solución beneficiandonos del uso de if y else, más eficiente y rápida de programar:

<?php
   if ( $enlace == 'aquí' ) {
      echo '¡Cuidado, estás fastidiando un enlace a una página!;
   } else {
      echo '¡Bien! Estás haciendo un favor al mundo del SEO';
   }
?>

Solución para la versión 2 del ejercicio 4. Hándicap:

Los mensajes debes almacenarlos en una variable en vez de mostrarlos directamente por pantalla, es decir, asignar el mensaje que toque a una variable (por ejemplo $mensaje) y cuando las comprobaciones terminen (if y else) mostrarlo por pantalla de forma normal (por ejemplo con echo).

Este ejercicio intenta afianzar el uso de variables para mejorar nuestra programación, acostumbrarse a asignar valores a variables para producir una única salida es común y logra un código más organizado. La solución quedaría así:

<?php
   if ( $enlace == 'aquí' ) {
      $mensaje =  '¡Cuidado, estás fastidiando un enlace a una página!;
   } else {
      $mensaje = '¡Bien! Estás haciendo un favor al mundo del SEO';
   }
   echo $mensaje;
?>

Extra: Teoría usada para resolver estos ejercicios para principiantes

Sobre el autor

Javier Gómez Redactor en Srcodigofuente.es

Javier Gómez

Ingeniero técnico en informática de gestión. Desarrollador web freelance y profesor de desarrollo web a partes iguales. Testarudo autodidacta, creativo, perfeccionista y alma libre.

Cargando comentarios

Utilizamos "cookies" para información estadística. Si continúas navegando aceptas su uso.