Addition and Subtraction of Directed Numbers (2)
2015-01-21 04:29
This applet demonstrates the addition and subtraction of directed numbers. Users can generate random questions and view calculations via interactive buttons. Utilizing GeoGebra commands like vectors and sequences, it visually illustrates changes when adding or subtracting positive and negative numbers, helping students understand the algebraic and geometric intuition of these operations.
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="883.6471336181064" yZero="329.64586005043753" scale="25.958425502496837" yscale="25.955870539356752"/>
<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 ="list3" exp="{"$+$", "$-$"}"/>
<element type="list" label="list3">
<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="244" y="23"/>
<labelMode val="3"/>
<animation step="1" speed="1" type="0" playing="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<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 ="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="13" y="23"/>
<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>
<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>
<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="449" y="23"/>
<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>
<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="313" y="148"/>
<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] SetVisibleInView[pic1,1,true] SetVisibleInView[pic2,1,true] SetVisibleInView[pic3,1,true] SetVisibleInView[pic4,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="313" y="252"/>
<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] SetVisibleInView[textQ2,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="313" y="356"/>
<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] SetVisibleInView[textQ3,1,true]"/>
<font serif="false" sizeM="2" size="18" style="0"/>
<caption val="Result"/>
</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="1"/>
<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="313" y="459"/>
<labelMode val="3"/>
<animation step="1" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
<ggbscript val="SetVisibleInView[pic1,1,false] SetVisibleInView[pic2,1,false] SetVisibleInView[pic3,1,false] SetVisibleInView[pic4,1,false] 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[Q,1,false] SetVisibleInView[button2,1,false] SetVisibleInView[button3,1,false] SetVisibleInView[button4,1,false] SetVisibleInView[textQ2,1,false] SetVisibleInView[textQ3,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="-67" y="16"/>
<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>
<command name="If">
<input a0="SelectedIndex[list3] ≟ 1" a1="a + b" a2="a - b"/>
<output a0="answer"/>
</command>
<element type="numeric" label="answer">
<value val="-6"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
<selectionAllowed val="false"/>
</element>
<command name="Vector">
<input a0="(1, a)" a1="(1, answer)"/>
<output a0="v"/>
</command>
<element type="vector" label="v">
<show object="true" label="false" ev="1"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<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>
<expression label="Q" exp="(0, answer)" type="point" />
<element type="point" label="Q">
<show object="true" label="true" ev="5"/>
<objColor r="255" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelOffset x="31" y="15"/>
<labelMode val="3"/>
<coords x="0" y="-6" z="1"/>
<pointSize val="5"/>
<pointStyle val="1"/>
<caption val="Destination"/>
</element>
<expression label="text3" exp=""終點是 " + answer + """ />
<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"/>
<absoluteScreenLocation x="427" y="377"/>
</element>
<element type="image" label="pic3">
<file name="be3baa76f13161411b0b8a955d92a7e6\images2.jpg"/>
<inBackground val="false"/>
<absoluteScreenLocation x="503" y="208"/> <show object="true" label="false" ev="1"/>
<condition showObject="a < 0"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
</element>
<element type="image" label="pic1">
<file name="f6d332056483e301db46ccfa1e64ad0c\images1.jpg"/>
<inBackground val="false"/>
<absoluteScreenLocation x="504" y="208"/> <show object="true" label="false" ev="1"/>
<condition showObject="a ≥ 0"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
</element>
<element type="image" label="pic2">
<file name="f6d332056483e301db46ccfa1e64ad0c\images1.jpg"/>
<inBackground val="false"/>
<absoluteScreenLocation x="690" y="207"/> <show object="true" label="false" ev="1"/>
<condition showObject="b ≥ 0"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="0" playing="false"/>
<selectionAllowed val="false"/>
</element>
<element type="image" label="pic4">
<file name="be3baa76f13161411b0b8a955d92a7e6\images2.jpg"/>
<inBackground val="false"/>
<absoluteScreenLocation x="689" y="207"/> <show object="true" label="false" ev="1"/>
<condition showObject="b < 0"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<selectionAllowed val="false"/>
</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="705" y="25"/>
<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]] SetValue[list3,Random[1,2]] RunClickScript[button4]"/>
<font serif="false" sizeM="2" size="18" style="0"/>
<caption val="Random"/>
</element>
<expression label="textQ3" exp=""= " + (LaTeX[answer]) + """ />
<element type="text" label="textQ3">
<show object="true" label="false" ev="9"/>
<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="2" size="18" style="0"/>
<absoluteScreenLocation x="16" y="346"/>
</element>
<command name="If">
<input a0="SelectedIndex[list3] ≟ 1" a1="If[b ≥ 0, "+", "-"]" a2="If[b < 0, "+", "-"]"/>
<output a0="signMiddle"/>
</command>
<element type="text" label="signMiddle">
<show object="false" label="true" ev="8"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<absoluteScreenLocation x="834" y="279"/>
</element>
<expression label="text2" exp=""" + (If[a ≥ 0, "由零開始,先上升" + (abs(a)) + "層,", "由零開始,先下跌" + (abs(a)) + "層,"] + (If[signMiddle ≟ "+", "然後上升" + (abs(b)) + "層", "然後下跌" + (abs(b)) + "層"])) + """ />
<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"/>
<absoluteScreenLocation x="427" y="274"/>
</element>
<expression label="textQ1" exp=""(" + (LaTeX[If[a > 0, "+", ""]]) + "" + (LaTeX[a]) + ")" + (LaTeX[If[SelectedIndex[list3] ≟ 1, "+", "-"]]) + "(" + (LaTeX[If[b > 0, "+", ""]]) + "" + (LaTeX[b]) + ")"" />
<element type="text" label="textQ1">
<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="2" size="18" style="0"/>
<absoluteScreenLocation x="16" y="139"/>
</element>
<expression label="textQ2" exp=""=" + (LaTeX[If[a > 0, "+", ""]]) + " " + (LaTeX[a]) + "" + (LaTeX[signMiddle]) + "" + (LaTeX[Text[abs(b)]]) + """ />
<element type="text" label="textQ2">
<show object="true" label="false" ev="9"/>
<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="2" size="18" style="0"/>
<absoluteScreenLocation x="16" y="244"/>
</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="728" y="459"/>
<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="924" y="502"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
<ggbscript val="SetCaption[button0,If[lang==1,"ENG","中文"]] SetCaption[list1,If[lang==1,"選擇:","Choose: "]] SetCaption[list2,If[lang==1,"選擇:","Choose: "]] SetCaption[list3,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="text3eng" exp=""The destination is " + answer + "."" />
<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"/>
<absoluteScreenLocation x="434" y="378"/>
</element>
<expression label="text2eng" exp=""Start at 0. Move " + (If[a ≥ 0, "up for " + (abs(a)) + " unit", "down for " + (abs(a)) + " unit"]) + "" + (If[abs(a) ≟ 1, "", "s"]) + ". Then move " + (If[signMiddle ≟ "+", "up for " + (abs(b)) + " unit", "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"/>
<absoluteScreenLocation x="434" y="274"/>
</element>
<expression label="text1" exp=""加上" + (abs(a)) + "個 ," + (If[SelectedIndex[list3] ≟ 1, "加上" + (abs(b)) + "個", "拿走" + (abs(b)) + "個"]) + """ />
<element type="text" label="text1">
<show object="true" label="true" ev="9"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<absoluteScreenLocation x="426" y="172"/>
</element>
<expression label="text1eng" exp=""add " + (abs(a)) + " , " + (If[SelectedIndex[list3] ≟ 1, "add " + (abs(b)), "take away " + (abs(b))]) + """ />
<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"/>
<absoluteScreenLocation x="435" y="177"/>
</element>
</construction>
</geogebra>