Durante esta práctica, los alumnos serán capaces de:
Esta actividad promueve las siguientes habilidades, valores y actitudes: análisis y síntesis, capacidad de resolver problemas, creatividad, y uso eficiente de la informática y las telecomunicaciones.
NOTA IMPORTANTE: Las actividades de la práctica se pueden elaborar de manera individual o en parejas. El reporte de la práctica de laboratotio debe ser desarrollado de manera individual.
Antes de comenzar esta práctica, renombra tu directorio www
utilizado en la práctica pasada y durante las clases. Desde la línea de comando teclea:
mv www www.old
Vuelve a crear otra vez el directorio www
, y sus subdirectorios static
y cgi-bin
.
mkdir www cd www mkdir static mkdir cgi-bin
Con esto estarás iniciando esta práctica con un sitio Web vacío, pero sin necesidad de modificar los archivos de configuración de Apache.
Este problema fue adaptado de LC-Display.
Tu amiga Lulú acaba de comprar una nueva computadora. Anteriormente, el equipo más poderoso que había utilizado era una "calculadora maizoro". Lulú está un tanto decepcionada debido a que le gustaba mucho más la pantalla de cristal líquido (LCD por sus siglas en inglés) de su antigua calculadora que la pantalla de su nueva computadora. Para hacerla feliz, has decidido escribir un script para Web en Python que imprima números al estilo LCD.
Inicialmente debes presentar una página estática de HTML5, llamada index.html
, que contenga un formulario con dos campos: un número n y un tamaño t. Al presionar el correspondiente botón de submit se debe invocar un script CGI escrito en Python que valide que tanto n y t sean valores numéricos y estén en los siguientes rangos: 0 ≤ n ≤ 999,999,999; 1 ≤ t ≤ 9. La respuesta en el browser debe ser un mensaje descriptivo de error si alguna validación falló, o el valor de n desplegado al estilo LCD usando t símbolos "—
" para los segmentos horizontales y t símbolos "|
" para los verticales. Cada dígito debe ocupar exactamente t + 2 columnas y 2t + 3 renglones. Debe haber exactamente una columna de espacios en blanco como seperador entre dígitos. Los ejemplos muestran la forma que debe tener cada dígito. Usa las etiquetas <pre>
y </pre>
de HTML para que el texto que produzcas quede correctamente formateado.
Verifica que la página index.html
, así como la salida del script CGI, sean HTML válido utilizando el
Servicio de Validación de W3C.
Para n=12345 y t=2, la salida debe ser:
-- -- -- | | | | | | | | | | | | -- -- -- -- | | | | | | | | | | -- -- --
Para n=67890 y t=3, la salida debe ser:
--- --- --- --- --- | | | | | | | | | | | | | | | | | | | | | | | | --- --- --- | | | | | | | | | | | | | | | | | | | | | | | | --- --- --- ---
Para entregar tu trabajo individual, sigue las siguientes instrucciones:
reporte_lab2_A0MMMMMMM.txt
, en donde A0MMMMMMM
corresponde a tu matrícula. A partir del código fuente de AsciiDoc debes generar el archivo HTML correspondiente. Dicho archivo se debe llamar reporte_lab2_A0MMMMMMM.html
. Coloca ambos archivos dentro del directorio www
.
www
. Nombra a este archivo lcd.tgz
.
Este archivo se puede crear desde la línea de comando tecleando lo siguiente (asegúrate que te encuentres en el mismo nivel que el directorio www
):
tar czf lcd.tgz www
Fecha límite: Martes, Agosto 30.
Esta actividad será evaluada usando los siguientes criterios:
50% | Implementación de los requerimientos. |
---|---|
50% | Reporte de la práctica de laboratorio. |
DA | El programa y/o reporte es un plagio. |