Está en la página 1de 5

Programacin Orientada a Objetos.

Prctica 9. Diseo modular


Objetivos:
Al terminar la prctica el alumno:
Resolver un problema complejo mediante el uso de la tcnica de diseo modular.
Codificar algoritmos simples en lenguaje C.
Integrar mdulos diseados e implantados por otros programadores.
Compilar, ligar y ejecutar los cdigos en C utilizados.
Interpretar mensajes de error del compilador y los corregir.
Preparacin.
Revisar conceptos de descomposicin modular, paso de parmetros,diseo de algoritmos, pseudocdigo,
documentacin de diseo e implementacin, archivos, apuntadores y cadenas.
Actividades.
1. Resolver el problema planteado (ver Apndice A para los detalles de la documentacin de diseo):
En un gabinete de estudios de imagen por ultrasonido hay tres consultorios con equipos iguales en los que
pueden realizarse los siguientes estudios:
Tabla 1. Estudios de imagen por ultrasonido
Clave de
Descripcin
Duracin [min]
Estudio
A

Fetal

30

Abdomen superior

25

RenoUrinario

20

Ginecolgico

20

El gabinete comienza a recibir pacientes desde las 8:00hs y cierra a las 16:00hs, es decir ofrece ocho horas de
atencin continua.
Es necesario generar un programa que cuando llegue un paciente, registre el tipo de estudio que se va a realizar
(ver la tabla 1) y le imprima en pantalla en qu consultorio le toca y cunto tiempo debe esperar, si el paciente
confirma que s se espera se registra su estudio, si el paciente decide no esperar no queda registro de su
solicitud de estudio.
Despus de procesar una solicitud, el programa debe mostrar de nuevo el men de opciones de estudio a
realizar y esperar la siguiente solicitud.
Consideraciones:
No hay citas programadas, se atiende conforme van llegando los pacientes.
Se asigna el consultorio con menor tiempo de espera.
En el men de estudios a realizar debe aparecer una opcin que sea Apagar el sistema, si el usuario
selecciona dicha opcin, deber solicitarle la clave de Administrador del Gabinete para realmente salir
del programa, de no proporcionar la clave correcta, deber regresar al men de opciones.

NOTA. El programa se realizar en equipo de dos integrantes.


a) Analizar el problema y distinguir los mdulos necesarios
b) Definir las conexiones entre mdulos y los parmetros requeridos por cada uno, as como los valores
que cada mdulo regresa (en su caso).
c) Disear cada uno de los mdulos, prestando atencin a la convencin de paso de parmetros y nombres
de mdulos.
d) Integrar los diferentes mdulos para generar el programa ejecutable, verificar su funcionamiento
e) Subir a la plataforma AulaCBI el paquete de diseo, paquete de los cdigos que forman el
programa principal y el paquete de verificacin de funcionamiento. Recuerden agregar en el
mdulo correspondiente el nombre del autor. En el programa principal agreguen el nombre
de ambos integrantes del equipo.
NOTA. Todos los cdigos debern comentarse (es indispensable que contengan el nombre y matrcula del autor)
y entregar el cdigo fuente SIN ERRORES.
Elabor: Raquel Valds

Apndice A. Pasos para documentar el diseo de la solucin algortmica

Cada solucin debe documentarse de la siguiente forma:


i. Planteamiento del problema. Describe el problema con tus propias palabras (uno o
dos prrafos a lo mas),
ii. Escribe en lenguaje natural los pasos para resolver el problema, describe con claridad
cuntas y cules son las variables y constantes necesarias para resolver el problema
(describe si sern de entrada o salida y el tipo de dato que almacenarn).
iii. Escribe el pseudocdigo correspondiente a ii.
iv. Realiza las pruebas de escritorio necesarias para garantizar el correcto
funcionamiento de iii.
NOTA. Si la solucin algortmica requiere descomposicin modular, incluir en la
documentacin de diseo el esquema de mdulos, su jerarqua, la conexin entre
ellos. El iii deber incluir el pseudocdigo de CADA mdulo propuesto.

Programacin Orientada a Objetos.


Prctica 9. Diseo modular
Objetivos:
Al terminar la prctica el alumno:
Resolver un problema complejo mediante el uso de la tcnica de diseo modular.
Codificar algoritmos simples en lenguaje C.
Integrar mdulos diseados e implantados por otros programadores.
Compilar, ligar y ejecutar los cdigos en C utilizados.
Interpretar mensajes de error del compilador y los corregir.
Preparacin.
Revisar conceptos de descomposicin modular, paso de parmetros,diseo de algoritmos, pseudocdigo,
documentacin de diseo e implementacin, archivos, apuntadores y cadenas.
Actividades.
1. Resolver el problema planteado (ver Apndice A para los detalles de la documentacin de diseo):
Una etapa muy importante en el diseo de un monitor de frecuencia cardaca es el procesamiento en tiempo
real del registro de la actividad elctrica del corazn o electrocardiograma (ECG). En la siguiente figura se
muestra un trazo corto de un ECG y el nombre de las ondas que lo forman.

Adaptada de http://www.esacademic.com/pictures/eswiki/83/SinusRhythmLabels.svg
Un paso indispensable en la etapa de procesamiento es la deteccin del complejo QRS, en nuestro caso, esto
se realizar aplicando al ECG digitalizado un conjunto de filtros digitales que tienen la siguiente descripcin:

Filtro 1

Filtro 2

Filtro 3

A continuacin se muestran las ecuaciones de diferencias de cada filtro (adaptado de Pan, J., & Tompkins, W. J.
(1985). A real-time QRS detection algorithm.Biomedical Engineering, IEEE Transactions on, (3), 230-236. ):

r [n]=x [n]2 x [n6]+ x [n12]


s [n]=

(Filtro 1, filtra ondas P y T)

r [n2]2 r [n1]+2 r [n+1]+r [n+2]


8

y [ n]=(s[n])2

(Filtro 2, aproxima derivada)


(Filtro 3, eleva al cuadrado)

Sean:
x : coleccin de muestras de ECG registradas
y : coleccin de muestras de ECG de salida despus del proceso de filtrado
x[n] : es la n-sima muestra del ECG de entrada
r[n] : es la n-sima muestra de la salida del Filtro 1 y ser la entrada al Filtro 2
s[n] : es la n-sima muestra de la salida del Filtro 2 y ser la entrada al Filtro 3
y[n-1] : es la muestra (n-1)-sima de salida (una muestra anterior a y[n]) del Filtro 3
El ltimo paso de la deteccin consiste en la siguiente evaluacin:

QRS [ n]= 0 si y [ n]< 0.6


1 si y [n]0.6

Es necesario generar un programa que lea un archivo con un registro de ECG, aplique los tres filtros
proporcionados y pregunte al usuario si desea ver los resultados en pantalla o si prefiere que se escriba un
nuevo archivo con la seal filtrada o ambas opciones (pantalla y archivo).
Despus de filtrar una seal y mostrarla o grabarla en un archivo, el programa deber preguntar si el usuario
desea leer otro registro y procesarlo o si desea terminar el programa.
Consideraciones:
Los archivos de lectura y escritura estn en formato .csv
El primer entero guardado en los archivos contiene un nmero con la cantidad de datos almacenados en
el archivo. Los datos restantes estn guardados en formato: %f,%f\n donde el primer dato es el
instante de tiempo (en s) y el segundo dato es la amplitud de la seal (en mV).
El usuario debe proporcionar los nombres de los archivos.
NOTA. El programa se realizar en equipo de dos o tres integrantes.
a) Analizar el problema y distinguir los mdulos necesarios
b) Definir las conexiones entre mdulos y los parmetros requeridos por cada uno, as como los valores
que cada mdulo regresa (en su caso).
c) Disear cada uno de los mdulos, prestando atencin a la convencin de paso de parmetros y nombres
de mdulos.
d) Integrar los diferentes mdulos para generar el programa ejecutable, verificar su funcionamiento
e) Subir a la plataforma AulaCBI el paquete de diseo, paquete de los cdigos que forman el
programa principal y el paquete de verificacin de funcionamiento. Recuerden agregar en el
mdulo correspondiente el nombre del autor. En el programa principal agreguen el nombre
de ambos integrantes del equipo.

NOTA. Todos los cdigos debern comentarse (es indispensable que contengan el nombre y matrcula del autor)
y entregar el cdigo fuente SIN ERRORES.
Elabor: Raquel Valds

Apndice A. Pasos para documentar el diseo de la solucin algortmica

Cada solucin debe documentarse de la siguiente forma:


i. Planteamiento del problema. Describe el problema con tus propias palabras (uno o
dos prrafos a lo mas),
ii. Escribe en lenguaje natural los pasos para resolver el problema, describe con claridad
cuntas y cules son las variables y constantes necesarias para resolver el problema
(describe si sern de entrada o salida y el tipo de dato que almacenarn).
iii. Escribe el pseudocdigo correspondiente a ii.
iv. Realiza las pruebas de escritorio necesarias para garantizar el correcto
funcionamiento de iii.
NOTA. Si la solucin algortmica requiere descomposicin modular, incluir en la
documentacin de diseo el esquema de mdulos, su jerarqua, la conexin entre
ellos. El iii deber incluir el pseudocdigo de CADA mdulo propuesto.

También podría gustarte