Back

Calculator Display

Authors: Wally Roth

Suggested Courses: Computer Science, Intro to Engr

Level: Freshman

I. Narrative

You are a college engineering student who is experimenting with a new PDA (hand-held computer: Personal Digital Assistant) you have just purchased from a reputable manufacturer, ARC.1 The machine has been bundled with a variation of a popular spreadsheet (SS) product custom-built to run in a small amount of ROM (firmware) provided in the unit. (The SS product comes in several forms called X-lacks, X-LINT, Quad-rope-O, or 3-2-1-boom.) In experimenting with this SS you find a simple calculation such as $3 + 1 cent is displayed as 3.00 on the LCD panel.

II. Engineering Questions for Discussion and Suggested Answers

1. Is this reasonable? How would you verify this claim? Is it likely this is the only calculation which displays an incorrect result?

In the opinion of most people, this is not a reasonable output (especially if you are handling your finances). It is uncertain whether is is the only calculation which displays an incorrect result, and further testing should be done.

2. What possible explanation(s) could there be for this? Propose an experiment to test/verify your suspicions as to the source/cause of this problem.

This is up to the creativity of the class. A brainstorming session should be held. During this brainstorming session, students should be encouraged to supply as many possibilities as possible (no matter how unlikely). One possibility may be that the calculation is performed correctly, but the display subroutine is malfunctioning. This could be tested by adding 3 + .01 +.01. If the result is 3.02 then the addition is correct and the display is simply off.

Later you conclude the display is indeed incorrect, but the internal representation of $3.01 is as exact as is possible using binary floating-point representations in any format. Nevertheless, the displayed result on the LCD screen is indeed 3.00.

3. Does this resolve the problem? Does this eliminate (or amplify) any problems of floating-point representation of dollar and cent results?

You soon discover all calculations of the form X + .01 for any integer X will produce a representation on the display of X.00.

4. What does this tell you as a young (or old) engineer/numerical analyst?

Finally, you call the manufacturer of the machine (PDA)1, not being sure whether this is a hardware bug, a software bug, or an error in your interpretation.

5. What possible responses would you speculate they might give to your inquiry (and possible demand for a replacement PDA)? Discuss as a class putting suggestions collected on the board or list on your own. Goal:. Come up with at least five (5) of them.

III. Questions on Ethics and Professionalism

Following are several possible vendor responses, at least one of which has occurred in a documented recent case.

  1. "We don't believe you have never heard about this problem."
  2. "We didn't know about this problem."
  3. "We know about it, but we don't plan to do anything about it as this model/release will soon be discontinued."
  4. "We know about it, but it is really an operating system(or software vendor or spreadsheet ) design problem."
  5. "We know about it and are working on resolving it."
  6. "We know about it, and it will be fixed/resolved in the next version/release of the product."
  7. "We will/will not replace the product at your request."

Discuss the ethics of each of these responses.

IV. Suggested Ethical Solution

Although this is a fictional case, problems like this do occur. The most likely explanation is that the display is not reflecting accurately (in decimal) the internal binary representation. Such errors can always occur when adding cents or dimes, because neither can be represented exactly as a binary number to any number of bits. However, displays should always be consistent to the nearest displayed digit, and a remark such as F above is never adequate, from either a liability standpoint or from an ethical perspective.

None of these responses is really satisfactory. Even offering to replace the product without correcting the problem is unsatisfactory. Students should be able to propose several more satisfactory responses than any offered in A-G. Some examples: posting on the internet, creating a special customer BB, sending announcements on postcards to customers. Many creative solutions can be provided, and students should be encouraged to brainstorm and come up with as many solutions to the problem as possible-everything from a product recall to a public announcement of the problem. When customers are alerted to the problem, they will either not use the product when that second decimal spot is critical, or at least be aware of the problem

Notes:

1. The company's name is ARC (A Reliable Computer), but a cynical friend has called them Always Really Close computers. Their advertising slogan is "ARC: Just the spark to get the job done." Because of the complaints from buyers, they did consider renaming their company CARP, Computer Are Rarely Precise!

* From NSF Engineering Ethics with Numerical Problems.
** Although fictionalized, similar situations have been experienced on two occasions by the problem developers in the six months prior to the writing of this case. One occurred with a SS and the other was in the calculator mode of a personal computer operating system.


| BACK TO TOP |

© 1997 National Society of Professional Engineers
(What does this Copyright mean?)