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.
Esta práctica puede ser elaborada de manera individual o en parejas.
Asume que se tiene la siguiente página Web, llamada
convertidor.html
, la cual contiene un formulario:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <meta http-equiv="content-language" content="es" /> <title>Convertidor de Expresiones</title> </head> <body> <h1>Convertidor de Expresiones</h1> <form action="/cgi-bin/convertidor.py"> <p> <input type="text" name="expresion" /> <input type="submit" value="Continuar" /> <input type="reset" value="Limpiar" /> </p> </form> </body> </html>
Escribe en Python un script CGI llamado convertidor.py
que
reciba su entrada del campo expresion
del formulario
anterior. Dicha entrada representa una expresión posfija conformada por
las letras A
a la Z
(mayúsculas o minúsculas),
los símbolos +
, -
, *
y
/
, y espacios en blanco. Por ejemplo:
ab+ cd+ ef- *+
El script CGI debe convertir la expresión posfija a su equivalente expresión infija y desplegarla como parte de la respuesta. Se debe desplegar un mensaje de error si la entrada contiene caracteres incorrectos o si la expresión es inválida. Para el ejemplo anterior, la salida sería:
((a+b)+((c+d)*(e-f)))
Puedes usar el siguiente código de Python para leer los parámetros de una petición desde un CGI:
from cgi import FieldStorage mis_campos = FieldStorage() mi_valor = mis_campos['nombre_de_mi_campo'].value
La página estática con el formulario inicial, así como el CGI, deben ser servidos por el servidor de Web Apache.
Verifica que la salida del CGI, ya sea una salida normal o un mensaje de error, sea XHTML válido. Utiliza el Servicio de Validación de W3C.
Sigue las siguientes indicaciones para entregar tu práctica:
convertidor.py
el
nombre y matrícula de los autores de la práctica.
convertidor.py
usando el
Sistema de
Entrega de Tareas Automatizado. La fecha límite para subir
tu práctica es el miércoles 10 de septiembre.
Esta práctica será evaluada usando los siguientes criterios:
100 | La práctica cumple con todos los requerimientos. |
---|---|
60-90 | La práctica funciona en general, pero contiene uno o varios errores menores. |
50 | El CGI produce un error a tiempo de ejecución. |
DA | La solución es un plagio. |