Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Dimitar Stefanov en 04 de Mayo 2016, 18:59
-
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
-
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
-
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 :)