Introducción a la
Programación
Trimestre 2005 Primavera --- Tarea 7
Jueves 30 de junio de 2005 a
las 22:00
hrs
Palabras similares
Una compañía te ha encargado un pequeño programa
de revisión de ortografía para incorporar a su procesador
de textos. Una parte fundamental de este programa es que cuando detecte
que una palabra está escrita incorrectamente, debe de
proporcionar una lista de palabras similares tomadas de un diccionario.
Para ello, el programa debe tomar la palabra escrita incorrectamente y
debe compararla con otras palabras que estén escritas de forma
correcta. Te han solicitado que tu programa sólo sugiera
palabras que sean muy similares, es decir, que sólamente
difieran en una letra (ya sea que la letra fue alterada, agregada o
borrada). Por ejemplo, la palabra "SEL" es similar a las palabras
"SAL", "SEUL", "SE" y "EL" pero no es similar a ninguna de las palabras
"PELO", "SUELO", "E" ni "REY".
Especificación
La entrada consiste de dos cadenas distintas S y T
(formadas por 1 a 100 letras mayúsculas) cada una en un
renglón. La salida consiste de un número entero N, donde
N = 0 si S y T no son similares, N = 1 si S y T tienen una letra
alterada, N = 2 si T se obtiene de S agregando una letra y N = 3 si T
se obtiene de S borrando una letra. El
nombre de su
programa deberá ser palsimNN.c,
donde NN es el
número de equipo
que les fue
asignado. Los archivos palsimNN.o
y palsimNN.exe no deben
ser
entregados. Notas: (a) Su
programa no deberá leer ni escribir nada además de los
datos mencionados anteriormente. (b) Su programa no deberá usar
nada que no
hayamos visto en clase. (c) Para compilar su programa en UNIX usen la
instrucción gcc
palsimNN.c -o palsim y para probarlo usen la instrucción ./palsim y tecleen la entrada
deseada seguida de un enter.
Ejemplos
ENTRADA:
SALIDA: ENTRADA: SALIDA: ENTRADA: SALIDA: ENTRADA: SALIDA:
ROMA 0
SAL 1
PERA 2
REY 3
MORA SOL
PERSA
RE