Addition and Subtraction of Directed Numbers - Interactive Demo (1)
2020-08-18 16:04
This GeoGebra applet is an interactive mathematics teaching tool that demonstrates the addition and subtraction of directed numbers (signed integers). It uses vectors to visually represent the magnitude and direction of directed numbers on a number line or plane. Interactive buttons allow users to generate random problems and verify answers. Objects u and v represent the directed number vectors in
Loading the GeoGebra board and drawing, please wait…
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="5.0" version="5.0.288.0" id="a35c451c-2034-4d5f-af79-0bc8ae41b1f9" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="960" height="660" />
<perspectives>
</perspectives>
<labelingStyle val="3"/>
<font size="18"/>
</gui>
<euclidianView>
<viewNumber viewNo="1"/>
<size width="958" height="658"/>
<coordSystem xZero="817.4457123404572" yZero="322.4536666666667" scale="25.669193162056736" yscale="25.666666666666615"/>
<evSettings axes="true" grid="false" gridIsBold="false" pointCapturing="3" rightAngleStyle="1" checkboxSize="26" gridType="0"/>
<bgColor r="255" g="255" b="255"/>
<axesColor r="0" g="0" b="0"/>
<gridColor r="192" g="192" b="192"/>
<lineStyle axes="3" grid="10"/>
<axis id="0" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true" tickDistance="1" tickExpression=""/>
<axis id="1" show="true" label="" unitLabel="" tickStyle="1" showNumbers="true" tickDistance="1" tickExpression=""/>
</euclidianView>
<kernel>
<continuous val="false"/>
<usePathAndRegionParameters val="true"/>
<decimals val="2"/>
<angleUnit val="degree"/>
<algebraStyle val="0" spreadsheet="0"/>
<coordStyle val="0"/>
<angleFromInvTrig val="false"/>
</kernel>
<scripting blocked="false" disabled="false"/>
<construction title="" author="" date="">
<expression label ="MaxNum" exp="15"/>
<element type="numeric" label="MaxNum">
<value val="15"/>
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="1"/>
<animation step="1" speed="1" type="0" playing="false"/>
</element>
<command name="Sequence">
<input a0="If[i > 0, "$+", "$"] + (Text[i]) + "$"" a1="i" a2="(-MaxNum)" a3="MaxNum"/>
<output a0="list1"/>
</command>
<element type="list" label="list1">
<show object="true" label="true" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelOffset x="40" y="15"/>
<labelMode val="3"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<selectedIndex val="7"/>
<comboBox val="true"/>
<pointSize val="5"/>
<pointStyle val="-1"/>
<font serif="true" sizeM="1.4" size="8" style="0"/>
<caption val="Choose:"/>
</element>
<command name="Sequence">
<input a0="If[i > 0, "$+", "$"] + (Text[i]) + "$"" a1="i" a2="(-MaxNum)" a3="MaxNum"/>
<output a0="list2"/>
</command>
<element type="list" label="list2">
<show object="true" label="true" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelOffset x="296" y="15"/>
<labelMode val="3"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<selectedIndex val="17"/>
<comboBox val="true"/>
<pointSize val="5"/>
<pointStyle val="-1"/>
<font serif="true" sizeM="1.4" size="8" style="0"/>
<caption val="Choose:"/>
</element>
<expression label="b" exp="SelectedIndex[list2] - MaxNum - 1" />
<element type="numeric" label="b">
<value val="2"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
<selectionAllowed val="false"/>
</element>
<expression label="a" exp="SelectedIndex[list1] - MaxNum - 1" />
<element type="numeric" label="a">
<value val="-8"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
<selectionAllowed val="false"/>
</element>
<element type="button" label="button1">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="0" alpha="255"/>
<layer val="0"/>
<labelOffset x="45" y="229"/>
<labelMode val="3"/>
<animation step="1" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
<ggbscript val="SetVisibleInView[text1,1,lang==1] SetVisibleInView[text1eng,1,lang!=1] SetVisibleInView[u,1,true] SetVisibleInView[button2,1,true]"/>
<font serif="false" sizeM="2" size="18" style="0"/>
<caption val="Step 1"/>
</element>
<element type="button" label="button2">
<show object="true" label="true" ev="1"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="0" alpha="255"/>
<layer val="0"/>
<labelOffset x="45" y="332"/>
<labelMode val="3"/>
<animation step="1" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
<ggbscript val="SetVisibleInView[text2,1,lang==1] SetVisibleInView[text2eng,1,lang!=1] SetVisibleInView[v,1,true] SetVisibleInView[button3,1,true]"/>
<font serif="false" sizeM="2" size="18" style="0"/>
<caption val="Step 2"/>
</element>
<element type="button" label="button3">
<show object="true" label="true" ev="1"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="0" alpha="255"/>
<layer val="0"/>
<labelOffset x="45" y="434"/>
<labelMode val="3"/>
<animation step="1" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
<ggbscript val="SetVisibleInView[text3,1,lang==1] SetVisibleInView[text3eng,1,lang!=1] SetVisibleInView[button4,1,true] SetVisibleInView[Q,1,true]"/>
<font serif="false" sizeM="2" size="18" style="0"/>
<caption val="Result"/>
</element>
<expression label="text3" exp=""終點是 " + (a + b) + """ />
<element type="text" label="text3">
<show object="true" label="false" ev="9"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.8888888888888888" size="16" style="0"/>
<absoluteScreenLocation x="176" y="464"/>
</element>
<command name="Vector">
<input a0="(1, a)" a1="(1, a + b)"/>
<output a0="v"/>
</command>
<element type="vector" label="v">
<show object="true" label="false" ev="5"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<coords x="0" y="2" z="0"/>
<lineStyle thickness="7" type="0" typeHidden="1"/>
<coordStyle style="cartesian"/>
<startPoint x="1" y="-8" z="1"/>
</element>
<command name="Vector">
<input a0="(0.5, 0)" a1="(0.5, a)"/>
<output a0="u"/>
</command>
<element type="vector" label="u">
<show object="true" label="false" ev="5"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<coords x="0" y="-8" z="0"/>
<lineStyle thickness="7" type="0" typeHidden="1"/>
<coordStyle style="cartesian"/>
<startPoint x="0.5" y="0" z="1"/>
</element>
<element type="button" label="button4">
<show object="true" label="true" ev="1"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="0" alpha="255"/>
<layer val="0"/>
<labelOffset x="45" y="537"/>
<labelMode val="3"/>
<animation step="1" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
<ggbscript val="SetVisibleInView[text1,1,false] SetVisibleInView[text2,1,false] SetVisibleInView[text3,1,false] SetVisibleInView[text1eng,1,false] SetVisibleInView[text2eng,1,false] SetVisibleInView[text3eng,1,false] SetVisibleInView[u,1,false] SetVisibleInView[v,1,false] SetVisibleInView[button2,1,false] SetVisibleInView[button3,1,false] SetVisibleInView[button4,1,false] SetVisibleInView[Q,1,false]"/>
<font serif="false" sizeM="2" size="18" style="0"/>
<caption val="Start over"/>
</element>
<element type="point" label="P">
<show object="true" label="true"/>
<objColor r="0" g="0" b="255" alpha="0"/>
<layer val="0"/>
<labelOffset x="-60" y="17"/>
<labelMode val="3"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<auxiliary val="true"/>
<coords x="0" y="0" z="1"/>
<pointSize val="5"/>
<pointStyle val="1"/>
<caption val="Start"/>
</element>
<expression label="Q" exp="(0, a + b)" type="point" />
<element type="point" label="Q">
<show object="true" label="true" ev="1"/>
<objColor r="255" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelOffset x="31" y="15"/>
<labelMode val="3"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<coords x="0" y="-6" z="1"/>
<pointSize val="5"/>
<pointStyle val="1"/>
<caption val="Destination"/>
</element>
<element type="button" label="buttonRan">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="191" g="255" b="0" alpha="255"/>
<layer val="0"/>
<labelOffset x="584" y="24"/>
<labelMode val="3"/>
<animation step="1" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
<ggbscript val="SetValue[list1,Random[1,2*MaxNum+1]] SetValue[list2,Random[1,2*MaxNum+1]] RunClickScript[button4]"/>
<font serif="false" sizeM="2" size="18" style="0"/>
<caption val="Random"/>
</element>
<command name="If">
<input a0="b ≥ 0" a1=""然後上升" + (abs(b)) + "層"" a2=""然後下跌" + (abs(b)) + "層""/>
<output a0="text2"/>
</command>
<element type="text" label="text2">
<show object="true" label="false" ev="9"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.8888888888888888" size="16" style="0"/>
<absoluteScreenLocation x="176" y="361"/>
</element>
<expression label="text1" exp=""由零開始,先" + (If[a ≥ 0, "上升" + (Text[abs(a)]) + "層", "下跌" + (Text[abs(a)]) + "層"])" />
<element type="text" label="text1">
<show object="true" label="false" ev="9"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.8888888888888888" size="16" style="0"/>
<absoluteScreenLocation x="176" y="258"/>
</element>
<expression label="textQ" exp=""" + (LaTeX[a]) + "" + (LaTeX[If[b ≥ 0, "+", ""]]) + "" + (LaTeX[b]) + """ />
<element type="text" label="textQ">
<show object="true" label="false" ev="8"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="4" size="54" style="0"/>
<absoluteScreenLocation x="176" y="104"/>
</element>
<element type="button" label="button0">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="3"/>
<labelOffset x="635" y="537"/>
<labelMode val="3"/>
<animation step="1" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
<ggbscript val="SetValue[lang,If[lang==1,2,1]] RunClickScript[buttonLang] RunClickScript[button4]"/>
<font serif="false" sizeM="1.4" size="8" style="0"/>
<caption val="中文"/>
</element>
<element type="button" label="buttonLang">
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="3"/>
<labelOffset x="853" y="512"/>
<labelMode val="0"/>
<fixed val="true"/>
<auxiliary val="true"/>
<ggbscript val="SetCaption[button0,If[lang==1,"ENG","中文"]] SetCaption[list1,If[lang==1,"選擇:","Choose: "]] SetCaption[list2,If[lang==1,"選擇:","Choose: "]] SetCaption[button1,If[lang==1,"第一步","Step 1"]] SetCaption[button2,If[lang==1,"第二步","Step 2"]] SetCaption[button3,If[lang==1,"結果","Result"]] SetCaption[button4,If[lang==1,"重新開始","Start over"]] SetCaption[buttonRan,If[lang==1,"隨機","Random"]] SetCaption[P,If[lang==1,"起點","Start"]] SetCaption[Q,If[lang==1,"終點","Destination"]]"/>
<font serif="false" sizeM="2" size="18" style="0"/>
</element>
<element type="numeric" label="lang">
<value val="2"/>
<symbolic val="true" />
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
<layer val="3"/>
<labelMode val="1"/>
<animation step="1" speed="1" type="0" playing="false"/>
</element>
<expression label="text1eng" exp=""Start at 0. Move " + (If[a ≥ 0, "up for " + (Text[abs(a)]), "down for " + (Text[abs(a)])]) + " unit" + (If[abs(a) ≟ 1, "", "s"]) + "."" />
<element type="text" label="text1eng">
<show object="true" label="false" ev="9"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="3"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.7" size="13" style="0"/>
<absoluteScreenLocation x="176" y="262"/>
</element>
<expression label="text3eng" exp=""The destination is " + (a + b) + "."" />
<element type="text" label="text3eng">
<show object="true" label="false" ev="9"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="3"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.7" size="13" style="0"/>
<absoluteScreenLocation x="176" y="467"/>
</element>
<expression label="text2eng" exp=""Then move " + (If[b ≥ 0, "up for " + (abs(b)), "down for " + (abs(b))]) + " unit" + (If[abs(b) ≟ 1, "", "s"]) + "."" />
<element type="text" label="text2eng">
<show object="true" label="false" ev="9"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="3"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.7" size="13" style="0"/>
<absoluteScreenLocation x="176" y="365"/>
</element>
</construction>
</geogebra>