R1_GIVEN ? R1 : R2 R1_GIVEN ? R2 : R1 R1_GIVEN ? R1_RATIO : R2_RATIO R1_GIVEN ? R1_MOLAR_MASS : R2_MOLAR_MASS randRange(5, 100) roundTo(3, GIVEN_MASS / GIVEN_MOLAR_MASS) roundTo(3, GIVEN_MOL * P1_RATIO / GIVEN_RATIO) roundTo(3, P1_MOL * P1_MOLAR_MASS) i18n._("grams of") i18n._("molar mass of") i18n._("moles of") i18n._("of") new Plural(function(num) { return i18n.ngettext("mole", "moles", num); })

Given the following reaction:

\qquad R1_RATIO === 1 ? "" : R1_RATIOR1 + R2_RATIO === 1 ? "" : R2_RATIOR2 \rightarrow P1_RATIO === 1 ? "" : P1_RATIOP1 + P2_RATIO === 1 ? "" : P2_RATIOP2

How many moles of P1 will be produced from GIVEN_MASS \text{g} of GIVEN, assuming NOT_GIVEN is available in excess?

P1_MOL moles (you can round to the nearest tenth of a mole)

\dfrac{GIVEN_MASS \cancel{\text{g}}}{GIVEN_MOLAR_MASS \cancel{\text{g}} / \text{mol}} = \text{ plural(GIVEN_MOL, "mole")} \text{ OF }GIVEN [Explain]

First we want to convert the given amount of GIVEN from grams to moles. To do this, we divide the given amount of GIVEN by the molar mass of GIVEN.

\dfrac{\text{GRAMS_OF }GIVEN}{\text{MOLAR_MASS_OF }GIVEN} = \text{MOLES_OF }GIVEN

To find the molar mass of GIVEN, we look up the atomic weight of each atom in a molecule of GIVEN in the periodic table and add them together. In this case, it's GIVEN_MOLAR_MASS \text{g/mol}.

Dividing the given GIVEN_MASS \text{g} of GIVEN by the molar mass of GIVEN_MOLAR_MASS \text{g/mol} tells us we're starting with \text{GIVEN_MOL plural_form(MOLE, GIVEN_MOL)} of GIVEN.

The mole ratio of \dfrac{GIVEN}{P1} in the reaction is \dfrac{GIVEN_RATIO}{P1_RATIO}. [Explain]

The reaction is \blue{GIVEN_RATIO}GIVEN + R2_RATIOR2 \rightarrow \red{P1_RATIO}P1 + P2_RATIOP2. The coefficients in front of each molecule tell us in what ratios the molecules react. In this case cardinalThrough20(GIVEN_RATIO) GIVEN for every cardinalThrough20(P1_RATIO) P1 molecule.

The reaction is \blue{GIVEN_RATIO}GIVEN + R2_RATIOR2 \rightarrow \red{P1_RATIO}P1 + P2_RATIOP2. The coefficients in front of each molecule tell us in what ratios the molecules react. In this case cardinalThrough20(GIVEN_RATIO) GIVEN for every cardinalThrough20(P1_RATIO) P1 molecules.

\qquad \dfrac{GIVEN}{P1} = \dfrac{GIVEN_RATIO}{P1_RATIO} = \dfrac{\text{ plural(GIVEN_MOL, "mole")}}{x}

x = \text{ P1_MOL plural_form(MOLE, P1_MOL)} of P1 produced.

"\\text{CH}_4" 1 roundTo(3, molarMass("C") + molarMass("H") * 4) "\\text{O}_2" 2 roundTo(3, molarMass("O") * 2) "\\text{CO}_2" 1 roundTo(3, molarMass("C") + molarMass("O") * 2) "\\text{H}_2\\text{O}" 2 true
"\\text{Mg(OH)}_2" 1 roundTo(3, molarMass("Mg") + (molarMass("O") + molarMass("H")) * 2) "\\text{HCl}" 2 roundTo(3, molarMass("H") + molarMass("Cl")) "\\text{MgCl}_2" 1 roundTo(3, (molarMass("Mg") + molarMass("Cl")) * 2) "\\text{H}_2\\text{O}" 2 true
"\\text{NaCl}" 1 roundTo(3, molarMass("Na") + molarMass("Cl")) "\\text{AgNO}_3" 1 roundTo(3, molarMass("Ag") + molarMass("N") + molarMass("O") * 3) "\\text{AgCl}" 1 roundTo(3, molarMass("Ag") + molarMass("Cl")) "\\text{NaNO}_3" 1 !!rand(2)
"\\text{C}_3\\text{H}_8" 1 roundTo(3, molarMass("C") * 3 + molarMass("H") * 8) "\\text{O}_2" 5 roundTo(3, molarMass("O") * 2) "\\text{CO}_2" 3 roundTo(3, molarMass("C") + molarMass("O") * 2) "\\text{H}_2\\text{O}" 4 true
"\\text{Zn}" 1 roundTo(3, molarMass("Zn")) "\\text{HCl}" 2 roundTo(3, molarMass("H") + molarMass("Cl")) "\\text{ZnCl}_2" 1 roundTo(3, molarMass("Zn") + molarMass("Cl") * 2) "\\text{H}_2" 1 true
"\\text{Cu}" 1 roundTo(3, molarMass("Cu")) "\\text{AgNO}_3" 2 roundTo(3, molarMass("Ag") + molarMass("N") + molarMass("O") * 3) "\\text{Ag}" 2 roundTo(3, molarMass("Ag")) "\\text{Cu(NO}_3\\text{)}_2" 1 true
"\\text{Zn}" 1 roundTo(3, molarMass("Zn")) "\\text{CuCl}_2" 1 roundTo(3, molarMass("Cu") + molarMass("Cl") * 2) "\\text{ZnCl}_2" 1 roundTo(3, molarMass("Zn") + molarMass("Cl") * 2) "\\text{Cu}" 1 true
"\\text{Fe}" 4 roundTo(3, molarMass("Fe")) "\\text{O}_2" 3 roundTo(3, molarMass("O") * 2) "\\text{Fe}_2\\text{O}_3" 2 roundTo(3, molarMass("Fe") * 2 + molarMass("O") * 3) "" true
"\\text{Na}" 2 roundTo(3, molarMass("Na")) "\\text{Cl}_2" 1 roundTo(3, molarMass("Cl") * 2) "\\text{NaCl}" 2 roundTo(3, molarMass("Na") + molarMass("Cl")) "" true
"\\text{HgO}" 2 roundTo(3, molarMass("Hg") + molarMass("O")) "" 0 0 "\\text{Hg}" 2 roundTo(3, molarMass("Hg")) "\\text{O}_2" 1 true
"\\text{H}_2\\text{O}_2" 2 roundTo(3, molarMass("H") * 2 + molarMass("O") * 2) "" 0 0 "\\text{H}_2\\text{O}" 2 roundTo(3, molarMass("H") * 2 + molarMass("O")) "\\text{O}_2" 1 true
"\\text{KClO}_3" 2 roundTo(3, molarMass("K") + molarMass("Cl") + molarMass("O") * 3) "" 0 0 "\\text{KCl}" 2 roundTo(3, molarMass("K") + molarMass("Cl")) "\\text{O}_2" 3 true