Los valores introducidos por el usuario se deben comprobar y, si los valores no son correctos, se debe indicar el motivo al usuario.
Tenga en cuenta que un usuario puede acceder al programa php directamente enviando los datos que desee (por ejemplo, datos más largos que la longitud permitida en el formulario)
Repaso (2) 1 - Convertidor de divisas
Escriba un convertidor de divisas que conste de dos páginas.
En la primera página se solicita la cantidad y las divisas.
En la segunda página se muestra el resultado.
Ayuda
La cotización es fija. En el ejemplo se han utilizado las siguientes cotizaciones:
1 euro = 1,31481 dólares USA
1 euro = 0,89807 libras esterlinas
1 euro = 132,113 yenes
1 euro = 166,386 pesetas
Para obtener el resultado sin tener que plantear todas las combinaciones posibles de monedas, se puede realizar el cálculo en dos pasos:
convertir primero la cantidad inicial a euros
convertir después los euros a la moneda final
Repaso (2) 2 - Convertidor de bytes para números grandes
Escriba un convertidor de bytes a kilobytes, megabytes y gigabytes que conste de dos páginas.
En la primera página, se solicita el número de bytes. El valor máximo admitido por el convertidor será 100.000.000.000.000 (que supera el valor máximo permitido en enteros).
En la segunda página se muestra el resultado en kilobytes, megabytes y gigabytes (mostrando únicamente las unidades necesarias)
Para formatear el resultado (con separador de miles y de parte entera y decimal), se puede utilizar la función number_format().
Ejemplos de resultados (en el ejercicio Repaso 1 hay más ejemplos):
1.100.586.419.200 bytes son 1 TB, 1 GB, 1 MB y 1 KB.
12.345.678.910 bytes son 11 GB, 509 MB, 775 KB y 62 bytes.
2.147.483.649 bytes son 2 GB y 1 byte.
2.147.483.648 bytes son 2 GB.
2.147.483.647 bytes son 1 GB, 1.023 MB, 1.023 KB y 1.023 bytes
Repaso (2) 3 - Ley de Ohm
Escriba un programa que admita tres valores numéricos que corresponden a la tensión, intensidad y resistencia de un circuito eléctrico formado por una resistencia y una pila y que compruebe si los valores son correctos o no, o que calcule si es posible el valor faltante. La ley de Ohm relaciona la tensión (V), intensidad (I) y resistencia (R) del circuito: V = R * I
El programa tendrá dos páginas:
La primera pide los valores:
Se deben rellenar al menos dos o tres datos.
Los datos deben ser números (enteros o decimales):
tensión: puede ser positiva o negativa
intensidad: puede ser positiva o negativa
resistencia: debe ser positiva
La segunda escribe la respuesta
Si se rellenan tres datos, el programa debe indicar si los valores son correctos o no (si cumplen la ley de Ohm)
Si se rellenan dos datos, el programa debe indicar si se puede calcular el tercer valor o no y calcularlo en su caso:
tensión e intensidad no pueden tener signos distintos
si la tensión es cero, la resistencia o la intensidad deben ser nulas
si la tensión no es cero, la resistencia o la intensidad no pueden ser nulas
al calcular el tercer valor, no es necesario redondear el resultado
Repaso (2) 4 - Test RGB 2
Escriba un programa que muestre un test sobre colores en formato RGB.
El programa tendrá una única página:
La página muestra cuatro cuadros de colores con colores definidos al azar.
Los colores se definen en formato RGB, es decir, tres valores enteros entre 0 y 255
rgb($rojo $verde $azul)
Para elegir el color por el que se pregunta, se puede obtener al azar un número de 1 a 4 e insertar en la pregunta el color del cuadro con ese número.
Cada cuadro de color está insertado en un botón que envía el número del 1 al 4 correspondiente.
Este ejercicio se puede hacer almacenando los colores elegidos y la respuesta correcta en variables de sesión o incluyéndolas en la página en controles ocultos. El programa de ejemplo emplea variables de sesión, no controles ocultos (para que el usuario no pueda hacer trampas mirando el código fuente).
Al hacer clic en uno de los cuadros, la página indica si se ha acertado el color (y entonces muestra un nuevo test) o no (y repite el test).
Si se recibe un dato que no es 1, 2, 3 o 4, el programa no muestra ninguna respuesta, simplemente muestra un nuevo test.