Permalink
Fetching contributors…
Cannot retrieve contributors at this time
303 lines (299 sloc) 16.1 KB
<!DOCTYPE html>
<html data-require="math math-format word-problems subhints chemistry">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ideal stoichiometry</title>
<script data-main="../local-only/main.js" src="../local-only/require.js"></script>
</head>
<body>
<div class="exercise">
<div class="vars">
<var id="GIVEN">R1_GIVEN ? R1 : R2</var>
<var id="NOT_GIVEN">R1_GIVEN ? R2 : R1</var>
<var id="GIVEN_RATIO">R1_GIVEN ? R1_RATIO : R2_RATIO</var>
<var id="GIVEN_MOLAR_MASS">R1_GIVEN ? R1_MOLAR_MASS : R2_MOLAR_MASS</var>
<var id="GIVEN_MASS">randRange(5, 100)</var>
<var id="GIVEN_MOL">roundTo(3, GIVEN_MASS / GIVEN_MOLAR_MASS)</var>
<var id="P1_MOL">roundTo(3, GIVEN_MOL * P1_RATIO / GIVEN_RATIO)</var>
<var id="P1_MASS">roundTo(3, P1_MOL * P1_MOLAR_MASS)</var>
<var id="GRAMS_OF">i18n._("grams of")</var>
<var id="MOLAR_MASS_OF">i18n._("molar mass of")</var>
<var id="MOLES_OF">i18n._("moles of")</var>
<var id="OF">i18n._("of")</var>
<var id="MOLE">new Plural(function(num) {
return i18n.ngettext("mole", "moles", num);
})</var>
</div>
<div class="problem">
<p>
Given the following reaction:
<span style="float: right;"><input class="simple-button" id="show-periodic-table" type="button" value="Show periodic table"></span>
</p>
<p><code>\qquad
<var>R1_RATIO === 1 ? "" : R1_RATIO</var><var>R1</var>
<span data-if="R2 !== ''"> + <var>R2_RATIO === 1 ? "" : R2_RATIO</var><var>R2</var></span>
\rightarrow
<var>P1_RATIO === 1 ? "" : P1_RATIO</var><var>P1</var>
<span data-if="P2 !== ''"> + <var>P2_RATIO === 1 ? "" : P2_RATIO</var><var>P2</var></span>
</code></p>
</div>
<p class="question">
How many moles of <code><var>P1</var></code> will be produced from
<code><var>GIVEN_MASS</var> \text{g}</code> of <code><var>GIVEN</var></code><span data-if="R2 !== ''">, assuming <code><var>NOT_GIVEN</var></code> is available in excess</span>?
</p>
<div class="solution" data-type="multiple">
<span class="sol" data-forms="integer, decimal" data-inexact="" data-max-error="0.1"><var>P1_MOL</var></span> moles (you can round to the nearest tenth of a mole)
</div>
<div class="hints">
<div>
<p><code>
\dfrac{<var>GIVEN_MASS</var> \cancel{\text{g}}}{<var>GIVEN_MOLAR_MASS</var> \cancel{\text{g}} / \text{mol}} =
\text{ <var>plural(GIVEN_MOL, "mole")</var>} \text{ <var>OF</var> }<var>GIVEN</var>
</code>
<span style="float: right;">[<a href="#" class="show-subhint" data-subhint="expl-ch4-mol">Explain</a>]</span></p>
<div class="subhint" id="expl-ch4-mol">
<p>
First we want to convert the given amount of <code><var>GIVEN</var></code> from grams to moles. To do this, we divide
the given amount of <code><var>GIVEN</var></code> by the molar mass of <code><var>GIVEN</var></code>.
</p><p>
<code>\dfrac{\text{<var>GRAMS_OF</var> }<var>GIVEN</var>}{\text{<var>MOLAR_MASS_OF</var> }<var>GIVEN</var>} = \text{<var>MOLES_OF</var> }<var>GIVEN</var></code>
</p><p>
To find the molar mass of <code><var>GIVEN</var></code>, we look up the atomic weight of each atom in a molecule of
<code><var>GIVEN</var></code> in the periodic table and add them together.
In this case, it's <code><var>GIVEN_MOLAR_MASS</var> \text{g/mol}</code>.
</p><p>
Dividing the given <code><var>GIVEN_MASS</var> \text{g}</code> of <code><var>GIVEN</var></code> by the molar mass of
<code><var>GIVEN_MOLAR_MASS</var> \text{g/mol}</code> tells us we're starting with
<code>\text{<var>GIVEN_MOL</var> <var>plural_form(MOLE, GIVEN_MOL)</var>}</code> of <code><var>GIVEN</var></code>.
</p>
</div>
</div>
<div>
<p>
The mole ratio of <code>\dfrac{<var>GIVEN</var>}{<var>P1</var>}</code> in the reaction is
<code>\dfrac{<var>GIVEN_RATIO</var>}{<var>P1_RATIO</var>}</code>.
<span style="float: right;">[<a href="#" class="show-subhint" data-subhint="expl-mol-ratio2">Explain</a>]</span>
</p>
<div class="subhint" id="expl-mol-ratio2">
<p data-if="isSingular(P1_RATIO)">
The reaction is <code>\blue{<var>GIVEN_RATIO</var>}<var>GIVEN</var>
<span data-if="R2 !== ''"> + <var>R2_RATIO</var><var>R2</var></span> \rightarrow
\red{<var>P1_RATIO</var>}<var>P1</var>
<span data-if="P2 !== ''"> + <var>P2_RATIO</var><var>P2</var></span></code>.
The coefficients in front of each molecule tell us in what ratios the molecules react. In this case
<span class="hint_blue"><var>cardinalThrough20(GIVEN_RATIO)</var></span> <code><var>GIVEN</var></code> for every
<span class="hint_red"><var>cardinalThrough20(P1_RATIO)</var></span> <code><var>P1</var></code> molecule.
</p><p data-else="">
The reaction is <code>\blue{<var>GIVEN_RATIO</var>}<var>GIVEN</var>
<span data-if="R2 !== ''"> + <var>R2_RATIO</var><var>R2</var></span> \rightarrow
\red{<var>P1_RATIO</var>}<var>P1</var>
<span data-if="P2 !== ''"> + <var>P2_RATIO</var><var>P2</var></span></code>.
The coefficients in front of each molecule tell us in what ratios the molecules react. In this case
<span class="hint_blue"><var>cardinalThrough20(GIVEN_RATIO)</var></span> <code><var>GIVEN</var></code> for every
<span class="hint_red"><var>cardinalThrough20(P1_RATIO)</var></span> <code><var>P1</var></code> molecules.
</p>
</div>
<p><code>\qquad
\dfrac{<var>GIVEN</var>}{<var>P1</var>} = \dfrac{<var>GIVEN_RATIO</var>}{<var>P1_RATIO</var>} =
\dfrac{\text{ <var>plural(GIVEN_MOL, "mole")</var>}}{x}
</code></p>
</div>
<p>
<code>x = \text{ <var>P1_MOL</var> <var>plural_form(MOLE, P1_MOL)</var>}</code> of <code><var>P1</var></code> produced.
</p>
</div>
<div class="problems">
<div id="ch4-o2---co2-h2o" data-calculator="">
<div class="vars" data-apply="prependVars">
<var id="R1">"\\text{CH}_4"</var>
<var id="R1_RATIO">1</var>
<var id="R1_MOLAR_MASS">roundTo(3, molarMass("C") + molarMass("H") * 4)</var>
<var id="R2">"\\text{O}_2"</var>
<var id="R2_RATIO">2</var>
<var id="R2_MOLAR_MASS">roundTo(3, molarMass("O") * 2)</var>
<var id="P1">"\\text{CO}_2"</var>
<var id="P1_RATIO">1</var>
<var id="P1_MOLAR_MASS">roundTo(3, molarMass("C") + molarMass("O") * 2)</var>
<var id="P2">"\\text{H}_2\\text{O}"</var>
<var id="P2_RATIO">2</var>
<var id="R1_GIVEN">true</var>
</div>
</div>
<div id="mgoh2-hcl---mgcl2-h2o" data-calculator="">
<div class="vars" data-apply="prependVars">
<var id="R1">"\\text{Mg(OH)}_2"</var>
<var id="R1_RATIO">1</var>
<var id="R1_MOLAR_MASS">roundTo(3, molarMass("Mg") + (molarMass("O") + molarMass("H")) * 2)</var>
<var id="R2">"\\text{HCl}"</var>
<var id="R2_RATIO">2</var>
<var id="R2_MOLAR_MASS">roundTo(3, molarMass("H") + molarMass("Cl"))</var>
<var id="P1">"\\text{MgCl}_2"</var>
<var id="P1_RATIO">1</var>
<var id="P1_MOLAR_MASS">roundTo(3, (molarMass("Mg") + molarMass("Cl")) * 2)</var>
<var id="P2">"\\text{H}_2\\text{O}"</var>
<var id="P2_RATIO">2</var>
<var id="R1_GIVEN">true</var>
</div>
</div>
<div id="nacl-agno3---agcl-nano3" data-calculator="">
<div class="vars" data-apply="prependVars">
<var id="R1">"\\text{NaCl}"</var>
<var id="R1_RATIO">1</var>
<var id="R1_MOLAR_MASS">roundTo(3, molarMass("Na") + molarMass("Cl"))</var>
<var id="R2">"\\text{AgNO}_3"</var>
<var id="R2_RATIO">1</var>
<var id="R2_MOLAR_MASS">roundTo(3, molarMass("Ag") + molarMass("N") + molarMass("O") * 3)</var>
<var id="P1">"\\text{AgCl}"</var>
<var id="P1_RATIO">1</var>
<var id="P1_MOLAR_MASS">roundTo(3, molarMass("Ag") + molarMass("Cl"))</var>
<var id="P2">"\\text{NaNO}_3"</var>
<var id="P2_RATIO">1</var>
<var id="R1_GIVEN">!!rand(2)</var>
</div>
</div>
<div id="c3h8-o2---co2-h2o" data-calculator="">
<div class="vars" data-apply="prependVars">
<var id="R1">"\\text{C}_3\\text{H}_8"</var>
<var id="R1_RATIO">1</var>
<var id="R1_MOLAR_MASS">roundTo(3, molarMass("C") * 3 + molarMass("H") * 8)</var>
<var id="R2">"\\text{O}_2"</var>
<var id="R2_RATIO">5</var>
<var id="R2_MOLAR_MASS">roundTo(3, molarMass("O") * 2)</var>
<var id="P1">"\\text{CO}_2"</var>
<var id="P1_RATIO">3</var>
<var id="P1_MOLAR_MASS">roundTo(3, molarMass("C") + molarMass("O") * 2)</var>
<var id="P2">"\\text{H}_2\\text{O}"</var>
<var id="P2_RATIO">4</var>
<var id="R1_GIVEN">true</var>
</div>
</div>
<div id="zn-hcl---zncl2-h2" data-calculator="">
<div class="vars" data-apply="prependVars">
<var id="R1">"\\text{Zn}"</var>
<var id="R1_RATIO">1</var>
<var id="R1_MOLAR_MASS">roundTo(3, molarMass("Zn"))</var>
<var id="R2">"\\text{HCl}"</var>
<var id="R2_RATIO">2</var>
<var id="R2_MOLAR_MASS">roundTo(3, molarMass("H") + molarMass("Cl"))</var>
<var id="P1">"\\text{ZnCl}_2"</var>
<var id="P1_RATIO">1</var>
<var id="P1_MOLAR_MASS">roundTo(3, molarMass("Zn") + molarMass("Cl") * 2)</var>
<var id="P2">"\\text{H}_2"</var>
<var id="P2_RATIO">1</var>
<var id="R1_GIVEN">true</var>
</div>
</div>
<div id="cu-agno3---ag-cuno32" data-calculator="">
<div class="vars" data-apply="prependVars">
<var id="R1">"\\text{Cu}"</var>
<var id="R1_RATIO">1</var>
<var id="R1_MOLAR_MASS">roundTo(3, molarMass("Cu"))</var>
<var id="R2">"\\text{AgNO}_3"</var>
<var id="R2_RATIO">2</var>
<var id="R2_MOLAR_MASS">roundTo(3, molarMass("Ag") + molarMass("N") + molarMass("O") * 3)</var>
<var id="P1">"\\text{Ag}"</var>
<var id="P1_RATIO">2</var>
<var id="P1_MOLAR_MASS">roundTo(3, molarMass("Ag"))</var>
<var id="P2">"\\text{Cu(NO}_3\\text{)}_2"</var>
<var id="P2_RATIO">1</var>
<var id="R1_GIVEN">true</var>
</div>
</div>
<div id="zn-cucl2---zncl2-cu" data-calculator="">
<div class="vars" data-apply="prependVars">
<var id="R1">"\\text{Zn}"</var>
<var id="R1_RATIO">1</var>
<var id="R1_MOLAR_MASS">roundTo(3, molarMass("Zn"))</var>
<var id="R2">"\\text{CuCl}_2"</var>
<var id="R2_RATIO">1</var>
<var id="R2_MOLAR_MASS">roundTo(3, molarMass("Cu") + molarMass("Cl") * 2)</var>
<var id="P1">"\\text{ZnCl}_2"</var>
<var id="P1_RATIO">1</var>
<var id="P1_MOLAR_MASS">roundTo(3, molarMass("Zn") + molarMass("Cl") * 2)</var>
<var id="P2">"\\text{Cu}"</var>
<var id="P2_RATIO">1</var>
<var id="R1_GIVEN">true</var>
</div>
</div>
<div id="fe-o2---fe2o3" data-calculator="">
<div class="vars" data-apply="prependVars">
<var id="R1">"\\text{Fe}"</var>
<var id="R1_RATIO">4</var>
<var id="R1_MOLAR_MASS">roundTo(3, molarMass("Fe"))</var>
<var id="R2">"\\text{O}_2"</var>
<var id="R2_RATIO">3</var>
<var id="R2_MOLAR_MASS">roundTo(3, molarMass("O") * 2)</var>
<var id="P1">"\\text{Fe}_2\\text{O}_3"</var>
<var id="P1_RATIO">2</var>
<var id="P1_MOLAR_MASS">roundTo(3, molarMass("Fe") * 2 + molarMass("O") * 3)</var>
<var id="P2">""</var>
<var id="R1_GIVEN">true</var>
</div>
</div>
<div id="na-cl2---nacl" data-calculator="">
<div class="vars" data-apply="prependVars">
<var id="R1">"\\text{Na}"</var>
<var id="R1_RATIO">2</var>
<var id="R1_MOLAR_MASS">roundTo(3, molarMass("Na"))</var>
<var id="R2">"\\text{Cl}_2"</var>
<var id="R2_RATIO">1</var>
<var id="R2_MOLAR_MASS">roundTo(3, molarMass("Cl") * 2)</var>
<var id="P1">"\\text{NaCl}"</var>
<var id="P1_RATIO">2</var>
<var id="P1_MOLAR_MASS">roundTo(3, molarMass("Na") + molarMass("Cl"))</var>
<var id="P2">""</var>
<var id="R1_GIVEN">true</var>
</div>
</div>
<div id="hgo---hg-o2" data-calculator="">
<div class="vars" data-apply="prependVars">
<var id="R1">"\\text{HgO}"</var>
<var id="R1_RATIO">2</var>
<var id="R1_MOLAR_MASS">roundTo(3, molarMass("Hg") + molarMass("O"))</var>
<var id="R2">""</var>
<var id="R2_RATIO">0</var>
<var id="R2_MOLAR_MASS">0</var>
<var id="P1">"\\text{Hg}"</var>
<var id="P1_RATIO">2</var>
<var id="P1_MOLAR_MASS">roundTo(3, molarMass("Hg"))</var>
<var id="P2">"\\text{O}_2"</var>
<var id="P2_RATIO">1</var>
<var id="R1_GIVEN">true</var>
</div>
</div>
<div id="h2o2---h2o-o2" data-calculator="">
<div class="vars" data-apply="prependVars">
<var id="R1">"\\text{H}_2\\text{O}_2"</var>
<var id="R1_RATIO">2</var>
<var id="R1_MOLAR_MASS">roundTo(3, molarMass("H") * 2 + molarMass("O") * 2)</var>
<var id="R2">""</var>
<var id="R2_RATIO">0</var>
<var id="R2_MOLAR_MASS">0</var>
<var id="P1">"\\text{H}_2\\text{O}"</var>
<var id="P1_RATIO">2</var>
<var id="P1_MOLAR_MASS">roundTo(3, molarMass("H") * 2 + molarMass("O"))</var>
<var id="P2">"\\text{O}_2"</var>
<var id="P2_RATIO">1</var>
<var id="R1_GIVEN">true</var>
</div>
</div>
<div id="kclo3---kcl-o2" data-calculator="">
<div class="vars" data-apply="prependVars">
<var id="R1">"\\text{KClO}_3"</var>
<var id="R1_RATIO">2</var>
<var id="R1_MOLAR_MASS">roundTo(3, molarMass("K") + molarMass("Cl") + molarMass("O") * 3)</var>
<var id="R2">""</var>
<var id="R2_RATIO">0</var>
<var id="R2_MOLAR_MASS">0</var>
<var id="P1">"\\text{KCl}"</var>
<var id="P1_RATIO">2</var>
<var id="P1_MOLAR_MASS">roundTo(3, molarMass("K") + molarMass("Cl"))</var>
<var id="P2">"\\text{O}_2"</var>
<var id="P2_RATIO">3</var>
<var id="R1_GIVEN">true</var>
</div>
</div>
</div>
</div>
</body>
</html>