# Khan/khan-exercises

Handle case in combining_like_terms_2 where constant terms simplify to 0

Summary:
fix #26874; fix #29882; fix #29943; fix #29949; fix #29964; fix #29969;
fix #30088; fix #30091; fix #30108; fix #30118; fix #30138; fix #30177;
fix #30205; fix #30257; fix #30258; fix #30276; fix #30279; fix #30280

Previously, the last hint would show something like "-24a + 0" and the regex
answer would expect you to type "-24a0". This fixes the final hint to show just
"-24a" and the answer regex expects "-24a"

Test Plan:
Tested these problematic seeds outside devappserver (before and after the fix):
http://localhost:8000/exercises/combining_like_terms_2.html?debug&seed=112&problem=c_fd_fbx
http://localhost:8000/exercises/combining_like_terms_2.html?debug&seed=177&problem=c_fd_fbx
http://localhost:8000/exercises/combining_like_terms_2.html?debug&seed=161&problem=c_fd_fbx

Reviewers: stephanie

Reviewed By: stephanie

Differential Revision: http://phabricator.khanacademy.org/D742
beneater committed Sep 18, 2012
1 parent 63baa80 commit 8183d56db10b96c191e1460658c45200feaed166
Showing with 13 additions and 9 deletions.
1. +13 −9 exercises/combining_like_terms_2.html
 @@ -43,11 +43,11 @@ + (E * A + F * B === 1 ? "|" : "" ) + (E * A + F * B === -1 ? "|[-\\u2212]" : "") + ")\\s*" + X - (C < 0 ? "[-\\u2212]\\s*" : "") + abs(C) - ((C + D) < 0 ? "[-\\u2212]\\s*" : "") + abs(C + D) - ((F * D) < 0 ? "[-\\u2212]\\s*" : "") + abs(F * D) - ((C + F * D) < 0 ? "[-\\u2212]\\s*" : "") + abs(C + F * D) - ((E * C + F * D) < 0 ? "[-\\u2212]\\s*" : "") + abs(E * C + F * D) + C === 0 ? "" : ((C < 0 ? "[-\\u2212]\\s*" : "") + abs(C)) + (C + D) === 0 ? "" : ((C + D) < 0 ? "[-\\u2212]\\s*" : "") + abs(C + D) + (F * D) === 0 ? "" : ((F * D) < 0 ? "[-\\u2212]\\s*" : "") + abs(F * D) + (C + F * D) === 0 ? "" : ((C + F * D) < 0 ? "[-\\u2212]\\s*" : "") + abs(C + F * D) + (E * C + F * D) === 0 ? "" : ((E * C + F * D) < 0 ? "[-\\u2212]\\s*" : "") + abs(E * C + F * D)

Simplify the following expression: @@ -101,7 +101,8 @@ \qquad\pink{expr(["*", A + (F * B), X])} + F * D

-

The simplified expression is expr(["+", ["*", A + (F * B), X], F * D]) +

The simplified expression is expr(["*", A + (F * B), X]) +

The simplified expression is expr(["+", ["*", A + (F * B), X], F * D]) @@ -157,7 +158,8 @@ \blue{C + F * D}

-

The simplified expression is expr(["+", ["*", F * B, X], C + F * D]) +

The simplified expression is expr(["*", F * B, X]) +

The simplified expression is expr(["+", ["*", F * B, X], C + F * D]) @@ -243,7 +245,8 @@ \blue{E * C + F * D}

-

The simplified expression is expr(["+", ["*", E * A + F * B, X], E * C + F * D]) +

The simplified expression is expr(["*", E * A + F * B, X]) +

The simplified expression is expr(["+", ["*", E * A + F * B, X], E * C + F * D]) @@ -323,7 +326,8 @@ \blue{E * C + F * D}

-

The simplified expression is expr(["+", ["*", E * A + F * B, X], E * C + F * D]) +

The simplified expression is expr(["*", E * A + F * B, X]) +

The simplified expression is expr(["+", ["*", E * A + F * B, X], E * C + F * D])