!
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 P37
DATA:
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