! PROGRAM P22 ! ! INTRODUCTION TO READ ! IMPLICIT NONE INTEGER :: I,J,AGE,POUNDS,GRAMS REAL :: DAYS CHARACTER (LEN=15) :: NAME,ADDRESS LOGICAL :: SINGLE ! ! PRINT *, 'This is Program >> P22 - Read in some data' ! ! ! READ DATA ! READ *,I ! DO J=1,I READ * ,AGE,POUNDS READ * ,NAME,ADDRESS READ * ,SINGLE ! ! EXECUTABLE STATEMENTS ! GRAMS=POUNDS*254 DAYS=AGE*365.25 ! ! PRINT DATA ! PRINT *,'NAME AND ADDRESS :' PRINT *, NAME,ADDRESS PRINT *,'AGE AND NUMBER OF DAYS :' PRINT *, AGE,DAYS PRINT *,'POUNDS AND GRAMS :' PRINT *, POUNDS,GRAMS PRINT *,'SINGLE :' PRINT *, SINGLE PRINT *,' ' ! ! END DO STOP END PROGRAM P22DATA:
2 19 105 'Jane ' '123 Main street ' T 36 185 'Michael ' '105 Greene ave' FOUTPUT:
+--------------------------------------------------+ | 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 >> P22 - Read in some data NAME AND ADDRESS : Jane 123 Main street AGE AND NUMBER OF DAYS : 19 6939.75 POUNDS AND GRAMS : 105 26670 SINGLE : T NAME AND ADDRESS : Michael 105 Greene ave AGE AND NUMBER OF DAYS : 36 13149.0 POUNDS AND GRAMS : 185 46990 SINGLE : F
{} {} { Introduction to read } PROGRAM p22 ( input, output); VAR age, pds, single_tmp : INTEGER; days, grams : REAL; name , adrs : STRING[15]; single : BOOLEAN; { Read data } BEGIN WHILE ( NOT eof ) DO BEGIN readln ( age, pds); readln ( name, adrs); { since we cannot read in a boolean from the keyboard we read an integer 1 or 0 and convert to boolean } readln ( single_tmp ); IF single_tmp = 0 THEN single := FALSE; IF single_tmp = 1 THEN single := TRUE; { Executable statements } grams := pds * 454.0; days := age * 365.25; { Print data } writeln (name, ' ', adrs); writeln (age, days); writeln (pds, grams); writeln (single) END { end of while loop } END.DATA:
19 105 Jane 123 Main street 1 36 185 Michael 105 Greene ave 0
Last modified: 21/07/97