PROGRAM 15
PROGRAM GREATESTCOMMONDENOMINATOR;
{ANTHONY F. ORTIZ, ASSIGNMENT 5, JUNE 29. 1994}
{THIS PROGRAM FINDS THE GCD AND PRINTS IT TO THE SCREEN.}
USES CRT;
VAR
A, B, A2, B2, GCD: INTEGER;
ANS: STRING;
PROCEDURE INPUTINTEGERS;
BEGIN
WRITE ('ENTER FIRST POSITIVE INTEGER. ');
READLN (A);
WRITE ('ENTER SECOND POSITIVE INTEGER. ');
READLN (B);
WRITELN;
END;
PROCEDURE FINDGCD;
BEGIN
A := (ABS (A));
B := (ABS (B));
A2 := A;
B2 := B;
IF A * B = 0 THEN
WRITELN (A, ' AND ', B, ' DON''T HAVE A GREATEST COMMON DENOMINATOR. ')
ELSE
IF A = B THEN
ELSE
REPEAT
IF A > B THEN
A := A - B
ELSE
B := B - A;
UNTIL A = B;
IF (A = B) AND (A * B <> 0) THEN
WRITELN (B, ' IS THE GREATEST COMMON DENOMINATOR OF ', A2, ' AND ', B2, '.');
END;
PROCEDURE INQUIRY;
BEGIN
WRITELN;
WRITE ('WOULD YOU LIKE TO CONTINUE INPUTTING INTEGERS? TYPE "NO" TO QUIT. ');
READLN (ANS);
END;
BEGIN
REPEAT
CLRSCR;
INPUTINTEGERS;
FINDGCD;
INQUIRY;
UNTIL (ANS = 'NO') OR (ANS = 'no');
END.
{ OUTFILE: PROG15.OUT }
ENTER FIRST POSITIVE INTEGER. 2
ENTER SECOND POSITIVE INTEGER. 4
2 IS THE GREATEST COMMON DENOMINATOR OF 2 AND 4.
WOULD YOU LIKE TO CONTINUE INPUTTING INTEGERS? TYPE "NO" TO QUIT. no
BACK TO COMP151 PAGE.