PROGRAM 22
PROGRAM INTEGER_OPTIMIZATION_PROBLEM; {ANTHONY F. ORITZ, ASSIGNMENT 7B, JULY 14, 1994} {THIS PROGRAM COMPUTES AND DISPLAYS THE OPTIMIZATION INTEGER.} USES CRT; VAR X, Y, Z, XMAX, YMAX, ZMAX: INTEGER; FMAX: REAL; PROCEDURE INITIALIZE (VAR FMAX: REAL; VAR XMAX, YMAX, ZMAX: INTEGER); BEGIN FMAX := -15000; XMAX := 0; YMAX := 0; ZMAX := 0; END; FUNCTION F (VAR X, Y, Z: INTEGER): REAL; BEGIN F := 80 * X + 160 * Y - 200 * Z - 15000; END; FUNCTION INBOUNDS: BOOLEAN; BEGIN IF (X + 3 * Y + 5 * Z <= 200) AND (X + Y + Z <= 100) AND (X + Z <= 60) THEN INBOUNDS := TRUE ELSE INBOUNDS := FALSE; END; PROCEDURE TESTFORMAX; BEGIN IF F (X, Y, Z) > FMAX THEN BEGIN FMAX := F (X, Y, Z); XMAX := X; YMAX := Y; ZMAX := Z; END; END; PROCEDURE PRINTRESULTS; BEGIN WRITELN ('THE MAXIMUM FUNCTION IS ', FMAX:1:2, ' WHICH OCCURES WHEN X, Y, AND Z = ',XMAX:3,',',YMAX:3,',',ZMAX:3, '.'); WRITELN; END; PROCEDURE PAUSE; BEGIN WRITE ('PRESS ENTER KEY TO CONTINUE. '); READLN; END; BEGIN CLRSCR; INITIALIZE (FMAX, XMAX, YMAX, ZMAX); FOR X := 0 TO 60 DO FOR Y := 0 TO 66 DO FOR Z := 0 TO 40 DO IF INBOUNDS = TRUE THEN TESTFORMAX; PRINTRESULTS; PAUSE; END. { OUTFILE: PROG22.OUT } THE MAXIMUM FUNCTION IS -3000.00 WHICH OCCURES WHEN X, Y, AND Z = 50, 50, 0. PRESS ENTER KEY TO CONTINUE.
BACK TO COMP151 PAGE.