Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

297 lines (289 sloc) 16.395 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 src="../khan-exercise.js"></script>
</head>
<body>
<div class="exercise">
<div class="problems">
<div id="ch4-o2---co2-h2o" data-type="template" 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-type="template" 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-type="template" 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-type="template" 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-type="template" 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-type="template" 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-type="template" 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-type="template" 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-type="template" 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-type="template" 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-type="template" 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-type="template" 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 id="template" data-calculator data-weight="0">
<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>
</div>
<div class="problem">
<p>
Given the following reaction:
<span style="float: right;"><input type="button" class="simple-button" id="show-periodic-table" 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
<span class="example">a decimal, like <code>0.75</code></span>
<span class="example">any answer within 0.1 mole will be accepted to allow for rounding</span>
</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}} =
<var>plural(GIVEN_MOL, "\\text{ mole}", "\\text{ moles}")</var> \text{ of }<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{grams of }<var>GIVEN</var>}{\text{molar mass of }<var>GIVEN</var>} = \text{moles of }<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><var>plural(GIVEN_MOL, "\\text{ mole}", "\\text{ moles}")</var> \text{ of }<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>
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>cardinal(GIVEN_RATIO)</var></span> <code><var>GIVEN</var></code> for every
<span class="hint_red"><var>cardinal(P1_RATIO)</var></span> <code><var>P1</var></code> <var>plural("molecule", P1_RATIO)</var>.
</p>
</div>
<p><code>\qquad
\dfrac{<var>GIVEN</var>}{<var>P1</var>} = \dfrac{<var>GIVEN_RATIO</var>}{<var>P1_RATIO</var>} =
\dfrac{<var>plural(GIVEN_MOL, "\\text{ mole}", "\\text{ moles}")</var>}{x}
</code></p>
</div>
<p>
<code>x = <var>plural(P1_MOL, "\\text{ mole}", "\\text{ moles}")</var></code> of <code><var>P1</var></code> produced.
</p>
</div>
</div>
</div>
</div>
</body>
</html>
Jump to Line
Something went wrong with that request. Please try again.