Advertisement
Guest User

Bowling Scores computation

a guest
Jul 26th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // FOR
  2. *LIST SOURCE PROGRAM
  3. *IOCS(1132 PRINTER,CARD,DISK)
  4. *ONE WORD INTEGERS
  5. C BOWLING - COMPUTE 10 PIN BOWLING SCORES
  6. C  
  7. C EACH CARD HAS THE NUMBER OF PINS KNOCKED DOWN BY ONE BALL.
  8. C  
  9.  
  10. C PINS 1 2 AND 3 FOR EACH LOOP THROUGH A FRAME.
  11.       INTEGER P1, P2, P3
  12. C FRAME NUMBER
  13.       INTEGER FN
  14. C FRAME TOTAL
  15.       INTEGER FT
  16. C GRAND TOTAL
  17.       INTEGER GT
  18.  
  19.       WRITE(3,5)
  20.     5 FORMAT('1BOWLING SCORE PROGRAM...')
  21.  
  22. C     --- READ NEXT CARD
  23.       READ (2,10) P1
  24.    10 FORMAT(I2)
  25.       READ (2,10) P2
  26.       READ (2,10) P3
  27.       FN = 1
  28.       GT = 0
  29.    20 WRITE(3,25) P1, P2, P3
  30.    25 FORMAT(' PINS ',I3, I3, I3)
  31. C  --- TEST IF STRIKE
  32. C  -- IF P1 == 10
  33.       IF (P1 - 10) 40, 30, 40
  34.    30 FT = P1 + P2 + P3
  35.       P1 = P2
  36.       P2 = P3
  37.       READ(2,10) P3
  38.       FN = FN + 1
  39.       GOTO 70
  40.      
  41. C --- TEST IF SPARE
  42. C  -- IF P1 + P2 == 10
  43. C  
  44.    40 IF((P1 + P2) - 10) 60, 50, 60
  45.    50 FT = P1 + P2 + P3
  46.       P1 = P3
  47.       READ(2,10) P2
  48.       READ(2,10) P3
  49.       FN = FN + 1
  50.       GOTO 70
  51.  
  52. C  IT'S NOT A STRIKE OR A SPARE.
  53.    60 FT = P1 + P2
  54.       P1 = P3
  55.       READ(2,10) P2
  56.       READ(2,10) P3
  57.       FN = FN + 1
  58.  
  59. C  END OF LOOP
  60.    70 GT = GT + FT
  61.       WRITE (3,75) FN, FT
  62.    75 FORMAT(' FRAME NO. ', I2, ', SCORE ', I2)
  63.      
  64.       IF (FN - 11) 20, 80, 20
  65.    80 WRITE(3,90) GT
  66.    90 FORMAT(' TOTAL SCORE ', I3)
  67.  
  68.  
  69.       CALL EXIT
  70.       END
  71. // XEQ
  72. 09
  73. 01
  74. 10
  75. 07
  76. 02
  77. 07
  78. 03
  79. 10
  80. 10
  81. 01
  82. 05
  83. 03
  84. 07
  85. 10
  86. 07
  87. 03
  88. 05
  89. 00
  90. // XEQ
  91. 10
  92. 10
  93. 10
  94. 10
  95. 10
  96. 10
  97. 10
  98. 10
  99. 10
  100. 10
  101. 10
  102. 10
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement