Autor Tema: PHP condicionales if else if, Condicional ternario con interrogante CU00817B  (Leído 3032 veces)

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Hola a todos los usuarios de aprenderaprogramar.com. Aquí expongo una posible solución del ejercicio CU00817B del curso PHP desde cero.

Citar
EJERCICIO 1

Ejecuta este código y responde:

Código: [Seleccionar]
<?php

$haceFrio 
15;

$respuesta ="";

$temperatura = ($haceFrio<20) ? $respuesta "Hace frio" $respuesta "No hace frio";

echo 
$respuesta;
?>

Citar
a) ¿Qué resultado se obtiene por pantalla?

Por pantalla se obtiene: "Hace frío" debido a que el valor de la variable "Hace frío" es menor que 20.

Citar
b) Modifica el código sustituyendo el operador ternario por if else para que el resultado obtenido sea el mismo.

Código: [Seleccionar]
<?php 
$haceFrio 15;
$respuesta '';
$temperatura $respuesta;

if($haceFrio 20){
$respuesta 'Hace frío';
}else{
$respuesta 'No hace frío';
}

echo $temperatura;
?>

Aquí me surge una duda. En el código original se "imprime" por pantalla la variable "respuesta" pero si tenemos una asignación del tipo: "$temperatura = ($haceFrio < 20)? $respuesta = 'Hace frío' : $respuesta = 'No hace frío';" no es más lógico imprimir la variable "temperatura"? Por eso, en el código modificado he impreso la variable "temperatura".

Y otra cuestión: he hecho bien la asignación antes de la condición? O mejor lo tenía que haber hecho después? Es decir, que el código se quede así:

Código: [Seleccionar]
<?php 
$haceFrio 15;
$respuesta '';


if($haceFrio 20){
$respuesta 'Hace frío';
}else{
$respuesta 'No hace frío';
}

$temperatura $respuesta;
echo $temperatura;
?>

O eso es sin relevancia?

Gracias.
« Última modificación: 06 de Mayo 2016, 09:07 por César Krall »

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Re:CU00817B if else if en PHP
« Respuesta #1 en: 04 de Mayo 2016, 19:06 »
Perdón, se me olvidó el segundo ejercicio. Aquí os lo dejo:

Citar
EJERCICIO 2

Define las variables $tipo, $grosor, $diametro y $marca. Establece que el tipo sea “Rueda de camión”, el grosor 0.33, el diámetro 1.25 y la marca “Kimashuki”. Crea el código PHP donde a través de condicionales if realices la siguiente comprobación: si el diámetro es superior a 1.4 debe mostrarse por pantalla el mensaje “La rueda es para un vehículo grande”. Si es menor o igual a 1.4 debe mostrarse por pantalla el mensaje “La rueda es para un vehículo pequeño”. En otro caso, debe mostrarse “No existe un tamaño de rueda válido”.

Código: [Seleccionar]
<?php 
$tipo 'Rueda de camión';
$grosor 0.33;
$diametro 1.25;
$marca 'Kimashuki';

if($diametro 1.4){
echo "La rueda es para un vehículo grande.";
}else if($diametro <= 1.4){
echo "La rueda es para un vehículo pequeño.";
}else{
echo "No existe un tamaño de rueda válido.";
}
?>

Gracias

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:CU00817B if else if en PHP
« Respuesta #2 en: 05 de Mayo 2016, 15:47 »
Buenas dimiste.

En cuanto a tu primer comentario sobre el código expuesto en el ejercicio 1, en realidad daría igual mostrar el contenido de $temperatura o $respuesta, puesto que las dos valdrían lo mismo.
En la solución que propones sobre el primer ejercicio, de la manera que lo solucionaste, $temperatura siempre valdrá "", puesto que cuando haces '$temperatura = $respuesta;', $respuesta tiene valor "". El segundo código si mostraría como valor de $temperatura, 'Hace Frío'.

El segundo ejercicio todo OK.

Saludos. ;D

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Re:CU00817B. if else if, Condicional ternario en PHP
« Respuesta #3 en: 05 de Mayo 2016, 16:38 »
Totalmente de acuerdo, Pedro.

Modificado el código quedará así:

Código: [Seleccionar]
<?php 
$haceFrio 15;
$respuesta '';


if($haceFrio 20){
$respuesta 'Hace frío';
}else{
$respuesta 'No hace frío';
}
$temperatura $respuesta;
echo $temperatura;
?>

A la variable "$temperatura" se le tiene que asignar el valor de la variable "$respuesta" después de haber toma la misma un valor diferente a "".

Gracias, Pedro, por la corrección y el tiempo dedicado.

Saludos :)

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".