Answer to Question #52531 in Other Programming & Computer Science for biruk
All peripheral devicesallow files to be processed sequentially: you start at the beginning of the
file and work through each record in turn. One important advantage of
sequential files is that different records can have different lengths; the
minimum record length is zero but the maximum is system-dependent.
Sequential files behaveas if there were a pointer attached to the file which always indicates the next
record to be transferred. On devices such as terminals and printers you can
only read or write in strict sequential order, but when a file is stored on
disc or tape it is possible to use the REWIND statement to reset this pointer
to the start of the file, allowing it to be read in again or re-written. On
suitable files the BACKSPACE statement can be used to move the pointer back by
one record so that the last record can be read again or over-written.
One unfortunateomission from the Fortran Standard is that the position of the record pointer
is not defined when an existing sequential file is opened. Most Fortran systems
behave sensibly and make sure that they start at the beginning of the file, but
there are a few rogue systems around which make it advisable, in portable
software, to use REWIND after the OPEN statement. Another problem is how append
new records to an existing sequential file. Some systems provide (as an
extension) an ``append" option in the OPEN statement, but the best method
using Standard Fortran is to open the file and read records one at a time until
the end-of-file condition is encountered; then use BACKSPACE to move the
pointer back and clear the end-of-file condition. New records can then be added
in the usual way.
The alternative access method isdirect-access which allows records to be read and written in any order. Most
systems only permit this for files stored on random-access devices such as
discs; it is sometimes also permitted on tapes. All records in a direct-access
file must be the same length so that the system can compute the location of a
record from its record number. The record length has to be chosen when the file
is created and (on most systems) is then fixed for the life of the file. In
Fortran, direct-access records are numbered from one upwards; each READ or
WRITE statement specifies the record number at which the transfer starts.
Records may be writtento a direct-access file in any order. Any record can be read provided that it
exists, i.e. it has been written at some time since the file was created. Once
a record has been written there is no way of deleting it, but its contents can
be updated, i.e. replaced, at any time.
Need a fast expert's response?Submit order
and get a quick answer at the best price
for any assignment or question with DETAILED EXPLANATIONS!