Proyecto de Módulo 1
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 del módulo 1.
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 de forma completamente individual.
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))!
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
TMB"#$%&%'"'_)%*%#" ) 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:
TMB"#$%&%'"'_)%*%#" = 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. Abre Spyder y reemplaza la carpeta de trabajo por la carpeta nueva.
Actividad 2: Construir el módulo de funciones para calcular los
índices corporales
3. Usando Spyder, 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 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 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 interfaces 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.
ATENCIÓN: las interfaces basadas en consola deben seguir el estándar de construcción de consolas visto en las
lecciones.
5. Construye un nuevo archivo Python para cada uno de los 5 problemas que se resuelven con la aplicación. Los
nombres deben ser:
• consola_calculo_imc.py
• consola_calculo_porcentaje_grasa.py
• consola_calculo_calorias_reposo.py
• consola_calculo_calorias_actividad.py
• consola_calculo_calorias_adelgazar.py
ATENCIÓN: estos archivos deben ser creados dentro de la misma carpeta donde se encuentra tú módulo de
índices corporales.
6. Los nuevos archivos deben 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 los cinco programas de interfaz por consola. Cada uno de estos debe pedirle al
usuario los datos necesarios para resolver el problema y debe informarle su resultado. A modo de ejemplo, la
siguiente imagen muestra lo que podría ser el resultado del ejecutar el programa
“consola_calculo_calorias_adelgazar.py” desde Spyder y desde la consola de Windows.
Desde Spyder:
Desde la consola de Windows:
8. Ejecuta cada uno de los 5 programas para asegurarse que estén funcionando.
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.
Programa Entradas Salidas
consola_calculo_imc.py peso: 81 kg 26.45
altura: 1.75 m
consola_calculo_imc.py peso: 58 kg 20.31
altura: 1.69 m
consola_calculo_porcentaje_grasa.py peso: 81 kg 20.14%
altura: 1.75 m
edad: 20 años
valor_genero: 10.8
consola_calculo_porcentaje_grasa.py peso: 58 kg 23.8%
altura: 1.69 m
edad: 21 años
valor_genero: 0
consola_calculo_calorias_reposo.py peso: 81 kg 1808.75 cal
altura: 175 cm
edad: 20 años
valor_genero: 5
consola_calculo_calorias_reposo.py peso: 58 kg 1370.25 cal
altura: 169 cm
edad: 21 años
valor_genero: -161
consola_calculo_calorias_actividad.py peso: 81 kg 2803.56 cal
altura: 175 cm
edad: 20 años
valor_genero: 5
valor_actividad: 1.55
consola_calculo_calorias_actividad.py peso: 58 kg 2363.68 cal
altura: 169 cm
edad: 21 años
valor_genero: -161
valor_actividad: 1.725
consola_calculo_calorias_adelgazar.py 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
consola_calculo_calorias_adelgazar.py peso: 58 kg Para adelgazar es
altura: 169 cm recomendado que consumas
edad: 21 años entre: 1096.2 y 1164.71
valor_genero: -161 calorías al día
10. 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.
Entrega
11. Comprime la carpeta de trabajo con tu proyecto resuelto como un .zip.
12. Entrega el archivo comprimido a través de Coursera en la actividad del módulo 1 designada como “Evaluación
por pares del Proyecto M1”.