2012/8/7 Todd O'Bryan <toddobr...@gmail.com>: > I just discovered that the way you enter (and display) a number like > > 1/2 + (2/3)i > > in Racket (and Scheme, presumably) is 1/2+2/3i. > > I understand why that is, and can't think of what else to do, but has > anyone had students get confused because the form looks like the i is > in the denominator of the imaginary part?
I certainly have students that gets confused about what 1/2x means. Luckily their calculators will always print both the input typeset as math and the output. That is, if a student enters 1/2x believing it means 1/(2x) he will be discover his mistake when he see 1/2 * x being printed back at him. > What's more potentially confusing is that 1/2+2i/3 is a legal > identifier in its own right. > > I'm working on a program that models basic algebra in the way that > high school students are taught to do it, and one of my self-imposed > rules has been that "math should look like math." This is a very important principle. > In other words, I'm > trying to minimize the conversion gymnastics that students have to put > up with when they enter math in calculators or computer programs. In > that spirit, I'm not sure if it would be better to allow the > inconsistency with the way order of operations normally works or just > have students enter 1/2+(2/3)i (or 1/2+2i/3, maybe) and do the > conversion behind the scenes. > > Anyone have any thoughts or prejudices one way or the other? I don't think there is way around a custom parser for infix expressions. /Jens Axel ____________________ Racket Users list: http://lists.racket-lang.org/users