Exercise - Using a DO WHILE Loop

About this task

Write a program with a DO WHILE loop that uses as input a list of responses about whether passengers on a commuter airline want a window seat. The flight has 8 passengers and 4 window seats. Discontinue the loop when all the window seats are taken. After the loop ends, produce the number of window seats taken and the number of responses processed.

ANSWER
Figure 1. Possible Solution
/******************************** REXX *******************************/
/* This program uses a DO WHILE loop to keep track of window seats   */
/* in an 8-seat commuter airline.                                    */
/*********************************************************************/

  window_seats = 0        /* Initialize window seats to 0 */
  passenger = 0           /* Initialize passengers to 0   */

  DO WHILE (passenger < 8) & (window_seats \= 4)

   /******************************************************************/
   /* Continue while the program has not yet read the responses of   */
   /* all 8 passengers and while all the window seats are not taken. */
   /******************************************************************/

    PULL window                /* Gets "Y" or "N" from input stream  */
    passenger = passenger + 1  /* Increase number of passengers by 1 */
    IF window = 'Y' THEN
      window_seats = window_seats + 1 /* Increase window seats by 1  */
    ELSE NOP
  END

  SAY window_seats 'window seats were assigned.'
  SAY passenger 'passengers were questioned.'

Task Task

Feedback


Timestamp icon Last updated: Tuesday, 7 January 2014


http://pic.dhe.ibm.com/infocenter/cicsts/v5r1/topic/com.ibm.cics.rexx.doc//dfhrx/whilex.html