Created
November 15, 2023 12:38
-
-
Save anartzdev/1853e3720810eeacb82aac4492d92b83 to your computer and use it in GitHub Desktop.
Macro-nutrientes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Import stylesheets | |
import './style.css'; | |
// Write TypeScript code! | |
const appDiv: HTMLElement = document.getElementById('app'); | |
appDiv.innerHTML = `<h1>TypeScript Starter</h1>`; | |
appDiv.innerHTML = `<p>Prueba</p>` | |
type Genre = 'men' | 'women'; | |
const KCAL_PER_GR = { | |
PROTEIN: 4, | |
CH: 4, | |
FAT: 9, | |
}; | |
const ActivityLevels = { | |
sedentary: 1.2, | |
low_active: 1.375, | |
moderately_active: 1.55, | |
very_active: 1.725, | |
extremely_active: 1.9, | |
} as const; | |
type ActivityLevel = keyof typeof ActivityLevels; | |
interface PersonData { | |
genre: Genre; | |
activityLevel: ActivityLevel; | |
height: number; | |
weight: number; | |
age: number; | |
} | |
const data: PersonData = { | |
genre: 'men', | |
activityLevel: 'moderately_active', | |
height: 186, | |
weight: 73.4, | |
age: 37, | |
}; | |
console.log(data); | |
// ================================================================================ | |
// Calcular calorias de mantenimiento | |
// ================================================================================ | |
/*1. Gasto Calórico Basal (BMR): | |
La ecuación de Harris-Benedict revisadas por Mifflin y St Jeor en 1990: | |
Para hombres: BMR = (10 * peso en kg) + (6.25 * altura en cm) - (5 * edad en años) + 5 | |
Para mujeres: BMR = (10 * peso en kg) + (6.25 * altura en cm) - (5 * edad en años) - 161 | |
*/ | |
const BMR = | |
data.genre === 'men' | |
? 10 * data.weight + 6.25 * data.height - 5 * data.age + 5 | |
: 10 * data.weight + 6.25 * data.height - 5 * data.age - 161; | |
/*2. Total de Gasto Calórico Diario (TDEE): | |
Después de calcular el BMR, debes ajustarlo según el nivel de actividad física del individuo. Aquí están los factores típicos de actividad: | |
Sedentario (poco o ningún ejercicio): BMR * 1.2 | |
Ligeramente activo (ejercicio ligero de 1-3 días a la semana): BMR * 1.375 | |
Moderadamente activo (ejercicio moderado de 3-5 días a la semana): BMR * 1.55 | |
Muy activo (ejercicio intenso de 6-7 días a la semana): BMR * 1.725 | |
Extremadamente activo (entrenamiento intensivo y físico diario): BMR * 1.9*/ | |
const TDEE = BMR * ActivityLevels[data.activityLevel]; | |
console.log(TDEE, 'kcal'); | |
/** | |
* Fórmula General para la Ingesta de Proteínas: | |
Ingesta de Proteínas (en gramos) = Peso Corporal (en kilogramos) * Cantidad de Proteínas por Kilogramo de Peso | |
Cantidad de Proteínas por Kilogramo de Peso: | |
Sedentario (poco o ningún ejercicio): 1.2 a 1.4 gramos por kilogramo de peso. | |
Ligeramente activo (ejercicio ligero de 1-3 días a la semana): 1.4 a 1.6 gramos por kilogramo de peso. | |
Moderadamente activo (ejercicio moderado de 3-5 días a la semana): 1.6 a 1.8 gramos por kilogramo de peso. | |
Muy activo (ejercicio intenso de 6-7 días a la semana): 1.8 a 2.0 gramos por kilogramo de peso. | |
Extremadamente activo (entrenamiento intensivo y físico diario): 2.0 a 2.2 gramos por kilogramo de peso. | |
*/ | |
const proteinsBasesActivityLevel = { | |
sedentary: [1.2, 1.4], | |
low_active: [1.4, 1.6], | |
moderately_active: [1.6, 1.8], | |
very_active: [1.8, 2.0], | |
extremely_active: [2.0, 2.2], | |
}; | |
const minProteinsConsumeInGr = | |
data.weight * proteinsBasesActivityLevel[data.activityLevel][0]; | |
const maxProteinsConsumeInGr = | |
data.weight * proteinsBasesActivityLevel[data.activityLevel][1]; | |
console.log('Min (gr) proteins: ', minProteinsConsumeInGr); | |
console.log('Max (gr) proteins: ', maxProteinsConsumeInGr); | |
/** | |
* Fórmula General para la Ingesta de carbohidratos: | |
La fórmula general para calcular la ingesta de carbohidratos se basa en el porcentaje de calorías totales que deseas obtener de los carbohidratos. Aquí está la fórmula: | |
Ingesta de Carbohidratos (en gramos) = (Porcentaje de Calorías de Carbohidratos / 100) * Total de Calorías Diarias / 4 | |
Donde: | |
Porcentaje de Calorías de Carbohidratos es la proporción de calorías totales que deseas obtener de los carbohidratos. Por ejemplo, si deseas que el 50% de tus calorías diarias provengan de los carbohidratos, este valor sería 50. | |
Total de Calorías Diarias es la cantidad total de calorías que deseas consumir en un día. | |
La división por 4 se debe al hecho de que los carbohidratos proporcionan aproximadamente 4 calorías por gramo. | |
Aquí tienes un ejemplo de cómo utilizar esta fórmula: | |
Supongamos que deseas consumir 2500 calorías al día y deseas que el 55% de esas calorías provengan de los carbohidratos. | |
Ingesta de Carbohidratos (en gramos) = (55 / 100) * 2500 / 4 = 343.75 gramos de carbohidratos al día | |
En este caso, necesitarías consumir aproximadamente 343.75 gramos de carbohidratos al día para cumplir con tu objetivo del 55% de calorías de carbohidratos en una dieta de 2500 calorías. Ten en cuenta que esta es solo una estimación y que las necesidades individuales pueden variar según el nivel de actividad y los objetivos personales. | |
*/ | |
const carboHydratePercetangePerDay = 50; | |
const eatCarboHydratesGr = (carboHydratePercetangePerDay / 100) * (TDEE / 4); | |
/**Fórmula General para la Ingesta de carbohidratos | |
* | |
* https://menjasa.es/revista/es/como-calcular-carbohidratos/ | |
*/ | |
console.log( | |
eatCarboHydratesGr, | |
'gr (CH) with ', | |
carboHydratePercetangePerDay, | |
'%' | |
); | |
// Proteina 1gr = 4kcal | |
// Obtener gramos de proteinas = TDEE * (17%) / (kcal por gramo de proteina) | |
const omsRecomendationProteins = (TDEE * 0.17) / KCAL_PER_GR.PROTEIN; | |
console.log('PROTEINS (OMS)', omsRecomendationProteins); | |
// CH 1gr = 4kcal | |
// Obtener gramos de ch = TDEE * (58%) / (kcal por gramo de ch) | |
const omsRecomendationChs = (TDEE * 0.58) / KCAL_PER_GR.CH; | |
console.log('CHs (OMS)', omsRecomendationChs); | |
// 17%, hidratos de carbono 58% y lípidos 25%) | |
// CH 1gr = 9kcal | |
// Obtener gramos de grasas = TDEE * (25%) / (kcal por gramo de grasas) | |
const omsRecomendationGrasas = (TDEE * 0.25) / KCAL_PER_GR.FAT; | |
console.log('Grasas (OMS)', omsRecomendationGrasas); | |
// 17%, hidratos de carbono 58% y lípidos 25%) | |
// Grasas saturadas (entre un 7-10%): 199 Kcal/9 = 22 g, 284/9 = 31,5 g | |
const saturatedFatMinKCal = TDEE * 0.07; | |
const saturatedFatMaxKcal = TDEE * 0.1; | |
const saturatedFatMinGr = Math.floor(saturatedFatMinKCal / KCAL_PER_GR.FAT); | |
const saturatedFatMaxGr = Math.floor(saturatedFatMaxKcal / KCAL_PER_GR.FAT); | |
console.log( | |
'Saturate fat range in gr: ', | |
saturatedFatMinGr, | |
'-', | |
saturatedFatMaxGr | |
); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment