home *** CD-ROM | disk | FTP | other *** search
- a1= "An unexpected problem can occur when dividing numbers."
- a2= "The problem is in deciding between an integer divide "
- a3= "(where the remainder, if any, is discarded) and a floating "
- a4= "point divide (where a floating point number is returned)."
- a5= ""
- a6= ""
- a7= "Let's assume a test. There are 42 questions."
- a8= "A student gets 37 of them correct,"
- a9= "what is the student's score."
- a10= " "
- a11= "iQuestions = 42"
- a12= "iCorrect = 37"
- a13= "Score = iCorrect / iQuestions"
-
- iQuestions = 42
- iCorrect = 37
- Score = iCorrect / iQuestions
-
- a14= " "
- a15= "The unexpected result is that the score is %Score%"
-
-
- a16= "Reasonable problem? The trap is that WIL will perform an"
- a17= "integer divide and return the unexpected answer of Zero."
- a18= " "
- a19= "To dig your code out of this trap, simply use floating point"
- a20= "numbers when you want a floating point answer."
- a21 = " "
- a22= "fQuestions = 42.0"
- a23= "fCorrect = 37.0"
-
- fQuestions = 42.0
- fCorrect = 37.0
- Score = fCorrect / fQuestions
-
- a24= "Score = fCorrect / fQuestions"
- a25= "The correct score is %Score%"
- a26= " "
- a27= "Or make the answer look nicer by using the Decimals function"
- a28= "and a little formatting."
- a29= ""
- a30= "Decimals(0)
- a31= "Score=Score*100"
- Decimals(0)
- Score=Score*100
- a32= ""
- a33= "The correct score is %Score%%%"
-
-
-
-
- text=""
- for i=1 to 15
- text=strcat(text,a%i%,@crlf)
- next
-
- text2=""
- for i=16 to 33
- text2=strcat(text2,a%i%,@crlf)
- next
-
- Message("Integer Divide Problem",text)
- Message("Floating point solution",text2)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-