Alpha DevCon 2018
Results 1 to 8 of 8

Thread: Programming Puzzle 3 - Fractions, anyone?

  1. #1
    "Certified" Alphaholic
    Real Name
    Tom Cone Jr
    Join Date
    Apr 2000
    Location
    Florida
    Posts
    23,299

    Default 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
    of your answer are, and that their sum is 37.

    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.

  2. #2
    "Certified" Alphaholic
    Real Name
    Peter Wayne
    Join Date
    Apr 2000
    Posts
    1,728

    Default 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)

  3. #3
    "Certified" Alphaholic
    Real Name
    Tom Cone Jr
    Join Date
    Apr 2000
    Location
    Florida
    Posts
    23,299

    Default 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.) ??

  4. #4
    Moderator Peter.Greulich's Avatar
    Real Name
    Peter Greulich
    Join Date
    Apr 2000
    Location
    Boston, MA
    Posts
    11,533

    Default 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)

  5. #5
    "Certified" Alphaholic
    Real Name
    Tom Cone Jr
    Join Date
    Apr 2000
    Location
    Florida
    Posts
    23,299

    Default 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.

  6. #6
    Member
    Real Name
    Jeb Richardson
    Join Date
    Aug 2011
    Location
    Bowling Green, KY
    Posts
    26

    Default Re: Programming Puzzle 3 - Fractions, anyone?

    Here's my attempt for puzzle 3-fractions.
    PUZ3.txt
    Tom, thanks for the suggestion at the end of puzzle two. I have explored exporting scripts and importing them back.

  7. #7
    Member
    Real Name
    Rob Polley
    Join Date
    Nov 2005
    Posts
    432

    Default 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

  8. #8
    "Certified" Alphaholic
    Real Name
    Tom Cone Jr
    Join Date
    Apr 2000
    Location
    Florida
    Posts
    23,299

    Default 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

Similar Threads

  1. Programming Puzzle 2 - Another Simple Loop
    By Tom Cone Jr in forum Xbasic Programming Puzzles
    Replies: 16
    Last Post: 12-20-2014, 10:38 AM
  2. Programming Puzzle 1 - Simple Loop
    By Tom Cone Jr in forum Xbasic Programming Puzzles
    Replies: 32
    Last Post: 12-26-2011, 01:38 PM
  3. help for numeric to fractions
    By nehru in forum Alpha Five Version 7
    Replies: 16
    Last Post: 09-07-2007, 01:34 PM
  4. Fractions
    By mcarroll in forum Alpha Five Version 6
    Replies: 6
    Last Post: 12-16-2004, 08:35 PM
  5. Data Input of fractions
    By kgilroy in forum Alpha Five Version 5
    Replies: 11
    Last Post: 11-19-2002, 11:19 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •