# Khan/khan-exercises

renamed first exercise to geo proofs intro

1 parent 9dc99f3 commit 39c0dfa60295b6540eb204e108ab2872b7242cd4 mwittels committed Jul 9, 2012
Showing with 589 additions and 0 deletions.
1. +589 −0 exercises/geometry_proofs_intro.html
589 exercises/geometry_proofs_intro.html
 @@ -0,0 +1,589 @@ + + + + + Geometry Proofs 1 + + + + +
+
+
+
+ new Seg("A","C") + AC + + AD + new Seg("B","E") + BE + new Seg("A","E") + AE + new Seg("B","C") + BC + new Seg("B","D") + BD + new Seg("C","D") + CD + new Seg("C","E") + CE + + + [AC,CA,AE,EA,BC,CB,BD,DB,CD,DC,CE,EC] + + + new Ang("D","A","C", null) + new Ang("C","B","E", null) + new Ang("A","C","D", null) + new Ang("B","C","E", null) + new Ang("A","D","C", null) + new Ang("C","E","B", null) + new Ang("A","C","B", null) + new Ang("D","C","E", null) + + [ang1, ang2, ang3, ang4, ang5, ang6, ang7, ang8] + + [addAngs(ang3, ang7), addAngs(ang7, ang4), addAngs(ang4, ang8), addAngs(ang8, ang3)] + + [] + + [] + + new Triang([AD, DC, CA], [ang5, ang3, ang1]) + new Triang([BE, EC, CB], [ang6, ang4, ang2]) + + + [ADC, BEC] + + initProof(SEGS, ANGS, TRIANGLES, SUPPLEMENTARY_ANGS, ALTERNATE_INTERIOR_ANGS, 2, 0.25, "triangle") + STATEMENTS[0] + STATEMENTS[1] + + "you haven't entered anything yet" + 3 +
+

+

Prove FINISHED .

+

This figure is not drawn to scale.

+

+ +
+
+ init({ + range: [[-5, 5], [-5, 5]], + scale: 40 + }); + addMouseLayer(); + + graph.congruency = addCongruency({ y1: -0.7, y2: 10.7 }); + + graph.congruency.addPoint("A", [-4, 4]); + graph.congruency.addPoint("B", [4, 4]); + graph.congruency.addPoint("C", [0, -(4/3)]); + graph.congruency.addPoint("D", [-2, -4]); + graph.congruency.addPoint("E", [2, -4]); + + graph.congruency.addLine({ + start: "A", + end: "D", + clickable: true, + maxState: 3 + }); + graph.congruency.addLine({ + start: "A", + end: "C", + clickable: true, + maxState: 3 + }); + graph.congruency.addLine({ + start: "C", + end: "D", + clickable: true, + maxState: 3 + }); + graph.congruency.addLine({ + start: "C", + end: "B", + clickable: true, + maxState: 3 + }); + graph.congruency.addLine({ + start: "C", + end: "E", + clickable: true, + maxState: 3 + }); + graph.congruency.addLine({ + start: "E", + end: "B", + clickable: true, + maxState: 3 + }); + + graph.congruency.addAngles("A", { maxState: 3 }); + graph.congruency.addAngles("B", { maxState: 3 }); + graph.congruency.addAngles("C", { maxState: 3 }); + graph.congruency.addAngles("D", { maxState: 3 }); + graph.congruency.addAngles("E", { maxState: 3 }); + + for(var angle in graph.congruency.angles){ + graph.congruency.angles[angle].setSelectedStyle({ + stroke: "black", + "stroke-width": 3 + }); + } + + graph.congruency.addLabel("A", "left"); + graph.congruency.addLabel("B", "right"); + graph.congruency.addLabel("C", "right"); + graph.congruency.addLabel("D", "left"); + graph.congruency.addLabel("E", "right"); + + $(".hint1").hide(); +$(".hint2").hide(); + $(".hint3").hide(); + + var hint = "you haven't entered anything!"; + +$(".nextStatement input").keyup(function(){ + var triangles = []; + triangles[0] = $("#thing1").val(); + triangles[1] =$("#thing2").val(); + var reason = $("#reason").val(); + + var verify = verifyStatementArgs(triangles[0]+"="+triangles[1], reason, "triangle congruence"); + if(verify.length > 0){ + hint = verify; + } + else if(!verify){ + hint = "you've put in triangles that are in the figure, but your reason isn't right."; + } + else{ + hint = "you've already finished! Hit the check answer button." +$(".statements").html(outputKnownProof()); + _.each($(".statements code"), function(tag){$.tmpl.type.code()(tag); }); + $(".nextStatement").hide(); + } + console.log(hint); + }); +$("#reason").change(function(){ + $(".nextStatement input").keyup(); + }); + +$("#hint").click(function(){ + console.log("custom hint"); + if(HINTS_LEFT === 3){ + $(".hint1").show(); + } + else if(HINTS_LEFT === 2){ +$(".hint2").html("In the step you're working on, "+hint); + $(".hint2").show(); + } + else{ +$(".hint3").show(); + } + HINTS_LEFT--; + }); + +
+
+ +

outputKnownProof()

+

+ \bigtriangleup = \bigtriangleup because + +

+
+

Given the statements you have, you can prove FINISHED in one step. What triangle congruence postulate should you use?

+

+

You can prove FINISHED by finishedEqualities[finalRelation] .

+
+
+
+ When you enter the next statement in the proof, and a valid reason, that statement will be added to the proof. When you're done, hit check answer. +
+
[knownEqualities]
+
+ return isProofDone(); +
+
+ +
+
+
+

+

+

+
+
+
+
+ new Seg("A","B") + AB + new Seg("A","C") + AC + new Seg("A","E") + AE + new Seg("B","C") + BC + new Seg("B","D") + BD + new Seg("C","D") + CD + new Seg("C","E") + CE + new Seg("D","E") + DE + + [AB,BA,AC,CA,AE,EA,BC,CB,BD,DB,CD,DC,CE,EC,DE,ED] + + new Ang("C","A","B", null) + new Ang("C","B","A", null) + new Ang("A","C","B", null) + new Ang("D","C","E", null) + new Ang("C","D","E", null) + new Ang("C","E","D", null) + new Ang("A","C","D", null) + new Ang("B","C","E", null) + + [ang1, ang2, ang3, ang4, ang5, ang6, ang7, ang8] + + [addAngs(ang3, ang7), addAngs(ang7, ang4), addAngs(ang4, ang8), addAngs(ang8, ang3)] + + [[ang2, ang5]] + + [] + + new Triang([AB, BC, CA], [ang2, ang3, ang1]) + new Triang([CD, DE, EC], [ang5, ang6, ang4]) + + + [ABC, CDE] + + initProof(SEGS, ANGS, TRIANGLES, SUPPLEMENTARY_ANGS, ALTERNATE_INTERIOR_ANGS, 2, 0.25, "triangle") + STATEMENTS[0] + STATEMENTS[1] + + + { r: 0.2, fill: BLUE, stroke: "none" } + +
+

+

Prove FINISHED .

+

This figure is not drawn to scale.

+

+ +
+
+ init({ + range: [[-5, 5], [-5, 5]], + scale: 40 + }); + addMouseLayer(); + + graph.congruency = addCongruency({ y1: -0.7, y2: 10.7 }); + + graph.congruency.addPoint("A", [-3, 4]); + graph.congruency.addPoint("B", [3, 4]); + graph.congruency.addPoint("C", [0, 0]); + graph.congruency.addPoint("D", [-3, -4]); + graph.congruency.addPoint("E", [3, -4]); + + graph.congruency.addLine({ + start: "A", + end: "B", + clickable: true, + maxState: 3 + }); + graph.congruency.addLine({ + start: "A", + end: "C", + clickable: true, + maxState: 3 + }); + graph.congruency.addLine({ + start: "B", + end: "C", + clickable: true, + maxState: 3 + }); + graph.congruency.addLine({ + start: "C", + end: "D", + clickable: true, + maxState: 3 + }); + graph.congruency.addLine({ + start: "C", + end: "E", + clickable: true, + maxState: 3 + }); + graph.congruency.addLine({ + start: "D", + end: "E", + clickable: true, + maxState: 3 + }); + + graph.congruency.addAngles("A", { maxState: 3 }); + graph.congruency.addAngles("B", { maxState: 3 }); + graph.congruency.addAngles("C", { maxState: 3 }); + graph.congruency.addAngles("D", { maxState: 3 }); + graph.congruency.addAngles("E", { maxState: 3 }); + + for(var angle in graph.congruency.angles){ + graph.congruency.angles[angle].setSelectedStyle({ + stroke: "black", + "stroke-width": 3 + }); + } + + graph.congruency.addLabel("A", "left"); + graph.congruency.addLabel("B", "right"); + graph.congruency.addLabel("C", "right"); + graph.congruency.addLabel("D", "left"); + graph.congruency.addLabel("E", "right"); + + $(".triangleStatement").hide(); + +$(".angleStatement input").keyup(function(){ + var angles = []; + angles[0] = $(".angleStatement .thing1").val(); + angles[1] =$(".angleStatement .thing2").val(); + var reason = $(".angleStatement .reason").val(); + + var verify = verifyStatementArgs(angles[0]+"="+angles[1], reason, "angle equality"); + if(verify.length > 0){ + hint = verify; + } + else if(!verify){ + hint = "you've put in angles that are in the figure, but your reason isn't right."; + } + else{ + hint = "you've already finished! Hit the check answer button." +$(".statements").html(outputKnownProof()); + _.each($(".statements code"), function(tag){$.tmpl.type.code()(tag); }); + $(".angleStatement").hide(); +$(".triangleStatement").show(); + } + console.log(hint); + }); + $(".angleStatement select").change(function(){ +$(".angleStatement input").keyup(); + }); + + +
+ +

outputKnownProof()

+
+ \angle = \angle because + +
+
+ \bigtriangleup = \bigtriangleup because + +
+
+
+
+ When you enter the next statement in the proof, and a valid reason, that statement will be added to the proof. When you're done, hit check answer. +
+
[]
+
+ return isProofDone(); +
+
+ +
+
+
+

You only have two equalities, but you need three to prove two triangles congruent... What can you use to prove that an angle in one triangle is equal to an angle in the other?

+

nextStatementHint()

+ +
+
+
+
+ [0,6] + [-8,0] + [8,0] + [0,-6] + + ["A","B","C","D"] + + new Seg("A","B") + AB + new Seg("A","C") + AC + new Seg("B","D") + BD + new Seg("C","D") + CD + + AD + + + [AB,BA,AC,CA,BD,DB,CD,DC,AD,DA] + + + new Ang("A","B","D", null) + new Ang("B","A","D", null) + new Ang("D","A","C", null) + new Ang("A","C","D", null) + new Ang("A","D","B", null) + new Ang("A","D","C", null) + + [ang1, ang2, ang3, ang4, ang5, ang6] + + [] + + [] + + [] + + + + new Triang([BA, AD, DB], [ang2, ang5, ang1]) + new Triang([CA, AD, DC], [ang3, ang6, ang4]) + + + [BAD, CAD] + + initProof(SEGS, ANGS, TRIANGLES, SUPPLEMENTARY_ANGS, ALTERNATE_INTERIOR_ANGS, 2, 0.25, "triangle") + STATEMENTS[0] + STATEMENTS[1] + + + { r: 0.2, fill: BLUE, stroke: "none" } + +
+

+

You are given KNOWN .

+

Prove FINISHED

+

+ +
+
+
+ +

+ \overline{ sdfjlsdfkj } +

+
+
+

FINISHED by +

+
+
[]
+
+ return userProofDone; +
+
+ +
+
+
+

You only have two equalities, but you need three to prove two triangles congruent... What other fact about these two triangles can you use?

+

The triangles have a shared side: \overline{AD} is the same length in \bigtriangleup BAD as it is in \bigtriangleup CAD.

+

nextStatementHint() Using what congruence theorem?

+
+
+
+
+ +