The Calculator and Countdown exercises


ACCEPT, DISPLAY, PERFORM..TIMES, COMPUTE, IF

 

Introduction

In this exercise you will amend the IterCalc.Cbl program.  This program is a version of the example iteration program shown in the introductory COBOL lecture.   Note - use your browsers back button to get back to this page.

Download the IterCalc.Cbl program and save it to the \WorkArea directory on drive D:.

Load the program into the NetExpress environment.
 

Examining IterCalc

Compile and run the program IterCalc.Cbl.  Use the Animator to step through the program and examine the contents of the Variables/Identifiers.

Examine the program and attempt to answer the following questions:-

  1. What is the maximum number of digits that the variable Num1 will hold?
  2. What is the maximum number of digits that  Num2 will hold?
  3. What is the maximum number of digits that Result will hold?
  4. If a user enters more digits than the receiving variable will hold what happens to the number entered?
  5. No validation is done on values entered by the user.   Examine the program and predict what will happen if an operator other than + or * is entered.
Test your answers by running the program and using the Animator to follow the flow of control through the program (Step) and to examine the contents of the variables.
 

Amending IterCalc

Amend the program so that instead of doing a fixed number of calculations (three in IterCalc.Cbl) it asks the user to enter the number of calculations required and then executes the loop that many times.

The version of the PERFORM used in this program has the syntax PERFORM Identifer/Literal TIMES. That is, either an identifer or a literal can be used to indicate how many times the loop is to be executed. The current version of IterCalc.Cbl uses a literal. You must change it so that it uses an identifier.

When run with the same data your amended program should the produce the results shown below.  For purposes of illustration, user input is shown enlarged and in bold.

Making a new program

Amend the program again. This time create a new program called Countdown.Cbl (use Save As from the NetExpress File menu). This program should get the user's name from the keyboard and should then display a count-down before displaying the name that was entered.
 
The program should produce results similar to those shown in the example run below.  For purposes of illustration, user input is shown enlarged and in bold.  

Conclusion

You may be wondering if COBOL provides some sort of counting loop, like the FOR loop in other languages, which you could use in this exercise.  COBOL does provide such a looping structure in the form of the PERFORM..VARYING.   


The format (simplified) for this version  is PERFORM VARYING counter FROM start BY step UNTIL terminatingcondition.  

Back to COBOL Exercises page To COBOL Exercises Please fill out our evaluation form Evaluation Form Search the CSIS Web Site Search CSIS Web Site
Selectable Site Contents


Last updated : March 1998
e-mail : CSISwebeditor@ul.ie