home *** CD-ROM | disk | FTP | other *** search
- PROGRAM GENERIC;
-
-
- LABEL 100;
-
- CONST ITERATIONS = 25;
-
- TYPE INPUT_FILE = TEXT;
- STRING80 = STRING[80];
-
- VAR COUNTER : INTEGER;
- OK : BOOLEAN;
- LIMIT : INTEGER;
- FOO_FACTOR : INTEGER;
- BUFFER : STRING80;
- DO_FILE : INPUT_FILE;
-
-
- PROCEDURE OPEN_A_FILE(VAR OK : BOOLEAN);
-
- VAR I : INTEGER;
-
- BEGIN
- ASSIGN(DO_FILE,'MYTEXT.TXT');
- {$I-} RESET(DO_FILE); {$I+}
- I := IORESULT;
- IF I = 0 THEN OK := TRUE ELSE OK := FALSE;
- END;
-
-
- FUNCTION CRUNCH_LINE(BUFFER : STRING80) : INTEGER;
-
- VAR I : INTEGER;
- BUCKET : INTEGER;
-
- BEGIN
- CRUNCH_LINE := 0;
- IF LENGTH(BUFFER) > 0 THEN
- BEGIN
- BUCKET := 0;
- FOR I := 1 TO LENGTH(BUFFER) DO BUCKET := BUCKET +
- ORD(BUFFER[I]);
- BUCKET := BUCKET DIV LENGTH(BUFFER);
- CRUNCH_LINE := BUCKET
- END
- END;
-
-
- FUNCTION CRUNCH_FILE(VAR DO_FILE : INPUT_FILE) : INTEGER;
-
- VAR PASSES : INTEGER;
- TEMP : INTEGER;
-
- BEGIN
- TEMP := 0;
- FOR PASSES := 1 TO ITERATIONS DO
- BEGIN
- RESET(DO_FILE);
- WHILE NOT EOF(DO_FILE) DO
- BEGIN
- READLN(DO_FILE,BUFFER);
- TEMP := TEMP+CRUNCH_LINE(BUFFER);
- END
- END;
- CRUNCH_FILE := TEMP DIV ITERATIONS
- END;
-
-
-
- BEGIN { Main Program }
- OPEN_A_FILE(OK);
- IF NOT OK THEN
- BEGIN
- WRITELN('>>The file cannot be opened.');
- GOTO 100
- END;
- FOO_FACTOR := CRUNCH_FILE(DO_FILE);
- WRITELN('>>Foo Factor for Input File is ',FOO_FACTOR);
- CLOSE(DO_FILE);
- WRITELN('>>Processing completed.');
- 100:
- END.