Universidad del Valle – Sede Zarzal
Ingeniería Industrial
Algoritmia y programación
Proyecto final
Calculadora de índices corporales
Objetivo general
El objetivo general de este proyecto es crear una aplicación que permite hacer cálculos de distintos índices
corporales como el índice de masa corporal y la tasa metabólica basal. En el desarrollo de esta aplicación pondrás
en práctica los conceptos de todo el curso de Algoritmia y programación.
Objetivos específicos
En el desarrollo de este proyecto mostrarás tu capacidad para:
1. Crear funciones.
2. Llamar funciones con parámetros.
3. Llamar funciones desde otras funciones (composición de funciones).
4. Crear y usar un módulo.
5. Probar las funciones de un módulo.
6. Construir interfaces de usuario basadas en consola.
Instrucciones generales
La descripción de la aplicación, que se presenta al comienzo, te permitirá conocer el alcance y las funcionalidades
esperadas de la aplicación que desarrollarás en este proyecto. Las cuatro actividades, descritas posteriormente,
detallan lo que debe realizar y al final, se especifica su forma de entrega.
Ten en cuenta que a lo largo de la descripción de las actividades encontrarás secciones con el título "ATENCIÓN"
con indicaciones para conseguir que el resultado de la valoración y calificación de tu proyecto corresponda con lo
esperado. Es importante que las sigas cuidadosamente.
Antes de empezar, te sugerimos leer con atención todo el proyecto. Mientras lo lees, trata de reconocer los
conceptos del módulo que tendrás que poner en práctica.
Recuerda que este proyecto debe realizarse en grupos de dos estudiantes o en su defecto individual pero en en
NINGUN CASO se aceptaran proyectos iguales o semejantes entre dos o más grupos..
Descripción de la aplicación
Nota: las fórmulas expuestas en este documento representan una aproximación basada en algunas
investigaciones y requieren de conocimiento especializado para su adecuada interpretación. No se deben utilizar
como algún tipo de guía nutricional.
En esta aplicación vamos a calcular distintos índices corporales que nos permiten conocer algunos factores sobre
nuestro estado de salud. Por ejemplo, nos pueden decir si tenemos algún tipo de sobrepeso o si estamos
consumiendo más calorías al día de las que deberíamos. Los siguientes son los índices corporales que calcularemos
en este proyecto:
Índice de masa corporal – IMC
El índice de masa corporal, también conocido como IMC, es un método que se utiliza para estimar si el peso de
una persona es adecuado con respecto a su altura. El IMC se calcula como la razón entre el peso en kilogramos y
el cuadrado de la altura en metros de la persona:
peso (kg)
IMC =
(altura(m))2
La tabla que se muestra a continuación permite usar el IMC calculado para establecer si el peso de una persona
se encuentra dentro de un rango normal o si por el contrario la persona padece de sobrepeso o delgadez.
Valor IMC Categoría
<16 Delgadez severa
16.00-16.99 Delgadez moderada
17.00-18.49 Delgadez aceptable
18.5-24.99 Peso normal
25.00-29.99 Sobrepeso
30.00-34.99 Obesidad tipo I
35.00-39.99 Obesidad tipo II
40.00-49.99 Obesidad tipo III o mórbida
>50 Obesidad tipo IV o extrema
Porcentaje de grasa corporal - %GC
El porcentaje de grasa corporal es una medida (porcentual) que permite establecer si una persona tiene un nivel
adecuado o excesivo de grasa en su cuerpo. Este se calcula a partir del IMC, la edad y el género de la persona:
%GC = 1.2 ∗ IMC + 0.23 ∗ edad(años) − 5.4 − valor_genero
Donde valor_genero es un valor que depende del género de la persona: en caso de ser masculino, el valor es 10.8.
De lo contrario el valor es 0.
La siguiente tabla muestra los rangos recomendados de índice de grasa corporal según la edad y el género de las
personas. Los porcentajes que se salen de estos rangos pueden ser causados por obesidad o por personas que se
consideran deportistas de alto rendimiento.
Rango de edad Rango de %GC Rango de %GC
recomendado en recomendado en
hombres mujeres
20 – 29 años 11% - 20% 16% - 28%
30 – 39 años 12% - 21% 17% - 29%
40 – 49 años 14% - 23% 18% - 30%
50 – 59 años 15% - 24% 19% - 31%
Tasa metabólica basal – TMB
La tasa metabólica basal es el mínimo de calorías necesarias para vivir, es decir el número de calorías que un ser
humano quema al día estando en reposo. Estas calorías son utilizadas por el cuerpo para llevar a cabo funciones
básicas como: bombear la sangre, hacer digestión, respirar, mantener el cerebro funcionando, etc. La TMB se
calcula a través de la siguiente fórmula:
TMB = G10 ∗ peso (kg)H + G6.25 ∗ altura(cm)H − G5 ∗ edad(años)H + valor_genero
Donde valor_genero es un valor que depende del género de la persona: en caso de ser masculino, el valor es 5,
mientas que es -161 en caso de ser femenino.
Tasa metabólica basal según actividad física
Dado que las personas realizamos actividad física en el día, el consumo de calorías diarias (el cual denominaremos
TMBac$i&idad_)i*ica) es mayor al TMB. Para poder calcularlo es necesario multiplicar el TMB por un valor que
depende de la actividad física semanal que realiza cada persona:
TMBac$i&idad_)i*ica = TMB ∗ valor_actividad
Donde valor_actividad es un valor que depende de la actividad física que lleva a cabo la persona semanalmente y
toma los siguientes valores:
1.2: poco o ningún ejercicio
1.375: ejercicio ligero (1 a 3 días a la semana)
1.55: ejercicio moderado (3 a 5 días a la semana)
1.72: deportista (6 -7 días a la semana)
1.9: atleta (entrenamientos mañana y tarde)
Cálculo de las calorías diarias para adelgazar
En general, si las personas desean adelgazar deben reducir las calorías que ingieren a diario y/o deben aumentar
el gasto calórico haciendo más deporte. Si se escoge la primera opción, se recomienda que las personas ingieran
a diario entre un 15% a 20% menos calorías de las que arroja la TMB. Lo anterior sugiere que una persona que
desee adelgazar debe consumir entre 80% y 85% de las calorías que representa la TMB.
Actividad 1: Preparación del ambiente de trabajo
1. Crea una nueva carpeta para el proyecto.
2. Para el desarrollo del proyecto puede apoyarse en la herramienta Thony ([Link]
Actividad 2: Construir el módulo de funciones para calcular los
índices corporales
3. Usando Thonny o cualquier editor de código, crea en tu carpeta de trabajo un nuevo archivo con el nombre
“calculadora_indices.py”. En este archivo tú vas a construir un módulo (libreria) en el que vas a hacer varios
cálculos sobre los indicadores que presentamos anteriormente. En cada caso te indicaremos qué valores
entran como parámetro en las funciones y qué resultado deben arrojar.
4. Define e implementa funciones en tu nuevo archivo de acuerdo con la siguiente información:
ATENCIÓN: para asegurar que no haya problemas durante el proceso de calificación, tú debes definir las
funciones con los nombres, parámetros y tipos exactos que se presentan a continuación. Las funciones deben
estar definidas en el mismo orden.
Nombre de la función calcular_IMC
Descripción de la función Calcula el índice de masa corporal de una persona a partir de la ecuación
definida anteriormente.
Parámetros
Nombre Tipo Descripción
peso float Peso de la persona en kilogramos.
altura float Altura de la persona en metros.
Retorno float Índice de masa corporal de la persona.
Nombre de la función calcular_porcentaje_grasa
Descripción de la función Calcula el porcentaje de grasa de una persona a partir de la ecuación
definida anteriormente.
Parámetros
Nombre Tipo Descripción
peso float Peso de la persona en kilogramos.
altura float Altura de la persona en metros.
edad int Edad de la persona en años.
Valor que varía según el género de la persona: en caso de ser masculino debe
valor_genero float ser 10.8 y en caso de ser femenino debe ser 0.
Retorno float El porcentaje de grasa que tiene el cuerpo de la persona.
Nombre de la función calcular_calorias_en_reposo
Descripción de la función Calcula la cantidad de calorías que una persona quema estando en reposo
(esto es, su tasa metabólica basal), a partir de la ecuación definida
anteriormente.
Parámetros
Nombre Tipo Descripción
peso float Peso de la persona en kilogramos.
altura float Altura de la persona en centímetros.
edad int Edad de la persona en años.
Valor que varía según el género de la persona: en caso de ser masculino
valor_genero int debe ser 5 y en caso de ser femenino debe ser -161.
Retorno float La cantidad de calorías que la persona quema en reposo.
Nombre de la función calcular_calorias_en_actividad
Descripción de la función Calcula la cantidad de calorías que una persona quema al realizar algún tipo
de actividad física (esto es, su tasa metabólica basal según actividad física),
a partir de la ecuación definida anteriormente.
Parámetros
Nombre Tipo Descripción
peso float Peso de la persona en kilogramos.
altura float Altura de la persona en centímetros.
edad int Edad de la persona en años.
Valor que varía según el género de la persona: en caso de ser masculino
valor_genero float debe ser 5 y en caso de ser femenino debe ser -161.
Valor que depende de la actividad física semanal:
1.2: poco o ningún ejercicio
1.375: ejercicio ligero (1 a 3 días a la semana)
1.55: ejercicio moderado (3 a 5 días a la semana)
1.725: deportista (6 -7 días a la semana)
1.9: atleta (entrenamientos mañana y tarde)
valor_actividad float
La cantidad de calorías que una persona quema, al realizar algún tipo de
Retorno float actividad física semanalmente.
Nombre de la función consumo_calorias_recomendado_para_adelgazar
Descripción de la función Calcula el rango de calorías recomendado, que debe consumir una persona
diariamente en caso de que desee adelgazar, a partir de la ecuación
definida anteriormente.
Parámetros
Nombre Tipo Descripción
peso float Peso de la persona en kilogramos.
altura float Altura de la persona en centímetros.
edad int Edad de la persona en años.
Valor que varía según el género de la persona: en caso de ser masculino
valor_genero float toma el valor de 5 y en caso de ser femenino toma el valor de -161.
Una cadena indicando el rango de calorías que una persona debe consumir
si desea adelgazar. El formato de la cadena debe ser: "Para adelgazar es
recomendado que consumas entre: XXX y ZZZ calorías al día.". Siendo XXX
Retorno str el rango inferior y ZZZ el rango superior.
Actividad 3: Construir una interface de usuario basadas en
consola
En esta actividad tú tienes que construir las interfaces basadas en consola para que el usuario interactúe con la
aplicación.
5. Construye un nuevo archivo Python para los 5 problemas que se resuelven con la aplicación. El nombre debe
ser:
consola_principal.py
ATENCIÓN: este archivo debe ser creado dentro de la misma carpeta donde se encuentra tú módulo de
índices corporales.
En este archivo se escribirá el código principal, donde se definirá un menú que permita a los usuarios
seleccionar alguno de los métodos (funciones) a utilizar según lo requiera el usuario.
6. El nuevo archivo debe importar tú módulo de índices corporales para que puedan usar las funciones que
definiste en el módulo. Por ejemplo, podrías usar la siguiente línea para importar el módulo:
import calculadora_indices as calc
7. Implementa cada uno de las cinco funciones que se encuentran disponibles por medio del menú en el
programa principal. Cada una de las opciones del menú principal debe pedirle al usuario los datos necesarios
para resolver el problema y debe informarle su resultado.
8. Ejecuta cada una de las 5 opciones del menú principal para asegurarse que estén funcionando los modulos
(funciones).
Actividad 4: Verificar el módulo de índices corporales
9. Ejecuta cada uno de los 5 programas utilizando los datos que se presentan a continuación y asegúrate que los
resultados sean consistentes con lo que se presenta como resultado esperado en la tabla.
Método Entradas Salidas
(Función)
calcular_IMC peso: 81 kg 26.45
altura: 1.75 m
calcular_IMC peso: 56 kg
altura: 1.62 m
Adjuntar evidencia (imagen)
Método Entradas Salidas
(Función)
calcular_porcentaje_grasa peso: 81 kg 20.14%
altura: 1.75 m
edad: 20 años
valor_genero: 10.8
calcular_porcentaje_grasa peso: 56 kg %
altura: 1.62 m
edad: 23 años
valor_genero: 0
Adjuntar evidencia (imagen)
Método Entradas Salidas
(Función)
calculo_calorias_reposo peso: 81 kg 1808.75 cal
altura: 175 cm
edad: 20 años
valor_genero: 5
calculo_calorias_reposo peso: 56 kg
altura: 162 cm
edad: 22 años
valor_genero: -161
Adjuntar evidencia (imagen)
Método Entradas Salidas
(Función)
calculo_calorias_actividad peso: 81 kg 2803.56 cal
altura: 175 cm
edad: 20 años
valor_genero: 5
valor_actividad: 1.55
calculo_calorias_actividad peso: 56 kg cal
altura: 162 cm
edad: 22 años
valor_genero: -161
valor_actividad: 1.725
Adjuntar evidencia (imagen)
Método Entradas Salidas
(Función)
calculo_calorias_adelgazar peso: 81 kg Para adelgazar es
altura: 175 cm recomendado que consumas
edad: 20 años entre: 1447.0 y 1537.44
valor_genero: 5 calorías al día
calculo_calorias_adelgazar peso: 56 kg
altura: 162 cm
edad: 22 años
valor_genero: -161
Adjuntar evidencia (imagen)
Si alguno de tus programas presenta algún error o si el resultado es diferente al esperado, revisa y corrige tu
módulo de índices corporales. Es posible que te aparezcan errores causados por el mal nombramiento de las
funciones, o causados por declarar los parámetros en el orden equivocado. Cada vez que corrijas algo, vuelve
a realizar las pruebas.
Nota: Las pruebas que estás realizando son un mecanismo para identificar posibles problemas con un
programa, pero no pueden ser consideradas una garantía de su correcto funcionamiento. Entre más
completas estén las pruebas, por ejemplo, verificando casos normales, extremos y anormales, más
tranquilidad tendrás de que el programa está bien construido.