 
 
 
 
 
 
RE: Displaying Mixed Numbers
- To: mathgroup at smc.vnet.net
- Subject: [mg25148] RE: [mg25124] Displaying Mixed Numbers
- From: "David Park" <djmp at earthlink.net>
- Date: Sun, 10 Sep 2000 21:25:42 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Jim,
By golly, I hope your daughter is actually dipping her toes into
Mathematica!
The trouble with Print is that you can't actually work with the output. Here
is a small system that will actually allow your daughter to do some
arithmetic with mixed fractions.
Mix[x_] := mixform[Quotient[Numerator[x], Denominator[x]],
    Mod[Numerator[x], Denominator[x]]/Denominator[x]]
Format[mixform[x_, y_]] :=
  Which[
    y == 0, x,
    x == 0, y,
    True, SequenceForm[x, y]]
MixEvaluate[x_] := x /. mixform -> Plus
Now let's do some arithmetic. It is a little difficult to duplicate nice
Mathematica formatted output, so I just approximate it.
Mix[5/2] + Mix[7/3]
Mix[MixEvaluate[%]]
2 1/3 + 2 1/2
4 5/6
Mix[5/2] + Mix[7/3] + Mix[5] + Mix[3/4]
Mix[MixEvaluate[%]]
3/4 + 2 1/3 + 2 1/2 + 5
10 7/12
x1 = Mix[2 + 7/8];
x2 = Mix[3/5];
x3 = Mix[7/3];
(x1 + x2)/x3
% // MixEvaluate // Mix
(3/5 + 2 7/8)/(2 1/3)
1 137/280
David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/
> -----Original Message-----
> From: Jim Graber [mailto:jgraber at my-deja.com]
To: mathgroup at smc.vnet.net
>
> While working with my third grader, I discovered the need
> to make 5/3 display and print as 1 2/3 so she can check her
> homework.
>
> I couldn't find a way to do this easily, so I wrote the following which
> does the job.  Is there an easier or better way?
> Thanks.  Jim Graber
>
> Mix1[x_] := { Quotient[Numerator[x], Denominator[x]],
>     Mod[Numerator[x], Denominator[x]]/Denominator[x]}
>
> Mix[x_] := Print[Mix1[x][[1]], Mix1[x][[2]]];
>
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.
>
>

