randRange( 2, 6 ) shuffle( getPrimeFactorization( 60 ).concat( getPrimeFactorization( DISTANCE ) ) ) function(e){for(var r=1,a=0;a<e.length;a++)r*=e[a];return r} randRange( 3, FACTORS.length - 2 ) MULTIPLY( FACTORS.slice( 0, SPLIT ) ) MULTIPLY( FACTORS.slice( SPLIT ) ) function(){return RATE_UP%3===0?2:3}() K * RATE_UP 60 * DISTANCE / RATE_DOWN 60 * 2 * DISTANCE / ( TIME_UP + TIME_DOWN ) $._("velocidad promedio") $._("distancia total") $._("tiempo total") $._("distancia cuesta arriba") $._("distancia cuesta abajo") $._("velocidad cuesta arriba") $._("tiempo cuesta arriba") $._("mph") $._("minutos") $._("hora") $._("tiempo cuesta abajo") $._("velocidad cuesta abajo") $._("millas")

Partiendo de casa, person( 1 ) caminó cuesta arriba a la tienda de store( 1 ) por TIME_UP minutos a RATE_UP mph. Después caminó de regreso cuesta abajo por el mismo camino a una velocidad de K * RATE_UP mph.

Partiendo de casa, person( 1 ) caminó cuesta arriba a la tienda de store( 1 ) por TIME_UP minutos a RATE_UP mph. Después caminó de regreso cuesta abajo, por el mismo camino, a una velocidad de K * RATE_UP mph.

¿Cuál es la velocidad promedio de todo el viaje, de la casa a la tienda de store( 1 ) y de regreso?

¿Cuál es la velocidad promedio de todo el viaje de ida y regreso a la tienda de store( 1 )?

RATE_AVG mph

La velocidad promedio no es sólo el promedio de RATE_UP mph y RATE_DOWN mph.

El caminó por más tiempo cuesta arriba (pues iba más despacio), por lo que podemos estimar que la velocidad promedio esta más cerca de RATE_UP mph que de RATE_DOWN mph.

Ella caminó por más tiempo cuesta arriba (pues iba más despacio), por lo que podemos estimar que la velocidad promedio esta más cerca de RATE_UP mph que de RATE_DOWN mph.

Para calcular la velocidad promedio, haremos uso de lo siguiente:

\text{AVERAGE_SPEED_TEXT} = \dfrac{\color{KhanUtil.BLUE}{\text{TOTAL_DISTANCE_TEXT}}}{\color{KhanUtil.ORANGE}{\text{TOTAL_TIME_TEXT}}}

\text{DISTANCE_UPHILL} = \text{DISTANCE_DOWNHILL}

¿Cuál fue la distancia total recorrida?

\color{KhanUtil.BLUE}{\begin{align*}\text{TOTAL_DISTANCE_TEXT} &= \text{DISTANCE_UPHILL} + \text{DISTANCE_DOWNHILL}\\ &= 2 \times \text{DISTANCE_UPHILL}\end{align*}}

\begin{align*}\text{DISTANCE_UPHILL} &= \text{SPEED_UPHILL} \times \text{TIME_UPHILL_TEXT} \\\ &= RATE_UP\text{ MPH_TEXT} \times TIME_UP\text{ MINUTES_TEXT}\times\dfrac{1 \text{ HOUR_TEXT}}{60 \text{ MINUTES_TEXT}}\\ &= DISTANCE\text{ MILES_TEXT}\end{align*}

Sustituyendo para encontrar la distancia total:

\color{KhanUtil.BLUE}{\text{TOTAL_DISTANCE_TEXT} = 2 * DISTANCE\text{ MILES_TEXT}}

¿Cuál fue el tiempo total de viaje?

\color{KhanUtil.ORANGE}{\text{TOTAL_TIME_TEXT} = \text{TIME_UPHILL_TEXT} + \text{TIME_DOWNHILL_TEXT}}

\begin{align*}\text{TIME_DOWNHILL_TEXT} &= \dfrac{\text{DISTANCE_DOWNHILL}}{\text{SPEED_DOWNHILL_TEXT}}\\ &= \dfrac{DISTANCE\text{ MILES_TEXT}}{RATE_DOWN\text{ MPH_TEXT}}\times\dfrac{60 \text{ MINUTES_TEXT}}{1 \text{ HOUR_TEXT}}\\ &= TIME_DOWN\text{ MINUTES_TEXT}\end{align*}

\color{KhanUtil.ORANGE}{\begin{align*}\text{TOTAL_TIME_TEXT} &= TIME_UP\text{ MINUTES_TEXT} + TIME_DOWN\text{ MINUTES_TEXT}\\ &= TIME_UP + TIME_DOWN\text{ MINUTES_TEXT}\end{align*}}

Ahora que sabemos tanto la distancia total como el tiempo total, podemos encontrar la velocidad promedio.

\begin{align*}\text{AVERAGE_SPEED_TEXT} &= \dfrac{\color{KhanUtil.BLUE}{\text{TOTAL_DISTANCE_TEXT}}}{\color{KhanUtil.ORANGE}{\text{TOTAL_TIME_TEXT}}}\\ &= \dfrac{\color{KhanUtil.BLUE}{2 * DISTANCE\text{ MILES_TEXT}}}{\color{KhanUtil.ORANGE}{TIME_UP + TIME_DOWN\text{ MINUTES_TEXT}}}\times\dfrac{60 \text{ MINUTES_TEXT}}{1 \text{ HOUR_TEXT}}\\ &= RATE_AVG\text{ MPH_TEXT}\end{align*}

La velocidad promedio es de RATE_AVG mph, que es más cercana a RATE_UP mph que RATE_DOWN mph, como esperábamos.

randRange( 5, 10 ) PEOPLE_INIT randRange( 20, 59 ) randRange( PEOPLE_INIT + 3, 20 ) PEOPLE_FINAL TIME_INIT

Se necesitan TIME_INIT minutos para que PEOPLE_INIT pinten WALL_INIT paredes.

¿Cuántos minutos tardarán PEOPLE_FINAL personas en pintar WALL_FINAL paredes?

TIME_FINAL minutos

Imagina a cada persona le asignamos una pared, y las PEOPLE_INIT personas comienzan a pintar al mismo tiempo.

Como todos terminarán sus paredes después de TIME_INIT minutos, le toma TIME_INIT minutos a una persona pintar una pared.

Si tenemos PEOPLE_FINAL personas y WALL_FINAL paredes, podemos asignar a cada persona una pared.

Todos tendrán TIME_FINAL minutos para pintar su pared.

En otras palabras, toma TIME_FINAL minutos que PEOPLE_FINAL personas pinten WALL_FINAL paredes.

randRangeUnique( 3, 7, 2 ) randRange( 30, 50 ) randRange( PEOPLE_INIT + 1, 10 ) randRange( WALL_INIT + 1, 10 ) round( WALL_FINAL * TIME_INIT * PEOPLE_INIT / ( WALL_INIT * PEOPLE_FINAL ) ) getGCD( WALL_FINAL * TIME_INIT * PEOPLE_INIT, WALL_INIT * PEOPLE_FINAL ) !== (WALL_INIT * PEOPLE_FINAL) $._("paredes") $._("personas") $._("minutos") $._("paredes pintadas por persona por minuto")

PEOPLE_INIT personas pueden pintar WALL_INIT paredes en TIME_INIT minutos.

¿Cuántos minutos les tomaría a PEOPLE_FINAL personas pintar WALL_FINAL paredes? Redondea al minuto más cercano.

TIME_FINAL minutos

el número de minutos, redondeado al minuto más cercano

Sabemos lo siguiente sobre el número de paredes, w, pintadas por p personas en t minutos a una velocidad constante r.

w = r \cdot t \cdot p

\begin{align*}w &= WALL_INIT\text{ WALLS_TEXT}\\ p &= PEOPLE_INIT\text{ PEOPLE_TEXT}\\ t &= TIME_INIT\text{ MINUTES_TEXT}\end{align*}

Sustituyendo los valores conocidos y resolviendo para r:

r = \dfrac{w}{t \cdot p}= \dfrac{WALL_INIT}{TIME_INIT \cdot PEOPLE_INIT} = fractionReduce( WALL_INIT, TIME_INIT * PEOPLE_INIT )\text{ WALLS_PAINTED_PER_MINUTE_PER_PERSON}

Ahora podemos calcular la cantidad de tiempo que necesitan PEOPLE_FINAL personas para pintar WALL_FINAL paredes.

t = \dfrac{w}{r \cdot p} = \dfrac{WALL_FINAL}{fractionReduce( WALL_INIT, TIME_INIT * PEOPLE_INIT ) \cdot PEOPLE_FINAL} = \dfrac{WALL_FINAL}{fractionReduce( WALL_INIT * PEOPLE_FINAL, TIME_INIT * PEOPLE_INIT )} = fractionReduce( WALL_FINAL * TIME_INIT * PEOPLE_INIT, WALL_INIT * PEOPLE_FINAL )\text{ MINUTES_TEXT}= mixedFractionFromImproper( WALL_FINAL * TIME_INIT * PEOPLE_INIT, WALL_INIT * PEOPLE_FINAL, true, true )\text{ MINUTES_TEXT}

Redondea al minuto más cercano:

t = TIME_FINAL\text{ MINUTES_TEXT}