Estás en:   ArielOrtiz.com > Desarrollo de aplicaciones distribuidas > Laboratorio 2: CGI LCD

Laboratorio 2: CGI LCD

Objetivos

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.

Descripción de la actividad

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.

Instrucciones preliminares

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.

Problema

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.

Primer ejemplo:

Para n=12345 y t=2, la salida debe ser:

      --   --        --  
   |    |    | |  | |    
   |    |    | |  | |    
      --   --   --   --  
   | |       |    |    | 
   | |       |    |    | 
      --   --        --

Segundo ejemplo:

Para n=67890 y t=3, la salida debe ser:

 ---   ---   ---   ---   ---  
|         | |   | |   | |   | 
|         | |   | |   | |   | 
|         | |   | |   | |   | 
 ---         ---   ---        
|   |     | |   |     | |   | 
|   |     | |   |     | |   | 
|   |     | |   |     | |   | 
 ---         ---   ---   ---

¿Qué se debe entregar?

Para entregar tu trabajo individual, sigue las siguientes instrucciones:

Fecha límite: Martes, Agosto 30.

Evaluación

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.
© 1996-2011 por Ariel Ortiz Ramírez (ariel.ortiz@itesm.mx)
Desarrollado en Django | Licencia de Creative Commons | HTML5 válido | CSS válido