PROGRAM 21
PROGRAM FINDGCD_OF_3_INTEGERS; {ANTHONY F. ORITZ, ASSIGNMENT 7A, JULY 14, 1994} {THIS PROGRAM FINDS AND PRINTS THE GCD OF THREE FACTORS.} USES CRT; VAR A, B, C, GCD, GCD2: INTEGER; ANS: STRING; PROCEDURE INPUTDATA (VAR A, B, C: INTEGER); BEGIN WRITE ('ENTER THE FIRST POSITIVE INTEGER. '); READLN (A); WRITE ('ENTER THE SECOND POSITIVE INTEGER. '); READLN (B); WRITE ('ENTER THE THIRD POSITIVE INTEGER. '); READLN (C); END; PROCEDURE ABSOLUTEVALUE; BEGIN A := ABS (A); B := ABS (B); C := ABS (C); END; PROCEDURE PRINTRESULTS; BEGIN WRITELN; IF (A <> 0) AND (B <> 0) AND (C <> 0) THEN WRITELN ('THE GCD OF ',A, ', ',B, ', AND ', C, ' IS ', GCD2, '.'); WRITELN; END; PROCEDURE INQUIRY; BEGIN WRITE ('WOULD YOU LIKE TO CONTINUE WITH THIS PROGRAM? TYPE "YES" TO CONTINUE. '); READLN (ANS); END; FUNCTION FINDGCD (A, B: INTEGER): INTEGER; BEGIN IF (A = 0) OR (B = 0) THEN BEGIN GOTOXY (1, 4); WRITELN; GOTOXY (1, 5); WRITE ('THESE THREE VARIABLES DON''T HAVE A GCD. '); END ELSE BEGIN WHILE A <> B DO IF A > B THEN A := A - B ELSE B := B - A; END; FINDGCD := A; END; BEGIN REPEAT CLRSCR; INPUTDATA (A, B, C); ABSOLUTEVALUE; GCD := FINDGCD (A, B); GCD2 := FINDGCD (GCD, C); PRINTRESULTS; INQUIRY; UNTIL ANS <> 'YES'; END. { OUTFILE: PROG21.OUT } ENTER THE FIRST POSITIVE INTEGER. 2 ENTER THE SECOND POSITIVE INTEGER. 4 ENTER THE THIRD POSITIVE INTEGER. 6 THE GCD OF 2, 4, AND 6 IS 2. WOULD YOU LIKE TO CONTINUE WITH THIS PROGRAM? TYPE "YES" TO CONTINUE. no
BACK TO COMP151 PAGE.