--%>

Data structure appears in a COBOL program

The following data structure appears in a COBOL program used by a bureau de change:
01 AUXILAIRY-ITEMS.
    05 AMOUNT-REQUIRED PIC999V99.
    05 SUCCESS-INDICATOR PIC 9.
    88 SUCCESS VALUE 1.
01 CURRENCY-TABLE.
    05 CURRENCY-RATE OCCURS 50 TIMES.
        10 CURRENCY-CODE PIC AAA.
        10 CURRENCY-RATE PIC 9(5)V9999.
    05 NUMBER-OF-CURRENCIES PIC 99.
Various foreign currencies are given ISO-standard three-letter codes (CURRENCY-CODE) and these are stored in the table (array) CURRENCY-TABLE together with the corresponding exchange rate (CURRENCY-RATE). The exchange rate is expressed as the amount of the foreign currency purchased for one pound (GBP).

The currencies are stored in elements 1 to NUMBER-OF-CURRENCIES of the table.
Assuming that all the relevant data items have been correctly initialised, write fragments of COBOL for each of the following tasks. In each case set the value of SUCCESS-INDICATOR such that the condition-name SUCCESS has the appropriate value after the operation.

i) Update the exchange rate for "PLN" TO 4.637.
ii) Look up the currency rate for "EUR" and calculate the (rounded) amount of this currency that corresponds to the value of AMOUNT-REQUIRED.
iii) Add a new currency to the table with the value "KWD" and the exchange rate 0.4488.

E

Expert

Verified

we will  declare one variable as “A “………. 01 A PIC 99.

PROCEDURE-DIVISION.
PROGRAM-BEGIN.
PERFORM MAIN-PROGRAM.
PROGRAM-END.
STOP RUN.

(i) MAIN- PROGRAM.
 PERFORM CHECK-DATA VARYING A FROM 1 BY 1 UNTIL A <= NUMBER-OF-CURRENCIES.

CHECK-DATA.
       IF CURRENCY-CODE(A) = “PLN”
               MOVE 4.637 TO CURRENCY-RATE(A)
      
               MOVE 1 TO SUCCESS-INDICATOR
               GO TO  PROGRAM-END

         ELSE
                 MOVE 0 TO SUCCESS-INDICATOR.

(ii) we will  declare one variable as “WS-RATE “………. 01 WS-RATE PIC 999V99.

MAIN- PROGRAM.
 PERFORM CHECK-DATA VARYING A FROM 1 BY 1 UNTIL A <= NUMBER-OF-CURRENCIES.

CHECK-DATA.
       IF CURRENCY-CODE(A) = “EUR”
               COMPUTE  WS-RATE ROUNDED = AMOUNT-REQUIRED.
      
               MOVE 1 TO SUCCESS-INDICATOR
               GO TO  PROGRAM-END

         ELSE
                 MOVE 0 TO  SUCCESS-INDICATOR.

(iii) IF NUMBER-OF-CURRENCIES < 50

                       ADD 1 TO  NUMBER-OF-CURRENCIES
                       MOVE “KWD”  TO CURRENCY-CODE(NUMBER-OF-CURRENCIES)
                       MOVE 0.4488 TO CURRENCY-RATE(NUMBER-OF-CURRENCIES)
                       MOVE 1 TO  SUCCESS-INDICATOR
            
               ELSE
                       MOVE 0 TO  SUCCESS-INDICATOR.

   Related Questions in Programming Languages

  • Q : Explain Relative filename Relative

    Relative filename: It is a filename whose full path is associative to some point within a file system tree-frequently the present working folder (that is, directory). For example:   

  • Q : What is Class body Class body : It is a

    Class body: It is a body of class definition. The body collects the definitions of a class's members that is, methods, fields and nested classes.

  • Q : What is Round robin allocation Round

    Round robin allocation: It is an allocation of time slices which repeatedly cycles regarding a set of eligible threads in the fixed order.

  • Q : Write a program and estimate pi using

    Consider a dartboard of radius 1. Since the area of the board will be  π r2 = π * 1 *1, it's clear the area of the dartboard is exactly π. The area of a square surrounding the board (circumscribing it) would be 2*2 = 4, sin

  • Q : Define Finally clause Finally clause :

    Finally clause: This is a part of try statement which is always executed, either subsequent the handling of caught exception, and normal termination of the protected statements.

  • Q : Explain the term QTP Environment

    Explain the term QTP Environment?

  • Q : Define Object-oriented language

    Object-oriented language: Programming languages like Java and C++ which permit the solution to a trouble to be stated in terms of objects that belong to the classes.

  • Q : Define the term New operator Define the

    Define the term New operator: The operator employed to generate instances {instance} of a class.

  • Q : Explain Counters Counter variables are

    Counter variables are commonly used in many computer applications for different purposes. Here is a typical example where a variable is used to measures the progress of some activity of interest:

    Q : What do you mean by data movement What

    What do you mean by data movement? Describe in brief.