# Programming Puzzle 3 - Fractions, anyone?

• 06-05-2011, 03:26 PM
Tom Cone Jr
Programming Puzzle 3 - Fractions, anyone?
Puzzles and Problems

Beginning Xbasic Programming

Puzzle 3 - Fractions, anyone?

The "fraction monster" has taken over your machine. He's had it up to here
with loops, so no loops are allowed. Here's the puzzle, courtesy
of Creative Computing Magazine:

Mrs. Canton wanted to buy all the grocer's apples for a church picnic.
When she asked how many apples the store had, the grocer replied:
"If you added 1/4, 1/5, and 1/6 of them, that would make 37. After
giving the grocer a look that would melt steel, Mrs. Canton pulled
out her new netbook computer and figured it out. Can you? How
many apples were in the store?

Instructions:

Most of us with a pencil and paper (and a big eraser!) could figure this
out by hand (eventually). Your instructions however are these:

Write an xbasic script that solves the puzzle and then display both
your solution and its "proof", in a single message box. Your
"proof" will be accepted if we can see how much 1/4, 1/5 and 1/6

Tip: This will involve writing a multi-line string to your
message box.

Have fun!

ps. For bonus points write your solution and its "proof" to the
trace window. Don't know about the trace window yet? It's
time to learn. The trace window is your friend.
• 06-05-2011, 07:09 PM
Peter.Wayne
Re: Programming Puzzle 3 - Fractions, anyone?
Code:

```' (1/4)*x plus (1/5)*x plus (1/6)*x =37 ' multiply by a common denominator, not necessarily lowest common denominator denom=4*5*6 ' 37*denom=denom*(1/4)*x+denom*(1/5)*x+denom*(1/6)*x ' then sum the Xs and divide into 37*denom y=(denom/4)+(denom/5)+(denom/6) result=37*denom/y onequarter=result/4 onefifth=result/5 onesixth=result/6 sumAll=onequarter+onefifth+onesixth proof="1/4 of total is "+onequarter+crlf()+\ "1/5 of total is "+onefifth+crlf()+\ "1/6 of total is "+onesixth+crlf()+\ "Which adds up to "+sumAll ui_msg_box(result+" apples",proof)```
• 06-05-2011, 07:51 PM
Tom Cone Jr
Re: Programming Puzzle 3 - Fractions, anyone?
Very good!

Six months from now I wonder if the line that reads:
Code:

`result = 37*denom/y`
might benefit from an explanatory comment (even though the flow of the program is described nicely beforehand.) ??
• 06-05-2011, 07:59 PM
Peter.Greulich
Re: Programming Puzzle 3 - Fractions, anyone?
Code:

```X = 37/((1/4)+(1/5)+(1/6)) trace.WriteLn("apples in store = " + alltrim(str(x))) n = (1/4)*x+(1/5)*x+(1/6)*x trace.WriteLn("Proof = " + alltrim(str(n))) ui_msg_box("Apples", x + " apples in store" + crlf(2) + "Proof = " + n)```
• 06-05-2011, 09:01 PM
Tom Cone Jr
Re: Programming Puzzle 3 - Fractions, anyone?
Peter G. - Good work! You taught me something. I did not know that we could add fractions without reducing them to common denominators first. Sweet!

Thanks.
• 08-04-2011, 12:43 PM
jeb richardson
Re: Programming Puzzle 3 - Fractions, anyone?
Here's my attempt for puzzle 3-fractions.
Attachment 28968
Tom, thanks for the suggestion at the end of puzzle two. I have explored exporting scripts and importing them back.
• 11-07-2011, 10:16 PM
RobPolley
Re: Programming Puzzle 3 - Fractions, anyone?
Tom,

I've been working to learn xbasic (my first attempt at ANY programming). When you first posted these problems, they were WAY beyond my ability; now they are an appropriate challenge - thanks for posting them. Here's my reply to #3. I know the msg box isn't quite right.

'How many apples do I have if
'1/4 of them + 1/5 of them + 1/6 of them = 37

dim Tot as n
dim qtr as n
dim fifth as n
dim sixth as n
dim partial as n

qtr=1/4
fifth=1/5
sixth=1/6

partial = qtr + fifth + sixth

'(qtr*Tot)+(fifth*Tot)+(sixth*Tot)= 37

'partial*Tot=37

Tot=37/partial

ui_msg_box("Answers","The total apples at the store are:"+" "+str(Tot))

end
• 11-08-2011, 06:40 AM
Tom Cone Jr
Re: Programming Puzzle 3 - Fractions, anyone?
Rob, I'm glad you're enjoying the puzzles.

Check the help system for information on

STR Function
LTRIM Function

To discover why Ltrim(Str(Tot)) improves your formatting in the msg box.

-- tom