Está en la página 1de 29

18 de julio del 2020

Nombre del autor: Alejandra Flores Arvizu,


Leslie Karen Navez, Ángel Maximiliano Mora González
Matricula: FAAO181685
MGAO182166
NXLO180629
Recursamiento (Programación )
Nombre de la evidencia: EP03_Funciones
Carrera: ITI
Profesor: Rosario Eloísa Huerta
Tabla de contenido
Definición del problema ................................................................................................................... 3
Fase de análisis ................................................................................................................................ 4
Ciclo For ......................................................................................................................................... 4
¿Cómo funciona un Ciclo For?................................................................................................... 4
Sintaxis del Ciclo For en C .......................................................................................................... 5
Do while (hacer mientras) ........................................................................................................... 5
if: (SI) .............................................................................................................................................. 6
¿Cómo funciona un if?................................................................................................................. 6
If-else (sino) ................................................................................................................................... 6
If anidado ....................................................................................................................................... 7
Switch ............................................................................................................................................. 7
Arreglos .......................................................................................................................................... 8
¿Qué es un Arreglo ?................................................................................................................... 8
Tipo de arreglos ............................................................................................................................ 8
Arreglos Unidimensionales ..................................................................................................... 8
Arreglos bidimensionales ........................................................................................................ 9
Funcionamiento ............................................................................................................................ 9
Vectores ....................................................................................................................................... 10
Matrices........................................................................................................................................ 10
Librerías utilizadas ..................................................................................................................... 11
Fase de diseño ............................................................................................................................... 11
Fase de implementación ............................................................................................................... 16
Fase de pruebas ............................................................................................................................. 25
Conclusiones ................................................................................................................................... 28
Bibliografía ....................................................................................................................................... 29
Definición del problema
El hospital del Sur desea llevar el control mensual del nivel de glucosa diez
pacientes (azúcar en la sangre)
para prevenir el desarrollo de la diabetes. Para ello, le ha pedido a cada uno de sus
pacientes que acudan una
vez a la semana para que les revisen su nivel de glucosa.
Los niveles de glucosa se consideran en un nivel normal, cuando esta se encuentra
en el rango de 70 a 120
mg/dl, si los niveles se encuentran fuera de ese rango, puede existir la posibilidad
de que el paciente este
propenso o ya tenga diabetes.
Por lo anterior, el hospital ha solicitado que se implemente un programa que sea
una herramienta para llevar
el control mensual del nivel de glucosa de sus pacientes.
El programa deberá contar con las siguientes funciones:
• Registro de datos generales de los pacientes: En esta opción, se deberán
registrar los datos generales
de los pacientes: código, edad y un dígito para indicar si tiene o no diabetes, por
ejemplo: 0: Sin diabetes y
1: Diabetes.
• Listado de pacientes: Esta opción desplegará los pacientes que se
encuentran registrados. En caso de
no existir ningún paciente registrado solamente se deberá mostrar un mensaje
informativo.
• Expediente de pacientes: Esta opción permitirá registrar las mediciones del
nivel de glucosa de cada
paciente. El nivel de glucosa se mide solo una vez a la semana durante un mes.
Para llenar el expediente, se
deberán generar números aleatorios en el rango de 55 a 200.
• Listado del expediente de pacientes: Esta opción desplegará los niveles de
glucosa de cada paciente,
registrados previamente. En caso de que no esté registrado ningún nivel de glucosa,
desplegar solamente un
mensaje de notificación.
• Análisis de niveles de glucosa: En esta opción se deberán realizar algunos
cálculos por cada paciente,
para determinar los siguientes resultados:
a). Número de días con un nivel normal de la glucosa (70 a 110)
b). Número de días con un nivel alto de glucosa (>110)
c). Número de días con un nivel bajo de glucosa (<70)
El programa deberá imprimir los resultados obtenidos en los incisos a, b y c.
• Promedio del nivel de glucosa mensual por paciente: En esta opción se
calculará el promedio de los
niveles de glucosa registrados por cada paciente, esto durante cada mes. Para esta
opción se deberá
implementar una función recursiva.

Fase de análisis
Datos de entrada: son edad del paciente digito que indique si tiene diabetes o no
Datos de salida: todo el registro del paciente
Utilice la estructura repetitiva do while (hacer mientras) para que el cuerpo del bucle
se ejecuta al menos una vez y hasta que se cumpla la condición. Tomando en
cuenta que el ciclo se detiene cuando la condición no se cumple. Además, también
se utilizó el ciclo for para recorrer el arreglo de ventas y los vectores.
Ciclo For
Los ciclos for son lo que se conoce como estructuras de control de flujo cíclicas o
simplemente estructuras cíclicas, estos ciclos, como su nombre lo sugiere, nos
permiten ejecutar una o varias líneas de código de forma iterativa, conociendo un
valor especifico inicial y otro valor final, además nos permiten determinar el tamaño
del paso entre cada "giro" o iteración del ciclo.
¿Cómo funciona un Ciclo For?
Para comprender mejor el funcionamiento del ciclo for, pongamos un ejemplo,
supongamos que queremos mostrar los números pares entre el 50 y el 100, si
imaginamos un poco como seria esto, podremos darnos cuenta que nuestro ciclo
deberá mostrar una serie de números como la siguiente: 50 52 54 56 58 60 ... 96 98
100. Como podemos verificar, tenemos entonces los componentes necesarios para
nuestro ciclo for, tenemos un valor inicial que sería el 50, tenemos también un valor
final que sería el 100 y tenemos un tamaño de paso que es 2 (los números pares).
Estamos ahora en capacidad de determinar los componentes esenciales para un
ciclo for.

Sintaxis del Ciclo For en C


La sintaxis de un ciclo for es simple en C en realidad en la mayoría de los lenguajes
de alto nivel es incluso muy similar, de hecho, con tan solo tener bien claros los 3
componentes del ciclo for (inicio, final y tamaño de paso) tenemos prácticamente
todo hecho.

Do while (hacer mientras)


El ciclo do-while (Instrucción hacer – repetir mientras) es un tipo de estructura
repetitiva eficiente. Lo que lo diferencia con el while es que en la estructura do-while
la condición se evalúa al finalizar el ciclo, esto hace que las instrucciones se
ejecuten cuando menos una vez. Los ciclos do-while también son una estructura de
control cíclica, los cuales nos permiten ejecutar una o varias líneas de código de
forma repetitiva sin necesidad de tener un valor inicial e incluso a veces sin siquiera
conocer cuando se va a dar el valor final, hasta aquí son similares a los ciclos while,
sin embargo el ciclo do- while nos permite añadir cierta ventaja adicional y esta
consiste que nos da la posibilidad de ejecutar primero el bloque de instrucciones
antes de evaluar la condición necesaria, de este modo los ciclos do-while, son más
efectivos para algunas situaciones específicas. (NGuerrero,2016).

.
Me base con las estructuras de control selectivas if, if else, Switch case y if anidados
, para seleccionar y hacer operaciones según ciertas variables como por ejemplo
las opciones del menú, y para determinar las ganancias o pérdidas según sea el
caso.
if: (SI)
Un if en programación se utiliza para evaluar una expresión condicional: si se
cumple la condición (es verdadera), ejecutará un bloque de código. Si es falsa, es
posible ejecutar otras sentencias.
Dónde condición es una expresión booleana. La expresión booleana es una
combinación de operadores relacionales, condicionales y valores. La instrucción o
instrucciones representa las líneas de código que se ejecutarán si el resultado de
condición es true(verdadero). (Álvarez,2001).
¿Cómo funciona un if?
Primero de todo, se evalúa la condición. Si el resultado se cumple, se ejecutará el
código. Si el resultado no es true, el programa continúa con la sentencia siguiente.
sí hay varias instrucciones que interesan ejecutar dónde de la evaluación, estén
agrupadas con llaves { }. (Álvarez,2001).

If-else (sino)
este condicional se tomó en cuenta porque muchas se necesitará ejecutar un bloque
de instrucciones si la expresión evaluada es true(verdadera) entonces el otro bloque
de instrucciones tiene que ser false(falso). Tenemos la posibilidad de evaluar si NO
se cumple la condición. Se hace con la palabra reservada else. Eso es lo que
significa else en programación, nos permite ejecutar otras instrucciones. (Meza
González,2012).
If anidado
En algunas ocasiones, se necesitará ejecutar una sentencia if como parte de otra
sentencia if. yo utilice esta condición para hacer la evaluación de las materias
reprobadas y acumulas. (Álvarez,2001).

Switch
Utilizamos la Estructura de selección múltiple switch para comparar la posición j del
registró de los datos de cada paciente y también para imprimir los datos en las
situaciones de cada función, asi como para cada una de las opciones del menú.
Los condicionales Switch, son una estructura de control condicional, que permite
definir múltiples casos que puede llegar a cumplir una variable cualquiera, y qué
acción tomar en cualquiera de estas situaciones, incluso es posible determinar qué
acción llevar a cabo en caso de no cumplir ninguna de las condiciones dadas.
Como vemos, primero de todo usamos la palabra reservada switch.
• La variable es para verificar el valor que tiene almacenado.
• La palabra case indica el valor que va a verificar. Lo habitual es que sea un
valor numérico o un texto. La combinación de la palabra case y su valor se
llama etiqueta case.
• El valor literal es cualquier valor válido que la variable que vamos a evaluar
contiene. Podemos poner una etiqueta case por cada valor que queremos
evaluar. Los valores de la etiqueta casen no pueden ser variables, o
expresiones o métodos. Si que pueden ser constantes.
• La sentencia break es una palabra clave opcional, que hace que el flujo del
código termine dentro de toda la sentencia switch. Si no existiese, todas las
instrucciones que vemos dentro del código se ejecutarían, hasta encontrar
una palabra break.
• La palabra clave default indica el bloque de código si no satisface ninguna de
las etiquetas casen que hemos escrito. Podemos decir que esta etiqueta es
parecida a la sentencia else. También es una etiqueta opcional. Usar switch
ayuda a simplificar el código y evita confusiones, ya que organiza en varias
ramas el código que va a será ejecutado.(BetoQuiroga,2017).

Arreglos
Utilice arreglos unidimensionales para la suma de los días con nivel de glucosa ya
sea normal alta o baja y bidimensionales para almacenar los datos del registró y los
expedientes.

¿Qué es un Arreglo ?
Un arreglo es una estructura, es decir es un conjunto de variables que se citan y
manejan con un mismo nombre, y que permite además la utilización individual de
sus elementos. (Joyanes, 2008).
Esto significa que un arreglo es una variable que provee la opción de disponer de
varios datos o espacio para datos a los cuales se puede acceder con un mismo
nombre.
Un arreglo es en resumen un conjunto de datos finito y del mismo tipo. En realidad,
funciona como cualquier variable cualquiera, excepto que, en lugar de almacenar
un solo valor, guarda algunos valores. Los arreglos pueden representarse en varias
dimensiones: Unidimensionales, Bidimensionales, hasta n Dimensionales. En esta
unidad se estudiarán los de una y dos dimensiones. Iniciaremos por los primeros.
(Rafael Meléndez 2019).

Tipo de arreglos
Arreglos Unidimensionales
Un Arreglo Unidimensional es una estructura de datos organizada y bien
coordinada, que cuenta con una cantidad pequeña de datos, los cuales deben ser
del mismo tipo para ser procesados en dicho Arreglo, en programación se usa
mayormente en la creación de la estructura de listas en orden natural y totalmente
con elementos similares en su interior. Los datos a manipular en su interior no solo
deben poseer un tipo de dato similar, sino que también deben poseer un seudónimo
similar entre ellos, pero los mismos se han de diferenciar con la posición que se les
otorgue dentro del Arreglo bajo el uso de sus funciones y ordenanzas básicas
estipuladas en la línea de programación con su codificación especial. Además, un
Arreglo de este tipo para ejecutar sus funciones debe primero que todo iniciar sus
variables o datos en el inicio del programa que se esté llevando a cabo, como de la
misma manera en la misma sección donde se está realizando dicha acción, se debe
establecer tanto el nombre como el tipo de dato que ha de ejecutar dicho Arreglo en
su interior. (Rafael Meléndez 2019).
Arreglos bidimensionales
Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo
bidimensional está simultáneamente en una fila y en una columna. En matemáticas,
a los arreglos bidimensionales se les llama matrices, y son muy utilizados en
problemas de Ingeniería. En un arreglo bidimensional, cada elemento tiene una
posición que se identifica mediante dos índices: el de su fila y el de su columna
(Rafael Meléndez 2019).

Funcionamiento
La declaración de un arreglo bidimensional es similar al de un arreglo
unidimensional, así:

Ejemplo
tipoDato puede ser cualquiera de tipos estándares de datos: int, double, String, entre
otros. Esto implica que todos los datos serán únicamente del tipo especificado en
la declaración.
nombreVariable es el nombre que se asigna al arreglo, en este ejemplo:
registroNotas.
nFilas es el número máximo de filas que tendrá la matriz.
nCol es el número máximo de columnas que tendrá la matriz.

Vectores
Los Vectores o también denominados bajo el seudónimo “Tablas
Unidimensionales”, son arreglos que solo poseen una sola dimensión y no necesitan
del uso de múltiples índices para realizar sus funciones, estableciendo así su ciclo
en operaciones cortas y poco elaboradas en un periodo de tiempo módico como si
complicación alguna en su ejecución.
De la misma manera los datos en su interior deben ser catalogados bajo el mismo
tipo de dato, el cual mayormente es colocado en tipo numérico, así mismo el nombre
de referencia o nombre que los datos ocuparan mientras se ejecuten en el interior
de este Arreglo debe ser el mismo y se diferencian uno del otro con el número de
posición que se lo otorga a cada dato con su respectivo valor. Además, estos
Arreglos cumplen con una cualidad un tanto peculiar, la cual consta que sus datos
son ordenados de mayor a menor y de la misma manera su ciclo se efectúa, siendo
el valor más bajo o con cualidades menores comienza el ciclo de procesos del
Vector y valor dentro del vector con cualidades más altas es el que se ejecutara de
ultimo cumpliendo con la culminación del ciclo de forma efectiva. (Jesús Osorio
2012).
Matrices
Las Matrices son conocidas también bajo el seudónimo definido como “Tablas
Bidimensionales” y dicho seudónimo lo adquiere gracias a poseer solamente dos
dimensiones que componen su estructura de composición, además comparte cierta
cantidad de similitudes con los vectores. Sin embargo, se diferencian de estos
últimos por poseer dos subíndices para la generación de sus funciones, como así
mismo el ciclo de función y de realización de las operaciones a llevar a cabo bajo el
uso de una Matriz es superior a la de un vector dado que manipulan una cantidad
de datos por encima de los mencionados anteriormente. Los datos de una Matriz
deben ser catalogados e inicializados de manera efectiva, ya que al utilizar dos
subíndices los datos dentro de dicho Arreglo se ven ubicados en cuadrantes del
mismo y su tipo de dato siempre debe ser el mismo pero su ubicación para ser
identificados se determina bajo el uso de coordenadas de posición y que en el
lineamiento de programación son utilizados para ir realizando las operaciones de
forma efectiva en una Matriz. (Jesús Osorio 2012).
Librerías utilizadas
se utilizaron la libreria stdlib.h y stdio.h para ingreso e impresion de datos con las
funciones scan y print respectivamente, ademas de la libreria locale.h para que
pueda aceptar la acentuación de las palabras su sintaxis es setlocale(LC_CTYPE,
"Spanish");

Fase de diseño
Algoritmo nombre

setlocaleLC_CTYPE,"Spanish"

Dimension datos[F][C]

Dimension expedientes[F][X]

Hacer

Escribir '***********************'

Escribir '* HOSPITAL DEL SUR *'

Escribir '* BIENVENIDO AL MENU *'

Escribir '***********************'

Escribir '* ¿Que es lo que deseas hacer? *'

Escribir '* 1.-Registro de pacientes *'

Escribir '* 2.-Lista de pacientes *'

Escribir '* 3.-Expediente de pacientes *'

Escribir '* 4.-Listado del expediente *'

Escribir '* 5.-Analisis de niveles de glucosa *'

Escribir '* 6.-Promedio del nivel de glucosa mensual *'

Escribir '* 0.-Salir *'

Escribir '***********************'

Escribir 'Ingrese la opcion elegida:'

Leer opc

Segun opc Hacer

1:

Registrodatos
2:

Listadodatos

3:

RegExpedienteexpedientes

Escribir 'Registro llenado correctamente'

4:

ListadoExpexpedientes

5:

CantidadDiasNivelesexpedientes

6:

Promedioexpedientes

FinSegun

Hasta Que (opc!=0)

FinAlgoritmo

SubProceso REGISTRO( DAT[][C])

Para i=0 Hasta F Con Paso 1

Para j=0 Hasta C Con Paso 1

Segun j Hacer

0:

dat[i][j]=i+1

Escribir 'El codigo del paciente es: ',dat[i][j]

1:

Escribir 'Ingresa Edad del paciente: '

Leer dat[i][j]

2:

Escribir 'Ingresa digito del paciente0: Sin diabetes y 1: Diabetes: '

Leer dat[i][j]

FinSegun

FinPara
Borrar Pantalla

FinPara

FinSubProceso

SubProceso LISTADO( DAT[][C])

Escribir 'Codigo\tEdad\tDiabetes'

Para i=0 Hasta F Con Paso 1

Para j=0 Hasta C Con Paso 1

Segun j Hacer

0:

Escribir '',dat[i][j]

1:

Escribir '\t',dat[i][j]

2:

Escribir '\t',dat[i][j]

FinSegun

FinPara

Escribir ''

FinPara

FinSubProceso

SubProceso REGEXPEDIENTE( A[][X])

Para i=0 Hasta F Con Paso 1

Para j=0 Hasta X Con Paso 1

Segun j Hacer

0:

a[i][j]=i+1

1:

a[i][j]=55)+Azar(200-55)+1)

2:

a[i][j]=55)+Azar(200-55)+1)
3:

a[i][j]=55)+Azar(200-55)+1)

4:

a[i][j]=55)+Azar(200-55)+1)

FinSegun

FinPara

Borrar Pantalla

FinPara

FinSubProceso

SubProceso LISTADOEXP( A[][X])

Escribir 'Codigo\tSemana1\tSemana2\tSemana3\tSemana4'

Para i=0 Hasta F Con Paso 1

Para j=0 Hasta X Con Paso 1

Segun j Hacer

0:

Escribir '',a[i][j]

1:

Escribir '\t',a[i][j]

2:

Escribir '\t',a[i][j]

3:

Escribir '\t',a[i][j]

4:

Escribir '\t',a[i][j]

FinSegun

FinPara

Escribir ''

FinPara

FinSubProceso
SubProceso CANTIDADDIASNIVELES( A[][X])

Escribir 'Codigo\t\tDescripcion'

Escribir '--------------------------------------------------------'

0,0,0

FinSubProceso

Para i=0 Hasta F Con Paso 1

Para j=0 Hasta X Con Paso 1

Si (j>=1)

Si (a[i][j]>=70)

Si (a[i][j]<=110)

acum[0]=acum[0]+1

SiNo

acum[1]=acum[1]+1

FinSi

SiNo

acum[2]=acum[2]+1

FinSi

FinSi

FinPara

Escribir '\t\tCantidad de Días con glucosa Normal días',a[i][0],acum[0]*7

Escribir '\t\tCantidad de Días con glucosa Alta días',acum[1]*7

Escribir '\t\tCantidad de Días con glucosa Baja días',acum[2]*7

Escribir ''

acum[0]=0

acum[1]=0

acum[2]=0

Escribir '--------------------------------------------------------'

FinPara

}
SubProceso PROMEDIO( A[][X])

Escribir 'Codigo\tPromedio de glucosa'

Escribir '-------------------------------------------------------'

Para i=0 Hasta F Con Paso 1

Para j=0 Hasta X Con Paso 1

Si (j==0)

Escribir '\t',a[i][j]

FinSi

Si (j>0)

promedio=promedio+a[i][j]

FinSi

FinPara

promedio=promedio/4

Escribir '\t.2f',promedio

Escribir '--------------------------------------------------------'

FinPara

FinSubProceso

Fase de implementación
#include <stdio.h>

#include <stdlib.h>

#include <locale.h>

#define F 10

#define C 3

#define X 5

/*

Autor: Flores Arvizu Alejandra / Karen Navez Leslie / Mora González Angel Maximiliano

Materia: Recursamiento de Programación

Archivo: PRO-Grupo-EP3_Navez_Flores_Mora.c
Descripsión: El hospital del Sur desea llevar el control mensual del nivel de glucosa diez pacientes
(azúcar en la sangre)

para prevenir el desarrollo de la diabetes. Para ello, le ha pedido a cada uno de sus
pacientes que acudan una

vez a la semana para que les revisen su nivel de glucosa.

Los niveles de glucosa se consideran en un nivel normal, cuando esta se encuentra en el


rango de 70 a 120

mg/dl, si los niveles se encuentran fuera de ese rango, puede existir la posibilidad de que el
paciente este

propenso o ya tenga diabetes.

Por lo anterior, el hospital ha solicitado que se implemente un programa que sea una
herramienta para llevar

el control mensual del nivel de glucosa de sus pacientes.

El programa deberá contar con las siguientes funciones:

1). Registro de datos generales de los pacientes: En esta opción, se deberán registrar los
datos generales

de los pacientes: código, edad y un dígito para indicar si tiene o no diabetes, por ejemplo:
0: Sin diabetes y

1: Diabetes.

2). Listado de pacientes: Esta opción desplegará los pacientes que se encuentran
registrados. En caso de

no existir ningún paciente registrado solamente se deberá mostrar un mensaje


informativo.

3). Expediente de pacientes: Esta opción permitirá registrar las mediciones del nivel de
glucosa de cada

paciente. El nivel de glucosa se mide solo una vez a la semana durante un mes. Para llenar
el expediente, se

deberán generar números aleatorios en el rango de 55 a 200.

4). Listado del expediente de pacientes: Esta opción desplegará los niveles de glucosa de
cada paciente,

registrados previamente. En caso de que no esté registrado ningún nivel de glucosa,


desplegar solamente un

mensaje de notificación.
5). Análisis de niveles de glucosa: En esta opción se deberán realizar algunos cálculos por
cada paciente,

para determinar los siguientes resultados:

a). Número de días con un nivel normal de la glucosa (70 a 110)

b). Número de días con un nivel alto de glucosa (&gt;110)

c). Número de días con un nivel bajo de glucosa (&lt;70)

El programa deberá imprimir los resultados obtenidos en los incisos a, b y c.

6). Promedio del nivel de glucosa mensual por paciente: En esta opción se calculará el
promedio de los

niveles de glucosa registrados por cada paciente, esto durante cada mes. Para esta
opción se deberá

implementar una función recursiva.

Fecha: 18 Julio, 2020

*/

void Registro(int dat[][C]);

void Listado(int dat[][C]);

void RegExpediente(int a[][X]);

void ListadoExp(int a[][X]);

void CantidadDiasNiveles(int a[][X]);

void Promedio(int a[][X]);

int main()

setlocale(LC_CTYPE,"Spanish");

srand(time(NULL));

int datos[F][C],expedientes[F][X],opc;

do{

printf("\n*************************\n");

printf("\n* HOSPITAL DEL SUR *\n");

printf("\n* BIENVENIDO AL MENU *\n");


printf("\n*************************\n");

printf("\n* ¿Que es lo que deseas hacer? *\n");

printf("\n* 1.-Registro de pacientes *\n");

printf("\n* 2.-Lista de pacientes *\n");

printf("\n* 3.-Expediente de pacientes *\n");

printf("\n* 4.-Listado del expediente *\n");

printf("\n* 5.-Analisis de niveles de glucosa *\n");

printf("\n* 6.-Promedio del nivel de glucosa mensual *\n");

printf("\n* 0.-Salir *\n");

printf("\n*************************\n");

printf("Ingrese la opcion elegida:");

scanf("%d",&opc);

switch(opc){

case 1:

Registro(datos);

break;

case 2:

Listado(datos);

break;

case 3:

RegExpediente(expedientes);

printf("\nRegistro llenado correctamente\n");

break;

case 4:

ListadoExp(expedientes);

break;

case 5:

CantidadDiasNiveles(expedientes);

break;
case 6:

Promedio(expedientes);

break;

}while(opc!=0);

return 0;

void Registro(int dat[][C]){

int i,j;

for(i=0;i<F;i++){

for(j=0;j<C;j++){

switch(j){

case 0:

dat[i][j]=i+1;

printf("El codigo del paciente es: %d",dat[i][j]);

break;

case 1:

printf("\nIngresa Edad del paciente: ");

scanf("%d",&dat[i][j]);

break;

case 2:

printf("\nIngresa digito del paciente(0: Sin diabetes y 1: Diabetes): ");

scanf("%d",&dat[i][j]);

break;

}system("cls");

}
void Listado(int dat[][C]){

int i,j;

printf("Codigo\tEdad\tDiabetes\n");

for(i=0;i<F;i++){

for(j=0;j<C;j++){

switch(j){

case 0:

printf("%d",dat[i][j]);

break;

case 1:

printf("\t%d",dat[i][j]);

break;

case 2:

printf("\t%d",dat[i][j]);

break;

}printf("\n");

void RegExpediente(int a[][X]){

int i,j;

for(i=0;i<F;i++){

for(j=0;j<X;j++){

switch(j){

case 0:

a[i][j]=i+1;

break;
case 1:

a[i][j]=55+(rand()%(200-55+1));

break;

case 2:

a[i][j]=55+(rand()%(200-55+1));

break;

case 3:

a[i][j]=55+(rand()%(200-55+1));

break;

case 4:

a[i][j]=55+(rand()%(200-55+1));

break;

}system("cls");

void ListadoExp(int a[][X]){

int i,j;

printf("Codigo\tSemana1\tSemana2\tSemana3\tSemana4\n");

for(i=0;i<F;i++){

for(j=0;j<X;j++){

switch(j){

case 0:

printf("%d",a[i][j]);

break;

case 1:

printf("\t%d",a[i][j]);

break;
case 2:

printf("\t%d",a[i][j]);

break;

case 3:

printf("\t%d",a[i][j]);

break;

case 4:

printf("\t%d",a[i][j]);

break;

}printf("\n");

void CantidadDiasNiveles(int a[][X]){

int i,j;

printf("Codigo\t\tDescripcion\n");

printf("--------------------------------------------------------\n");

int acum[]={0,0,0};

for(i=0;i<F;i++){

for(j=0;j<X;j++){

if(j>=1){

if(a[i][j]>=70){

if(a[i][j]<=110){

acum[0]=acum[0]+1;

}else{

acum[1]=acum[1]+1;
}

}else{

acum[2]=acum[2]+1;

printf("%d\t\tCantidad de Días con glucosa Normal %d días\n",a[i][0],acum[0]*7);

printf("\t\tCantidad de Días con glucosa Alta %d días\n",acum[1]*7);

printf("\t\tCantidad de Días con glucosa Baja %d días\n",acum[2]*7);

printf("\n");

acum[0]=0;

acum[1]=0;

acum[2]=0;

printf("\n--------------------------------------------------------\n");

void Promedio(int a[][X]){

int i,j;

printf("Codigo\tPromedio de glucosa\n");

printf("\n-------------------------------------------------------\n");

float promedio=0;

for(i=0;i<F;i++){

for(j=0;j<X;j++){

if(j==0){

printf("%d\t",a[i][j]);

if(j>0){
promedio=promedio+a[i][j];

}promedio=promedio/4;

printf("\t%.2f",promedio);

printf("\n--------------------------------------------------------\n");

Fase de pruebas

1. Menú principal del programa.

Ilustración 1

2. Opc.1 Registro de pacientes(Se inserta en automático el código del paciente,


la edad y se define si tiene diabetes o no mediante un 1 o 0).

Ilustración 2

3. Ocp.2 Listado de pacientes(Se muestran en pantalla los datos antes


ingresados del pasiente.
Ilustración 3

4. Opc. 3 Inserción en expedientes de pacientes (El nivel de glucosa se genera


de manera aleatoria entre 55 y 200, así como su código y únicamente se
imprime un mensaje en pantalla de que la inversión se realizó con éxito).

Ilustración 4

5. Opc. 4 Se enlista los datos del expediente generados.

Ilustración 5

6. Opc. 5 Se realiza el cálculo de los días en los que el paciente tuvo un nivel
de glucosa alto, bajo o normal.
Ilustración 6

7. Opc 6. Se realiza el promedio de los niveles de glucosa que tuvo el paciente


en las últimas 4 semanas.

Ilustración 7

8. Opc 0. Se realiza el final del programa.


Ilustración 8

Conclusiones

Aprendimos a realizar un análisis y diseño para saber qué es lo que el programa


requería para saber que funciones y estructuras necesitábamos utilizar en el
programa y así implementarlo.
Nos parece muy interesante e importante el que se realicen estos tipos de
evidencias debido a que nos enseñan que al seguir cierta metodología como lo es
el análisis, diseño del programa, así como su implementación podemos llegar a la
resolución del mismo.
Bibliografía
NGuerrero. (2016). ¿Qué es y cómo se usa el ciclo do – while?. 2020, de
programaenlinea Sitio web: https://programaenlinea.net/que-es-y-como-se-usa-
elciclo-do-while/
Miguel Ángel Álvarez. (2001). Estructura IF. 2020, de desarrolloweb. Sitio web:
https://desarrolloweb.com/articulos/estructura-if.html
Beto Quiroga. (2017). Operadores condicionales if & else. 2020, de ed.team Sitio
web: https://ed.team/blog/operadores-condicionales-if-else
Juan David Meza González.. (2012). Condicional switch en C++. Declaración uso
y sintaxis de switch en C++. 2020, de programarya Sitio web:
https://www.programarya.com/Cursos/C++/Condicionales/Condicional-switch
Rafael Melendez. (2019). Tipos de Arreglos en Programación y Definición. 2020, de
siaguanta Sitio web: https://siaguanta.com/c-tecnologia/tipos-de-arreglos-en-
programacion/
González, J. D. M. (2019). Ciclo for. www.programarya.com.
https://www.programarya.com/Cursos/C++/Ciclos/Ciclo-for

Jesús Osorio, . ( 2012). Tipo de Arreglos. 2020, de es.slideshare Sitio web:


https://es.slideshare.net/JOGlam1432/tipo-de-arreglos

También podría gustarte