Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // FOR
- *LIST SOURCE PROGRAM
- *IOCS(1132 PRINTER,CARD,DISK)
- *ONE WORD INTEGERS
- C BOWLING - COMPUTE 10 PIN BOWLING SCORES
- C
- C EACH CARD HAS THE NUMBER OF PINS KNOCKED DOWN BY ONE BALL.
- C
- C PINS 1 2 AND 3 FOR EACH LOOP THROUGH A FRAME.
- INTEGER P1, P2, P3
- C FRAME NUMBER
- INTEGER FN
- C FRAME TOTAL
- INTEGER FT
- C GRAND TOTAL
- INTEGER GT
- WRITE(3,5)
- 5 FORMAT('1BOWLING SCORE PROGRAM...')
- C --- READ NEXT CARD
- READ (2,10) P1
- 10 FORMAT(I2)
- READ (2,10) P2
- READ (2,10) P3
- FN = 1
- GT = 0
- 20 WRITE(3,25) P1, P2, P3
- 25 FORMAT(' PINS ',I3, I3, I3)
- C --- TEST IF STRIKE
- C -- IF P1 == 10
- IF (P1 - 10) 40, 30, 40
- 30 FT = P1 + P2 + P3
- P1 = P2
- P2 = P3
- READ(2,10) P3
- FN = FN + 1
- GOTO 70
- C --- TEST IF SPARE
- C -- IF P1 + P2 == 10
- C
- 40 IF((P1 + P2) - 10) 60, 50, 60
- 50 FT = P1 + P2 + P3
- P1 = P3
- READ(2,10) P2
- READ(2,10) P3
- FN = FN + 1
- GOTO 70
- C IT'S NOT A STRIKE OR A SPARE.
- 60 FT = P1 + P2
- P1 = P3
- READ(2,10) P2
- READ(2,10) P3
- FN = FN + 1
- C END OF LOOP
- 70 GT = GT + FT
- WRITE (3,75) FN, FT
- 75 FORMAT(' FRAME NO. ', I2, ', SCORE ', I2)
- IF (FN - 11) 20, 80, 20
- 80 WRITE(3,90) GT
- 90 FORMAT(' TOTAL SCORE ', I3)
- CALL EXIT
- END
- // XEQ
- 09
- 01
- 10
- 07
- 02
- 07
- 03
- 10
- 10
- 01
- 05
- 03
- 07
- 10
- 07
- 03
- 05
- 00
- // XEQ
- 10
- 10
- 10
- 10
- 10
- 10
- 10
- 10
- 10
- 10
- 10
- 10
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement