--%>

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 : Define the term Binary Binary : This is

    Binary: This is the number representation in base 2. In base 2, only digits 0 and 1 are utilized. Digit positions symbolize successive powers of 2.

  • Q : Write a program that prints out 20

    Write a program that prints out 20 random cards form a standard deck of 52 cards. Make sure the program prints out different sets of cards from one run to the next.

  • Q : Define Uniform Resource Locator Uniform

    Uniform Resource Locator: It is a Uniform Resource Locator (abbreviated as URL) expands the concept of file access from a wholly local context to one in which the resources are named uniformly, irrespective of where they may be physically situated. A

  • Q : Define Method header Method header : It

    Method header: It is the header of a method, comprising of the method name, its outcome type, formal arguments and any exceptions thrown. Also termed as a method signature.

  • Q : Define Radio buttons Radio buttons : It

    Radio buttons: It is a group of selectable components in which merely one component might be selected. The selection of one of the group that causes the previously chosen component to be deselected.

  • Q : Use the Alice Program Use the Alice

    Use the Alice Program from the link below to complete and save the five projects . http://alice.org/ (should be Alice 2.2 or newer) Assignment 1

    Q : C Sharp console application Write a

    Write a simple C# console application to consume the service to generate uniform random numbers.

  • Q : Write a program that initializes an

    Write a program that initializes an integer array a[20] with values {0, 1, 2, 3, ...18, 19 - once each} then scrambles them up and prints the values in random order. For example: 19 2 3 8 11 1 4 17 7 15 9 0 16 12 18 13 5 6 10 14    

  • Q : State Non-modal Non-modal : In this a

    Non-modal: In this a dialog is non-modal when its parent application is not blocked from additional activity whereas the dialog is being revealed.

  • Q : Procedural and object-oriented programs

    Illustrate the difference between the procedural and object-oriented programs in brief.