1. Enumeración de subconjuntos. Escriba un programa que reciba dos enteros positivos , con
y haga lo siguiente:
2. Código 4-en-8. Sea el alfabeto de 70 símbolos
3. Escriba un programa que habiendo recibido como entrada una lista de números enteros positivos
:
4. Escriba un programa que reciba como entrada la tabla correspondiente a la función de codificación de un código.
5. Escriba un programa que habiendo recibido como entrada una lista de números enteros positivos
y un entero
que satisfagan la desigualdad de Kraft, cuente cuántas funciones de codificación existen tales que el símbolo
-ésimo se codifica por una cadena de longitud
.
6. Escriba un programa que calcule la codificación de Huffman. Como entrada debe darse una tabla de símbolos y frecuencias y una bandera que indique si se quiere un código binario, terciario o cuternario. Como salida debe dar la función de codificación correspondiente.
7. Escriba un programa que reciba un entero positivo
y un valor real
. Para ellos debe decidir si existe una distribución
tal que
y en tal caso debe encontrar una tal distribución, la longitud esperada de su código de Huffman y su efectividad.
8. Escriba un programa que reciba una distribución de un alfabeto de
símbolos, y un entero
y calcule la extensión
como una lista de
valores reales.
9. Escriba un programa que reciba como entrada
y un vector
y compruebe experimentalmente que vale la igualdad de límite enunciada en el teorema de Shannon 3.1.
10. Escriba un programa que realice la situación descrita en el ejemplo 3.2: