! PROGRAM P37 ! ! ! DECLARATIONS ! IMPLICIT NONE INTEGER :: AGE,WEIGHT,MARRGS CHARACTER (LEN=15) :: GROUP, NAME LOGICAL :: SINGLE,HEAVY ! ! PRINT *, 'This is Program >> P37 - Classification program' ! ! Tell program where data for READ * is coming from OPEN(UNIT=5, FILE='P37.DAT') ! UNIT=5 is the default input ! ! ! MAIN STATEMENTS ! PRINT *,'CLASSIFICATION PROGRAM' ! Loop1: DO PRINT * ,' ' READ * ,AGE,WEIGHT ! IF(AGE == 99)STOP ! Yes == for testing in an IF HEAVY = .FALSE. ! One = for an assignment statement IF(WEIGHT > 70) HEAVY=.TRUE. ! ! ! IF(AGE < 18)THEN GROUP='MINOR' ELSE IF(AGE < 35)THEN GROUP='PRIME YEARS' ELSE GROUP='MATURE' END IF ! READ * ,NAME READ *,SINGLE ! IF(SINGLE)THEN PRINT * ,NAME,' IS SINGLE' ELSE READ * ,MARRGS PRINT * ,NAME,'WAS MARRIED', & MARRGS,'TIMES' END IF ! PRINT * ,'SHE IS',AGE,'YEARS OLD' PRINT * ,'AND WEIGHS',WEIGHT,'KILOGRAMS' IF(HEAVY)PRINT * , & 'AND SHOULD JOIN WEIGHT WATCHERS' ! PRINT * ,'AGE GROUP: ',GROUP END DO Loop1 STOP END PROGRAM P37DATA:
39 77 'Mary' F 9 19 48 'Suzie' T 99 99OUTPUT:
+--------------------------------------------------+ | 32-bit Power for Lahey Computer Systems | | Phar Lap's 386|DOS-Extender(tm) Version 7.0 | | Copyright (C) 1986-94 Phar Lap Software, Inc. | | Available Memory = 14880 Kb | +--------------------------------------------------+ This is Program >> P37 - Classification program CLASSIFICATION PROGRAM Mary WAS MARRIED 9TIMES SHE IS 39YEARS OLD AND WEIGHS 77KILOGRAMS AND SHOULD JOIN WEIGHT WATCHERS AGE GROUP: MATURE Suzie IS SINGLE SHE IS 19YEARS OLD AND WEIGHS 48KILOGRAMS AGE GROUP: PRIME YEARS
PROGRAM p37 (input, output); { Declarations } VAR age, kilos, marriages : INTEGER; group : STRING[15]; name : STRING[10]; single_tmp : 0..1; single, heavy : BOOLEAN; { Main statements } BEGIN readln ( age, kilos ); WHILE ( age <> 99 ) DO BEGIN writeln ( 'Classification Program' ); writeln; heavy := false; IF ( kilos > 70 ) THEN heavy := TRUE; { Classify by age } IF ( age < 18 ) THEN group := 'minor' ELSE IF ( age < 35 ) THEN group := 'prime years' ELSE group := 'mature'; readln ( name ); readln ( single_tmp ); IF ( single_tmp = 1 ) THEN single := TRUE; IF ( single_tmp = 0 ) THEN single := FALSE; IF single THEN writeln ( name, ' is single' ) ELSE BEGIN readln ( marriages ); writeln ( name, ' was married ', marriages, ' times' ) END; { end else } writeln ( 'she is ', age, ' years old' ); writeln ( 'and weighs ', kilos, ' kilograms' ); IF heavy THEN writeln ( 'and should join weight watchers' ); writeln ( 'age group: ', group ); writeln END { end while } END.DATA:
39 77 Mary 0 9 19 48 Suzie 1 99
Last modified: 08/07/97