Hola a todos los usuarios de aprenderaprogramar.com. Aquí expongo una posible solución del ejercicio CU00817B del curso PHP desde cero.
EJERCICIO 1
Ejecuta este código y responde:
<?php$haceFrio = 15;$respuesta ="";$temperatura = ($haceFrio<20) ? $respuesta = "Hace frio" : $respuesta = "No hace frio";echo $respuesta;?>
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.
b) Modifica el código sustituyendo el operador ternario por if else para que el resultado obtenido sea el mismo.
<?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í:
<?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.
Perdón, se me olvidó el segundo ejercicio. Aquí os lo dejo:
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”.
<?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
Totalmente de acuerdo, Pedro.
Modificado el código quedará así:
<?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 :)