Sei sulla pagina 1di 4

Manual de Uso: Código 4-en-8 (Programa 2)

Cynthia Adriana Rodrı́guez Villalobos


19 de febrero de 2010

1 Introducción
El programa 4en8 recibe cualquier palabra σ en el alfabeto

A = {A, . . . , Z} ∪ {a, . . . , z} ∪ {0, . . . , 9} ∪ {!, ?, (, ), :, ., , ,}

y la codifica en el alfabeto Ce8 donde C = {0, 1} y las palabras válidas tienen


exactamente 4 bits encendidos. La asignación de los sı́mbolos se realiza según
el orden del valor hexadecimal representado por cada palabra en Ce8 .

2 Manual
2.1 Opciones del programa
El programa 4en8 tiene 2 modos de funcionamiento:

1. Codificación:
La codificación es la operación por defecto. En este modo, el programa
lee la palabra de su entrada e intenta decodificarla; en caso de haber un
error se indicará cuál fue el primer sı́mbolo no válido que se encontró en
la palabra.

2. Decodificación
Es necesario indicarle al programa que se desea decodificar mediante la
opción -d. En este modo, el programa lee la palabra codificada de su
entrada e intenta decodificarla; en caso de encontrar un error se indicará
el primer sı́mbolo no válido que se haya encontrado.

Además, el programa puede trabajar su entrada/salida tanto con la en-


trada/salida estándar como con archivos.
1. Entrada/Salida estándar:
El programa utiliza la entrada/salida estándar por defecto. Si se recibe
un salto de lı́nea, se asume que éste indica el fin de la palabra a codificar.

1
2. Entrada/Salida por archivos:
Para trabajar con archivos, es necesario pasar el nombre del archivo de
entrada y del archivo de salida como parámetros al programa. No se
puede utilizar simultáneamente el mismo archivo como entrada y salida
(de hacerse, el programa indicará el error).

2.2 Compilación del programa


El programa 4en8 puede compilarse mediante cualquier compilador de C. Las
bibliotecas utilizadas son ctype, stdio, stdlib y string; todas están en el estándar
C99.
Durante el desarrollo del programa se utilizó el compilador gcc con la ins-
trucción
gcc -o 4en8 4en8.c

2.3 Ejecución del programa


El programa se ejecuta desde lı́nea de comando con:
PATH/4en8 [-d] [archivo de entrada archivo de salida]
donde PATH se refiere a la ubicación del archivo ejecutable 4en8. Los parámetros
que aparecen entre corchetes son opcionales y se pueden utilizar para manejar
las opciones del programa como fueron descritas en la sección 2.1.

3 Ejemplos
3.1 Codificación
Se ejecutó el programa con un archivo de entrada N T S que contenı́a el siguiente
fragmento de “Number the Stars” (Louis Lowry):
The days of September passed, one after the other, much the same.
Annemarie and Ellen walked to school together, and home again,
always now taking the longer way, avoiding the tall soldier and his
partner. Kirsti dawdled just behind them or scampered ahead, never
out of their sight. The two mothers still had their coffee together in
the afternoons. They began to knit mittens as the days grew slightly
shorter and the first leaves began to fall from the trees, because
another winter was coming. Everyone remembered the last one.
There was no fuel now for the homes and apartment in Copenhagen,
and the winter nights were terribly cold.
Para la salida se utilizó al archivo N T Sc; por lo tanto el programa se ejecutó
con la instrucción
PATH/4en8 NTS NTSc

2
Los resultados obtenidos (en hexadecimal) fueron:
53746CE86A65AC9CE89571E84E6C96A36C8E666C9AE896659C9C6C6AF
0E895936CE86571A36C9AE8A3746CE895A3746C9AF0E88EA56974E8A3
746CE89C658E6CE4E80F93936C8E659A786CE865936AE81E8D8D6C93E
8A9658D8B6C6AE8A395E89C697495958DE8A395726CA3746C9AF0E865
936AE874958E6CE86572657893F0E8658DA965AC9CE89395A9E8A3658
B789372E8A3746CE88D9593726C9AE8A965ACF0E865A695786A789372
E8A3746CE8A3658D8DE89C958D6A786C9AE865936AE874789CE896659
AA3936C9AE4E835789A9CA378E86A65A96A8D6C6AE887A59CA3E8666C
7478936AE8A3746C8EE8959AE89C69658E966C9A6C6AE865746C656AF
0E8936CA66C9AE895A5A3E89571E8A3746C789AE89C787274A3E4E853
746CE8A3A995E88E95A3746C9A9CE89CA3788D8DE874656AE8A3746C7
89AE8699571716C6CE8A395726CA3746C9AE87893E8A3746CE86571A3
6C9A939595939CE4E853746CACE8666C726593E8A395E88B9378A3E88
E78A3A36C939CE8659CE8A3746CE86A65AC9CE8729A6CA9E89C8D7872
74A38DACE89C74959AA36C9AE865936AE8A3746CE871789A9CA3E88D6
C65A66C9CE8666C726593E8A395E871658D8DE8719A958EE8A3746CE8
A39A6C6C9CF0E8666C6965A59C6CE8659395A3746C9AE8A97893A36C9
AE8A9659CE869958E789372E4E81EA66C9AAC95936CE89A6C8E6C8E66
6C9A6C6AE8A3746CE88D659CA3E895936CE4E853746C9A6CE8A9659CE
89395E871A56C8DE89395A9E871959AE8A3746CE874958E6C9CE86593
6AE86596659AA38E6C93A3E87893E81B95966C937465726C93F0E8659
36AE8A3746CE8A97893A36C9AE893787274A39CE8A96C9A6CE8A36C9A
9A78668DACE869958D6AE4

3.2 Decodificación
Se ejecutó el programa con un archivo de entrada N T Sc con el texto codificado:
53746CE86A65AC9CE89571E84E6C96A36C8E666C9AE896659C9C6C6AF
0E895936CE86571A36C9AE8A3746CE895A3746C9AF0E88EA56974E8A3
746CE89C658E6CE4E80F93936C8E659A786CE865936AE81E8D8D6C93E
8A9658D8B6C6AE8A395E89C697495958DE8A395726CA3746C9AF0E865
936AE874958E6CE86572657893F0E8658DA965AC9CE89395A9E8A3658
B789372E8A3746CE88D9593726C9AE8A965ACF0E865A695786A789372
E8A3746CE8A3658D8DE89C958D6A786C9AE865936AE874789CE896659
AA3936C9AE4E835789A9CA378E86A65A96A8D6C6AE887A59CA3E8666C
7478936AE8A3746C8EE8959AE89C69658E966C9A6C6AE865746C656AF
0E8936CA66C9AE895A5A3E89571E8A3746C789AE89C787274A3E4E853
746CE8A3A995E88E95A3746C9A9CE89CA3788D8DE874656AE8A3746C7
89AE8699571716C6CE8A395726CA3746C9AE87893E8A3746CE86571A3
6C9A939595939CE4E853746CACE8666C726593E8A395E88B9378A3E88
E78A3A36C939CE8659CE8A3746CE86A65AC9CE8729A6CA9E89C8D7872
74A38DACE89C74959AA36C9AE865936AE8A3746CE871789A9CA3E88D6
C65A66C9CE8666C726593E8A395E871658D8DE8719A958EE8A3746CE8
A39A6C6C9CF0E8666C6965A59C6CE8659395A3746C9AE8A97893A36C9

3
AE8A9659CE869958E789372E4E81EA66C9AAC95936CE89A6C8E6C8E66
6C9A6C6AE8A3746CE88D659CA3E895936CE4E853746C9A6CE8A9659CE
89395E871A56C8DE89395A9E871959AE8A3746CE874958E6C9CE86593
6AE86596659AA38E6C93A3E87893E81B95966C937465726C93F0E8659
36AE8A3746CE8A97893A36C9AE893787274A39CE8A96C9A6CE8A36C9A
9A78668DACE869958D6AE4
Para la salida se utilizó al archivo N T Sr; por lo tanto el programa se ejecutó
con la instrucción
PATH/4en8 -d NTSc NTSr

La palabra obtenida fue:


The days of September passed, one after the other, much the same.
Annemarie and Ellen walked to school together, and home again,
always now taking the longer way, avoiding the tall soldier and his
partner. Kirsti dawdled just behind them or scampered ahead, never
out of their sight. The two mothers still had their coffee together in
the afternoons. They began to knit mittens as the days grew slightly
shorter and the first leaves began to fall from the trees, because
another winter was coming. Everyone remembered the last one.
There was no fuel now for the homes and apartment in Copenhagen,
and the winter nights were terribly cold.
Esta palabra coincide con la palabra codificada en el ejemplo anterior.

Potrebbero piacerti anche