Parts, Whole, and Percentages
2024-01-30 12:07
The Parts, Whole, and Percentages applet is a dynamic and interactive visual tool designed to help students deeply understand the fundamental mathematical relationships between individual parts, a complete whole, and their corresponding percentage representations. At the core of this application is an interactive bar chart that serves as a concrete visual anchor for abstract proportional reasoning. The bar represents the total whole, which is dynamically divided into distinct, color-coded segments that represent the various parts making up that whole.
Through intuitive user interactions, students can actively explore how changes in absolute values affect relative proportions. The applet provides adjustable parameters, such as sliders or input fields, allowing learners to modify the numerical value of the whole, the absolute values of the individual parts, or the target percentages. As students manipulate these variables, the bar chart updates in real time. The segments visually resize to reflect the new proportions, while the accompanying numerical displays simultaneously update to show the equivalent fractions, decimals, and percentages. This immediate visual feedback is crucial for helping students observe how increasing a part while keeping the whole constant increases its percentage, or how scaling both the part and the whole by the same factor leaves the percentage unchanged.
Mathematically, this applet bridges the gap between concrete arithmetic and abstract algebraic thinking. It reinforces the core concept that a percentage is essentially a part-to-whole ratio scaled to a base of one hundred. By visually demonstrating these equivalencies, students move beyond the rote memorization of formulas and instead develop a robust conceptual intuition for percentage calculations. They learn to seamlessly transition between different numerical representations, understanding that a fraction, a decimal, and a percentage are simply different languages describing the exact same proportional relationship.
The educational benefits for students are substantial. Many learners initially struggle with the abstract nature of percentages, often confusing the absolute size of a part with its relative percentage. This applet directly addresses those misconceptions by making the invisible math visible. It encourages inquiry-based learning, allowing students to test hypotheses and discover mathematical rules through guided exploration. For example, a student can easily verify what happens to the percentage if the whole is halved while the part remains the same. Ultimately, this interactive demonstration serves as an essential instructional resource for upper elementary and middle school mathematics, laying a critical foundation for more advanced applications in algebra, statistics, probability, and real-world data analysis.
In collections
百分數及其應用
Loading the math board and drawing, please wait…
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="5.0" version="5.2.909.9" app="classic" platform="w" id="1a369910-4612-4e11-a97c-eafd1765003a" xsi:noNamespaceSchemaLocation="https://www.geogebra.org/apps/xsd/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<gui>
<window width="1000" height="600"/>
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.6966666666666667" orientation="0"/>
</panes>
<views>
<view id="4" toolbar="0 || 2020 , 2021 , 2022 , 66 || 2001 , 2003 , 2002 , 2004 , 2005 || 2040 , 2041 , 2042 , 2044 , 2043" visible="false" inframe="false" stylebar="true" location="1,1" size="200" window="0,0,400,400"/>
<view id="1" visible="true" inframe="false" stylebar="false" location="0" size="418" window="0,0,400,400"/>
<view id="2" visible="false" inframe="false" stylebar="true" location="3" size="210" tab="ALGEBRA" window="1432,78,479,883"/>
<view id="8" toolbar="1001 | 1002 | 1003 || 1005 | 1004 || 1006 | 1007 | 1010 | 1011 || 1008 1009 || 6" visible="false" inframe="false" stylebar="false" location="1" size="150" window="50,50,500,500"/>
<view id="16" visible="true" inframe="false" stylebar="false" location="2" size="172" window="915,562,500,500"/>
<view id="32" visible="false" inframe="false" stylebar="true" location="1" size="150" window="897,396,1086,828"/>
<view id="64" toolbar="0" visible="false" inframe="false" stylebar="true" location="1" size="150" window="50,50,500,500"/>
<view id="128" visible="false" inframe="false" stylebar="false" location="1" size="480" window="50,50,500,500"/>
<view id="4097" visible="false" inframe="false" stylebar="true" location="1" size="145" window="848,282,1013,761"/>
<view id="70" toolbar="0 || 2020 || 2021 || 2022" visible="false" inframe="false" stylebar="true" location="1" size="150" window="50,50,500,500"/>
<view id="512" toolbar="0 | 1 501 5 19 , 67 | 2 15 45 18 , 7 37 | 514 3 9 , 13 44 , 47 | 16 | 551 550 11 , 20 22 21 23 , 55 56 57 , 12 | 69 | 510 511 , 512 513 | 533 531 , 534 532 , 522 523 , 537 536 , 535 | 521 520 | 36 , 38 49 560 | 571 30 29 570 31 33 | 17 | 540 40 41 42 , 27 28 35 , 6 , 502" visible="false" inframe="false" stylebar="false" location="1" size="300" window="50,50,500,500"/>
</views>
<toolbar show="false" items="0 39 73 62 | 1 501 67 , 5 19 , 72 75 76 | 2 15 45 , 18 65 , 7 37 | 4 3 8 9 , 13 44 , 58 , 47 | 16 51 64 , 70 | 10 34 53 11 , 24 20 22 , 21 23 | 55 56 57 , 12 | 36 46 , 38 49 50 , 71 14 68 | 30 29 54 32 31 33 | 25 17 26 60 52 61 | 40 41 42 , 27 28 35 , 6" position="1" help="false"/>
<input show="false" cmd="true" top="algebra"/>
<dockBar show="false" east="false"/>
</perspective>
</perspectives>
<labelingStyle val="3"/>
<font size="24"/>
</gui>
<euclidianView>
<viewNumber viewNo="1"/>
<size width="997" height="417"/>
<coordSystem xZero="30.299999999999958" yZero="338.00000000000017" scale="45.833333333333336" yscale="55.00000000000001"/>
<evSettings axes="false" grid="false" gridIsBold="false" pointCapturing="2" 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="1" grid="0"/>
<axis id="0" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<axis id="1" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<grid distX="0.1" distY="0.1" distTheta="0.5235987755982988"/>
</euclidianView>
<euclidianView>
<viewNumber viewNo="2"/>
<size width="997" height="171"/>
<coordSystem xZero="216.99999999999997" yZero="316.0000000000004" scale="49.999999999999986" yscale="50.00000000000011"/>
<evSettings axes="false" grid="false" gridIsBold="false" pointCapturing="2" rightAngleStyle="1" checkboxSize="26" gridType="3"/>
<bgColor r="255" g="250" b="205"/>
<axesColor r="0" g="0" b="0"/>
<gridColor r="192" g="192" b="192"/>
<lineStyle axes="1" grid="0"/>
<axis id="0" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<axis id="1" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<grid distX="0.1" distY="0.1" distTheta="0.5235987755982988"/>
</euclidianView>
<kernel>
<uses3D val="true"/>
<continuous val="false"/>
<usePathAndRegionParameters val="true"/>
<decimals val="2"/>
<angleUnit val="degree"/>
<algebraStyle val="0" spreadsheet="0"/>
<coordStyle val="0"/>
</kernel>
<tableview min="-2" max="2" step="1"/>
<scripting blocked="false" disabled="false"/>
<construction title="" author="" date="">
<element type="point" label="P">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="0.1" type="1" playing="false"/>
<ggbscript onUpdate="SetValue(P, (If(x(P)<x(A)+0.1, x(A)+0.1, x(P)), y(A)))
SetValue(Q, P+(0, 1))
SetValue[m, If(!c, (x(P)/10 n), m)]
SetValue[n, If(c,10 m/x(P) ,n)]
SetValue(p, x(P)/10 100)"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<coords x="6.5" y="3.1" z="1"/>
</element>
<command name="Point">
<input a0="yAxis"/>
<output a0="A"/>
</command>
<element type="point" label="A">
<show object="false" label="true" ev="4"/>
<objColor r="125" g="125" b="255" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" type="1" playing="false"/>
<ggbscript onUpdate="SetValue(P, (x(P), y(A)))
SetValue(Q, (x(Q), y(A)+1))"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<coords x="0" y="3.1" z="1"/>
</element>
<command name="Point">
<input a0="yAxis"/>
<output a0="B"/>
</command>
<element type="point" label="B">
<show object="false" label="true" ev="4"/>
<objColor r="125" g="125" b="255" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" type="1" playing="false"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<coords x="0" y="-0.2" z="1"/>
</element>
<command name="If">
<input a0="x(P) ≤ 10" a1="P" a2="(x(P), y(B))"/>
<output a0="P0"/>
</command>
<element type="point" label="P0">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<pointSize val="4"/>
<pointStyle val="0"/>
<coords x="6.5" y="3.1" z="1"/>
</element>
<command name="If">
<input a0="x(P) ≤ 10" a1="A + (10, 0)" a2="B + (10, 0)"/>
<output a0="A0"/>
</command>
<element type="point" label="A0">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<pointSize val="4"/>
<pointStyle val="0"/>
<coords x="10" y="3.1" z="1"/>
</element>
<element type="point" label="Q">
<show object="false" label="true" ev="4"/>
<objColor r="77" g="77" b="255" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="0.1" type="1" playing="false"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<coords x="6.5" y="4.1" z="1"/>
</element>
<command name="Polygon">
<input a0="{P0, A0, A0 + (0, 1), P0 + (0, 1)}"/>
<output a0="q2"/>
</command>
<element type="polygon" label="q2">
<lineStyle thickness="9" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
</element>
<command name="Polygon">
<input a0="P" a1="Q" a2="(0, y(Q))" a3="(0, y(P))"/>
<output a0="q1" a1="p_1" a2="q" a3="g" a4="h"/>
</command>
<element type="polygon" label="q1">
<lineStyle thickness="6" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<objColor r="255" g="0" b="0" alpha="0.20000000298023224"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<element type="segment" label="p_1">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.20000000298023224"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="false"/>
<lineStyle thickness="9" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<startStyle val="default"/>
<endStyle val="default"/>
<coords x="-0.9999999999999996" y="0" z="6.4999999999999964"/>
</element>
<element type="segment" label="q">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<auxiliary val="false"/>
<lineStyle thickness="9" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<startStyle val="default"/>
<endStyle val="default"/>
<coords x="0" y="-6.5" z="26.65"/>
</element>
<element type="segment" label="g">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<auxiliary val="false"/>
<lineStyle thickness="9" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<startStyle val="default"/>
<endStyle val="default"/>
<coords x="0.9999999999999996" y="0" z="0"/>
</element>
<element type="segment" label="h">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<auxiliary val="false"/>
<lineStyle thickness="9" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<startStyle val="default"/>
<endStyle val="default"/>
<coords x="0" y="6.5" z="-20.150000000000002"/>
</element>
<command name="Polygon">
<input a0="{B, B + (10, 0), B + (10, 1), B + (0, 1)}"/>
<output a0="q3"/>
</command>
<element type="polygon" label="q3">
<lineStyle thickness="3" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<objColor r="77" g="77" b="255" alpha="0.20000000298023224"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
</element>
<command name="Polygon">
<input a0="{B, B + (10, 0), B + (10, 1), B + (0, 1)}"/>
<output a0="q4"/>
</command>
<element type="polygon" label="q4">
<lineStyle thickness="9" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
</element>
<command name="Sequence">
<input a0="Segment[B + (i, 0), B + (i, 1)]" a1="i" a2="1" a3="9" a4="1"/>
<output a0="l1"/>
</command>
<element type="list" label="l1">
<show object="true" label="false" ev="4"/>
<condition showObject="d ≠ 0"/>
<objColor r="128" g="128" b="128" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="4" type="0" typeHidden="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Sequence[Segment[B + (j + i, 0), B + (j + i, 1)], j, 0, 9, 1]" a1="i" a2="0.1" a3="0.9" a4="0.1"/>
<output a0="l2"/>
</command>
<element type="list" label="l2">
<show object="true" label="false" ev="4"/>
<condition showObject="d ≠ 0"/>
<objColor r="160" g="160" b="160" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="2"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Segment[A + (i, 0), A + (i, 1)]" a1="i" a2="1" a3="9" a4="1"/>
<output a0="l3"/>
</command>
<element type="list" label="l3">
<show object="true" label="false" ev="4"/>
<condition showObject="d ≠ 0"/>
<objColor r="128" g="128" b="128" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="4" type="0" typeHidden="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Sequence[Segment[A + (j + i, 0), A + (j + i, 1)], j, 0, 9, 1]" a1="i" a2="0.1" a3="0.9" a4="0.1"/>
<output a0="l4"/>
</command>
<element type="list" label="l4">
<show object="true" label="false" ev="4"/>
<condition showObject="d ≠ 0"/>
<objColor r="160" g="160" b="160" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="2"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<expression label="text1" exp=""部分""/>
<element type="text" label="text1">
<show object="true" label="false" ev="20"/>
<objColor r="255" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.2" size="5" style="0"/>
<startPoint exp="Midpoint[A, P]"/>
<labelOffset x="-20" y="-19"/>
</element>
<expression label="text2" exp=""整體""/>
<element type="text" label="text2">
<show object="true" label="false" ev="20"/>
<objColor r="0" g="0" b="255" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.2" size="5" style="0"/>
<startPoint exp="B + (5, 0)"/>
<labelOffset x="-28" y="-20"/>
</element>
<element type="numeric" label="m">
<value val="520"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<animation type="0" playing="false"/>
</element>
<element type="numeric" label="n">
<value val="800"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<animation type="0" playing="false"/>
</element>
<element type="numeric" label="p">
<value val="65"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<animation type="0" playing="false"/>
</element>
<command name="Textfield">
<input a0="n"/>
<output a0="InputBox1"/>
</command>
<element type="textfield" label="InputBox1">
<show object="true" label="true" ev="3"/>
<condition showObject="¬c"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelOffset x="175" y="116"/>
<labelMode val="3"/>
<fixed val="true"/>
<auxiliary val="true"/>
<ggbscript val="SetValue(m, x(P)/10 n)"/>
<ggbscript onUpdate="SetValue(p, m/n 100)"/>
<caption val="="/>
<length val="5"/>
</element>
<command name="Textfield">
<input a0="m"/>
<output a0="InputBox2"/>
</command>
<element type="textfield" label="InputBox2">
<show object="true" label="true" ev="3"/>
<condition showObject="¬b"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelOffset x="175" y="60"/>
<labelMode val="3"/>
<fixed val="true"/>
<auxiliary val="true"/>
<ggbscript val="SetValue(n, m/(x(P)/10))"/>
<ggbscript onUpdate="SetValue(n, m/(x(P)/10))"/>
<caption val="="/>
<length val="5"/>
</element>
<element type="boolean" label="a">
<value val="true"/>
<show object="true" label="true" ev="3"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelOffset x="80" y="6"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<ggbscript onUpdate="SetValue(a, true)
SetValue(b, false)
SetValue(c, false)"/>
<caption val="百分數"/>
</element>
<element type="boolean" label="b">
<value val="false"/>
<show object="true" label="true" ev="3"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelOffset x="80" y="60"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<ggbscript onUpdate="SetValue(a, false)
SetValue(b, true)
SetValue(c, false)
SetValue(p, x(P)/10 100)"/>
<caption val="部分"/>
</element>
<element type="boolean" label="c">
<value val="false"/>
<show object="true" label="true" ev="3"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelOffset x="80" y="115"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<ggbscript onUpdate="SetValue(a, false)
SetValue(b, false)
SetValue(c, true)"/>
<caption val="整體"/>
</element>
<expression label="text3" exp=""求:""/>
<element type="text" label="text3">
<show object="true" label="false" ev="43"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<font serif="false" sizeM="1" size="0" style="1"/>
<startPoint x="-4.139999999999999" y="5.660000000000001" z="1"/>
</element>
<command name="If">
<input a0="a" a1=""p"" a2="(p * "")"/>
<output a0="ptext"/>
</command>
<element type="text" label="ptext">
<show object="false" label="false" ev="8"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<font serif="true" sizeM="1.2" size="5" style="0"/>
</element>
<command name="If">
<input a0="b" a1=""m"" a2="(m * "")"/>
<output a0="mtext"/>
</command>
<element type="text" label="mtext">
<show object="false" label="false" ev="8"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<command name="If">
<input a0="c" a1=""n"" a2="(n * "")"/>
<output a0="ntext"/>
</command>
<element type="text" label="ntext">
<show object="false" label="false" ev="8"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<font serif="false" sizeM="1.4" size="10" style="0"/>
</element>
<element type="boolean" label="d">
<value val="false"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelOffset x="717" y="3"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<caption val="格線"/>
</element>
<command name="Segment">
<input a0="A + (0, 1.2)" a1="A + (0, 1.5)"/>
<output a0="i"/>
</command>
<element type="segment" label="i">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<startStyle val="default"/>
<endStyle val="default"/>
<coords x="-0.2999999999999998" y="0" z="0"/>
</element>
<command name="Segment">
<input a0="P + (0, 1.2)" a1="P + (0, 1.5)"/>
<output a0="j"/>
</command>
<element type="segment" label="j">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<startStyle val="default"/>
<endStyle val="default"/>
<coords x="-0.2999999999999998" y="0" z="1.9499999999999993"/>
</element>
<command name="Vector">
<input a0="Midpoint[i]" a1="Midpoint[j]"/>
<output a0="u"/>
</command>
<element type="vector" label="u">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<coordStyle style="cartesian"/>
<startPoint x="0" y="4.449999999999999" z="1"/>
<coords x="6.5" y="0" z="0"/>
</element>
<command name="Vector">
<input a0="Midpoint[j]" a1="Midpoint[i]"/>
<output a0="v"/>
</command>
<element type="vector" label="v">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<coordStyle style="cartesian"/>
<startPoint x="6.5" y="4.449999999999999" z="1"/>
<coords x="-6.5" y="0" z="0"/>
</element>
<expression label="text5" exp=""" + mtext + """/>
<element type="text" label="text5">
<show object="true" label="false" ev="40"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<startPoint exp="Midpoint[Midpoint[i], Midpoint[j]]"/>
<labelOffset x="-12" y="-13"/>
</element>
<command name="Segment">
<input a0="A - (0, 0.2)" a1="A - (0, 0.5)"/>
<output a0="k"/>
</command>
<element type="segment" label="k">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<startStyle val="default"/>
<endStyle val="default"/>
<coords x="0.2999999999999998" y="0" z="0"/>
</element>
<command name="Segment">
<input a0="P - (0, 0.2)" a1="P - (0, 0.5)"/>
<output a0="l"/>
</command>
<element type="segment" label="l">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<startStyle val="default"/>
<endStyle val="default"/>
<coords x="0.2999999999999998" y="0" z="-1.9499999999999957"/>
</element>
<command name="Vector">
<input a0="Midpoint[k]" a1="Midpoint[l]"/>
<output a0="w"/>
</command>
<element type="vector" label="w">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<coordStyle style="cartesian"/>
<startPoint x="0" y="2.75" z="1"/>
<coords x="6.5" y="0" z="0"/>
</element>
<command name="Vector">
<input a0="Midpoint[l]" a1="Midpoint[k]"/>
<output a0="e"/>
</command>
<element type="vector" label="e">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<coordStyle style="cartesian"/>
<startPoint x="6.5" y="2.75" z="1"/>
<coords x="-6.5" y="0" z="0"/>
</element>
<command name="Segment">
<input a0="B + (0, 1.2)" a1="B + (0, 1.5)"/>
<output a0="f"/>
</command>
<element type="segment" label="f">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<startStyle val="default"/>
<endStyle val="default"/>
<coords x="-0.30000000000000004" y="0" z="0"/>
</element>
<command name="Segment">
<input a0="B + (10, 1.2)" a1="B + (10, 1.5)"/>
<output a0="r"/>
</command>
<element type="segment" label="r">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<startStyle val="default"/>
<endStyle val="default"/>
<coords x="-0.30000000000000004" y="0" z="3"/>
</element>
<command name="Vector">
<input a0="Midpoint[f]" a1="Midpoint[r]"/>
<output a0="s"/>
</command>
<element type="vector" label="s">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<coordStyle style="cartesian"/>
<startPoint x="0" y="1.15" z="1"/>
<coords x="10" y="0" z="0"/>
</element>
<command name="Vector">
<input a0="Midpoint[r]" a1="Midpoint[f]"/>
<output a0="t"/>
</command>
<element type="vector" label="t">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<coordStyle style="cartesian"/>
<startPoint x="10" y="1.15" z="1"/>
<coords x="-10" y="0" z="0"/>
</element>
<expression label="text4" exp=""= " + p + "%""/>
<element type="text" label="text4">
<show object="false" label="false" ev="11"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<startPoint x="0.7599999999999987" y="5.660000000000005" z="1"/>
</element>
<command name="Segment">
<input a0="B - (0, 0.2)" a1="B - (0, 0.5)"/>
<output a0="f_1"/>
</command>
<element type="segment" label="f_1">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<startStyle val="default"/>
<endStyle val="default"/>
<coords x="0.29999999999999993" y="0" z="0"/>
</element>
<command name="Segment">
<input a0="B + (10, -0.2)" a1="B + (10, -0.5)"/>
<output a0="g_1"/>
</command>
<element type="segment" label="g_1">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<startStyle val="default"/>
<endStyle val="default"/>
<coords x="0.29999999999999993" y="0" z="-3"/>
</element>
<command name="Vector">
<input a0="Midpoint[f_1]" a1="Midpoint[g_1]"/>
<output a0="u_1"/>
</command>
<element type="vector" label="u_1">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<coordStyle style="cartesian"/>
<startPoint x="0" y="-0.55" z="1"/>
<coords x="10" y="0" z="0"/>
</element>
<command name="Vector">
<input a0="Midpoint[g_1]" a1="Midpoint[f_1]"/>
<output a0="v_1"/>
</command>
<element type="vector" label="v_1">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1" opacity="178"/>
<coordStyle style="cartesian"/>
<startPoint x="10" y="-0.55" z="1"/>
<coords x="-10" y="0" z="0"/>
</element>
<expression label="text7" exp=""" + ntext + """/>
<element type="text" label="text7">
<show object="true" label="false" ev="40"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<startPoint exp="Midpoint[Midpoint[f], Midpoint[r]]"/>
<labelOffset x="-22" y="-13"/>
</element>
<expression label="text8" exp=""100%""/>
<element type="text" label="text8">
<show object="true" label="false" ev="40"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<startPoint exp="Midpoint[Midpoint[f_1], Midpoint[g_1]]"/>
<labelOffset x="-27" y="29"/>
</element>
<expression label="text6" exp=""" + ptext + "%""/>
<element type="text" label="text6">
<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"/>
<startPoint exp="Midpoint[Midpoint[k], Midpoint[l]]"/>
<labelOffset x="-18" y="29"/>
</element>
<command name="If">
<input a0="a" a1=""p"" a2="If[b, "m", "n"]"/>
<output a0="text12"/>
</command>
<element type="text" label="text12">
<symbolic val="true"/>
<show object="false" label="false" ev="3"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<font serif="false" sizeM="1.4" size="10" style="0"/>
</element>
<expression label="text10" exp=""\frac{{" + (LaTeX[mtext]) + "}}{{" + (LaTeX[ntext]) + "}}=\frac{{ " + (LaTeX[ptext]) + "}}{{100}}""/>
<element type="text" label="text10">
<show object="true" label="false" ev="11"/>
<condition showObject="o ≠ 0"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1.2" size="5" style="0"/>
<absoluteScreenLocation x="603" y="9"/>
</element>
<element type="boolean" label="o">
<value val="false"/>
<show object="true" label="false" ev="3"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelOffset x="555" y="6"/>
<labelMode val="0"/>
<checkbox fixed="true"/>
<ggbscript onUpdate="SetValue(a_1, false)"/>
</element>
<element type="boolean" label="a_1">
<value val="false"/>
<show object="true" label="false" ev="3"/>
<condition showObject="o ≠ 0"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelOffset x="555" y="106"/>
<labelMode val="0"/>
<checkbox fixed="true"/>
</element>
<command name="Sequence">
<input a0="Segment[A + (10 + i, 0), A + (10 + i, 1)]" a1="i" a2="0.1" a3="x(P) - 10" a4="0.1"/>
<output a0="l6"/>
</command>
<element type="list" label="l6">
<show object="true" label="false" ev="4"/>
<condition showObject="d ≠ 0"/>
<objColor r="160" g="160" b="160" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<listType val="segment"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<expression label="text16" exp=""計算:""/>
<element type="text" label="text16">
<show object="true" label="false" ev="43"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1" size="0" style="1"/>
<absoluteScreenLocation x="473" y="33"/>
</element>
<command name="Sequence">
<input a0="Segment[A + (10 + i, 0), A + (10 + i, 1)]" a1="i" a2="0" a3="floor(x(P) - 10)"/>
<output a0="l5"/>
</command>
<element type="list" label="l5">
<show object="true" label="false" ev="4"/>
<condition showObject="d ≠ 0"/>
<objColor r="128" g="128" b="128" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="4" type="0" typeHidden="1"/>
<listType val="segment"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<expression label="text15" exp=""= " + p + "%""/>
<element type="text" label="text15">
<show object="true" label="false" ev="11"/>
<condition showObject="¬a"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.1" size="3" style="0"/>
<absoluteScreenLocation x="204" y="36"/>
</element>
<expression label="text14" exp=""" + (LaTeX[text12]) + "=" + (LaTeX[If[a, p, If[b, m, n]]]) + """/>
<element type="text" label="text14">
<show object="true" label="false" ev="11"/>
<condition showObject="o ∧ a_1"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1.2" size="5" style="0"/>
<absoluteScreenLocation x="638" y="104"/>
</element>
<command name="Segment">
<input a0="A" a1="B + (0, 1)"/>
<output a0="h_1"/>
</command>
<element type="segment" label="h_1">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="10" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<startStyle val="default"/>
<endStyle val="default"/>
<coords x="2.3" y="0" z="0"/>
</element>
<command name="Segment">
<input a0="If[x(P) ≤ 10, A + (10, 0), P]" a1="If[x(P) ≤ 10, B + (10, 1), x(P)]"/>
<output a0="i_1"/>
</command>
<element type="segment" label="i_1">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="10" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<startStyle val="default"/>
<endStyle val="default"/>
<coords x="2.3" y="0" z="-23"/>
</element>
<command name="Sequence">
<input a0="Segment[A0 + (i, 0), A0 + (i, 1)]" a1="i" a2="0" a3="floor(x(P0) - 10)"/>
<output a0="l7"/>
</command>
<element type="list" label="l7">
<show object="true" label="false" ev="4"/>
<condition showObject="d ≠ 0"/>
<objColor r="128" g="128" b="128" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="4" type="0" typeHidden="1"/>
<listType val="segment"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Segment[A0 + (i, 0), A0 + (i, 1)]" a1="i" a2="0.1" a3="x(P0) - 10" a4="0.1"/>
<output a0="l8"/>
</command>
<element type="list" label="l8">
<show object="true" label="false" ev="4"/>
<condition showObject="d ≠ 0"/>
<objColor r="160" g="160" b="160" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<listType val="segment"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<expression label="text9" exp=""\underline\bold\text{拖拉\red{紅色}部分}\text{改變" + (LaTeX[If[a, "數值", "百分數"]]) + "。}""/>
<element type="text" label="text9">
<show object="true" label="false" ev="8"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1" size="0" style="0"/>
<absoluteScreenLocation x="22" y="6"/>
</element>
<element type="image" label="pic1">
<file name="05e9903a41b0c06c94003cbf2f97fe74/QSIP (smaller).png"/>
<inBackground val="true"/>
<absoluteScreenLocation x="885" y="71"/>
<show object="true" label="false" ev="3"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="1"/>
<labelMode val="0"/>
<animation step="1" type="0" playing="false"/>
</element>
</construction>
</geogebra>