La fé en tribus indús.

Páginas: 6 (1440 palabras) Publicado: 24 de noviembre de 2010
Memoria del trabajo de curso

Introducción

A continuación presentamos la memoria del trabajo de curso de programación, durante el curso 2009 / 2010. El mismo consiste en un programa en lenguaje C que simula el comportamiento de una guía electrónica (EPG), un sistema utilizado en la tdt y otros sistemas digitales de televisión para conocer la información asociada a un programa , como elnombre del programa, la cadena que lo emite, las horas de inicio y fin, el género…

El objetivo del programa es mantener actualizada la EPG cuando se reciba información nueva, y eliminar la información que discrepe con la nueva. Esta información será recibida por la entrada estándar, y la EPG será mostrada por la salida estándar.

Todo esto lo hacemos posible mediante el uso de Listas enlazadas:una lista con cada nombre de canal, y de cada nodo de ésta “cuelgan” los programas del canal.

Descripción del programa

ficheros del programa

El programa completo consta de 5 ficheros:

• “main.c”: contiene el fichero principal, codificado en C.

• “defs.h”: contiene las definiciones de constantes simbólicas y tipos agregados.

• “funciones.c”: contiene las definiciones delas funciones utilizadas en main.

• “funciones.h”: contiene las declaraciones de las funciones utilizadas en main.

• “makefile”.

El funcionamiento del programa se basa en la descomposición de la información, enviada desde la entrada estándar en forma de “tramas”, para su posterior tratamiento.
Cada una de estas tramas consta de:

• “Inicio de trama”: octeto que indica elinicio de la trama.

• “Longitud de trama”: dos octetos nos indican la longitud de la trama.

• “Cadena”: Nombre de la cadena que emite el programa.

• “Género”: del programa.

• “Programa”: nombre del mismo.

• “Hora de inicio”.

• “Duración”.

• “Relleno”: para conseguir que el número de octetos de la trama sea múltiplo de 4. Hasta 3 octetos.

•“CRC”: código de control de errores. 4 octetos.

Pasamos a la explicación detallada del funcionamiento de cada una de las funciones en que está dividida el programa.

función “calculalong”

Una vez hemos comprobado que la entrada estándar no alcanza el fin de fichero (eof), y que se tiene el código de inicio de trama, llamamos a la función calculalong.

La función “calculalong” toma de la entradaestándar los dos octetos que indican la longitud de la trama. Éstos vienen codificados en bcd.
Primero comprobaremos que no haya fallo de codificación (comprobando que cada uno de los dígitos sea menor que 9), y luego convertimos esta información en un número entero, que es el valor que devolvemos.

función “reserva”

La función “reserva” se sirve del valor calculado por la función“calculalong” para reservar dinámicamente una tabla de caracteres, donde vamos a guardar el resto de la trama. De esto mismo también se encarga esta función. Guardamos la tabla con el nombre “trama”.

Realiza una reserva dinámica de memoria, por lo que comprobaremos si la reserva se ha realizado.

función “cogenombre”

Esta función se encarga de tomar los tres nombres que vienen dados en la trama: elnombre del canal, el nombre del género del programa, y el nombre del programa mismo. Le pasamos la tabla “trama”, y devuelve una cadena de caracteres creada con una reserva dinámica de memoria. Esta función también se encargará de comprobar que no ha habido error en la reserva de memoria.

Como detalle importante destacaremos que cada nombre debe ir precedido de un corchete abierto (‘[‘) y debeacabar en uno cerrado (‘]’). Para detectar corchetes cerrados dentro de la trama, éstos vienen dados por duplicado, por lo que la función se encarga de tomar un solo corchete por cada dos, excepto cuando sólo exista uno: fin del nombre.

funciónes “cogehora” y “calculafin”

La función “cogehora” toma de la trama los valores de hora-inicio de programa y duración. La función “calculafin”...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Indus
  • Indus
  • procesos indus
  • investigacion indus
  • tecno indus
  • tp indus
  • Rev indus
  • Seguridad Indus

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS