Los valores introducidos por el usuario se deben comprobar y, si los valores no son correctos, se debe indicar el motivo al usuario, o dar un valor predeterminado.
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 (1) 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 la divisa.
En la segunda página se muestra el resultado.
Nota: 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
Repaso (1) 2 - Convertidor de bytes
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á 2.000.000.000 (para no superar 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)
Ayuda
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:
1234567890 bytes son 1 GB, 153 MB, 384 KB y 722 bytes.
1074791424 bytes son 1 GB, 1 MB y 1 KB.
10241024 bytes son 9 MB y 785 KB.
10240 bytes son 10 KB.
10241 bytes son 10 KB y 1 byte.
10242 bytes son 10 KB y 2 bytes.
1 byte es 1 byte.
0 bytes son 0 bytes.
Repaso (1) 3 - Calculadora de la letra del DNI
Escriba una calculadora de la letra del DNI mediante dos páginas.
En la primera página se solicita el número del DNI.
En la segunda página se muestra la letra correspondiente. Recuerde que la letra se obtiene calculando el resto de la división del número del DNI por 23. A cada resultado le corresponde una letra: 0=T; 1=R; 2=W; 3=A; 4=G; 5=M; 6=Y; 7=F; 8=P; 9=D; 10=X; 11=B; 12=N; 13=J; 14=Z; 15=S; 16=Q; 17=V; 18=H; 19=L; 20=C; 21=K; 22=E.
Ayuda
Para mostrar la letra, se puede definir una cadena y mostrar el carácter deseado accediendo como si fuera una matriz:
<?php
$letrasDNI = "TRWAGMYFPDXBNJZSQVHLCKE";
print "<p>Si el resto es 5, la letra es la $letrasDNI[5]</p>\n"; ?>
<p>Si el resto es 5, la letra es la M</p>
Repaso (1) 4 - Ecuación de segundo grado
Escriba un programa que admita tres valores numéricos que corresponden a los tres coeficientes de una ecuación de segundo grado y que muestre las soluciones de la ecuación.
El programa tendrá dos páginas:
La primera pide los valores.
La segunda escribe la respuesta
Ayuda
Se deben rellenar todos los campos con valores numéricos.
Ejemplos de ecuaciones y sus soluciones:
0 x2 + 0 x + 0 = 0: infinitas soluciones
0 x2 + 0 x + 5 = 0: ninguna solución
0 x2 + 10 x + 5 = 0: una solución -0.5
La solución de la ecuación de segundo grado depende del signo de b2-4ac:
si b2-4ac es negativo no hay soluciones
si es nulo, hay sólo una solución -b/2a
si es positivo, hay dos soluciones: (-b + sqrt(b2 - 4 * a * c)) / (2 * a) y (-b - sqrt(b2 - 4 * a * c)) / (2 * a)
Opcional: En el ejemplo, al escribir la ecuación, la página de respuesta no escribe los términos de coeficiente nulo (y cuando a o b valgan 1 o -1 no escribe el 1) ni empieza la ecuación por un signo +.
Repaso (1) 5 - Contador de días
Escriba un contador de días que conste de tres páginas.
En la primera página, se solicita cuántas semanas se van a mostrar en la segunda página.
En la segunda página se muestra una tabla con tantas filas (semanas) como haya indicado el usuario.
En la tercera y última página se indica cuántas casillas se han marcado en total y en cada semana.
Ayuda
No es necesario comprobar los valores recibidos en la tercera página.
Repaso (1) 6 - Grises (ejercicio de examen 2014/15)
En este ejercicio se debe crear un programa que muestre un cuadrado de color gris, cuya intensidad se pueda modificar con dos controles.
El programa tendrá una página:
Inicialmente se muestra un color gris intermedio (rgb(127 127 127)).
Al hacer clic en el +, el gris se va oscureciendo de 10 en 10 (por ejemplo, de rgb(90 90 90) hasta el negro (rgb(0 0 0)):
Al hacer clic en el -, el gris se va aclarando de 1 en 1 (en el ejemplo, rgb(200 200 200)) hasta el blanco (rgb(255 255 255)):
El valor del gris no puede hacerse negativo ni superior a 255.
Repaso (1) 7 - Test RGB
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 la respuesta correcta en una variable de sesión o incluyéndola en la página en un control oculto. El programa de ejemplo emplea una variable de sesión, no en un control oculto (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 o no y muestra un nuevo 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.