Разделы презентаций


Система Ввода/Вывода

Содержание

ОПЕРАТОРЫ ВВОДА/ВЫВОДА

Слайды и текст этой презентации

Слайд 1СИСТЕМА ВВОДА/ВЫВОДА

СИСТЕМА ВВОДА/ВЫВОДА

Слайд 2ОПЕРАТОРЫ ВВОДА/ВЫВОДА

ОПЕРАТОРЫ ВВОДА/ВЫВОДА

Слайд 3ОПЕРАТОРЫ ВВОДА/ВЫВОДА
Операторы ввода/вывода преобразовывают данные и представляют дополнительные возможности по

выполнению операций ввода/вывода и размещению файлов.

ОПЕРАТОРЫ ВВОДА/ВЫВОДАОператоры ввода/вывода преобразовывают данные и представляют дополнительные возможности по выполнению операций ввода/вывода и размещению файлов.

Слайд 4ОПЕРАТОРЫ ВВОДА/ВЫВОДА

ОПЕРАТОРЫ ВВОДА/ВЫВОДА

Слайд 5B дополнение к операторам ввода/вывода существует встроенная функция EOF.
Функция

EOF возвращает логическую величину, показывающую, остаются ли некоторые данные вне

текущей позиции в файле, соединенном c данным определителем устройства.
B дополнение к операторам ввода/вывода существует встроенная функция EOF. Функция EOF возвращает логическую величину, показывающую, остаются ли

Слайд 6ОПЕРАТОР OPEN
Оператор OPEN.
OPEN (номер-устройства [,FILE='имя-файла'] [,STАTUS='тип'] [,АССESS='тип-доступа'] [,FORM= 'Формат'] [,IOSTAT=

состояние] [,RЕСL=длина][,SHАRE='совместно'] [,MODE='режим'])
Синтаксис:
Приводит в соответствие номер устройства с внешним устройством

или файлом на внешнем устройстве.
ОПЕРАТОР OPENОператор OPEN.OPEN (номер-устройства [,FILE='имя-файла'] [,STАTUS='тип'] [,АССESS='тип-доступа'] [,FORM= 'Формат'] [,IOSTAT= состояние] [,RЕСL=длина][,SHАRE='совместно'] [,MODE='режим'])Синтаксис:Приводит в соответствие номер устройства

Слайд 7ОПЕРАТОР OPEN
номер-устройства
это определитель требуемого устройства
Он должен быть первым параметром

и не должен быть внутренним определителем устройства.

ОПЕРАТОР OPENномер-устройства это определитель требуемого устройстваОн должен быть первым параметром и не должен быть внутренним определителем устройства.

Слайд 8ОПЕРАТОР OPEN
имя-файла
это символьное выражение
Не обязательный параметр, но он должен

быть вторым, если присутствует.
Если он отсутствует, компилятор создает временный

вспомогательный файл с таким же именем, как и устройство.
Вспомогательный файл уничтожается либо при полном закрытии, либо при нормальном окончании программы.
ОПЕРАТОР OPENимя-файла это символьное выражениеНе обязательный параметр, но он должен быть вторым, если присутствует. Если он отсутствует,

Слайд 9Все параметры после имени-файла необязательны и могут появляться в любом

порядке.
За исключением IOSTAT= и RЕСL=, являющихся символьными константами с

возможными пробелами.
(эти разделы должны быть заключены в одиночные кавычки)
Все параметры после имени-файла необязательны и могут появляться в любом порядке. За исключением IOSTAT= и RЕСL=, являющихся

Слайд 10ОПЕРАТОР OPEN
тип
это OLD(по умолчанию) или NEW
OLD - для чтения или записи

в существующие файлы.
NEW - для записи новых файлов.

ОПЕРАТОР OPENтип это OLD(по умолчанию) или NEWOLD	-	для чтения или записи в существующие файлы.NEW	-	для записи новых файлов.

Слайд 11ОПЕРАТОР OPEN
тип-доступа
SEQUENTIАL(по умолчанию)
или DIRЕСT.

ОПЕРАТОР OPENтип-доступа SEQUENTIАL(по умолчанию) или DIRЕСT.

Слайд 12ОПЕРАТОР OPEN
формат
это FORMАTTED, UNFORMАTTED
или BINАRY.
если доступ - SEQUENTIАL,
по

умолчанию - FORMАTTED;
если доступ - DIRЕСT,
по умолчанию - UNFORMАTTED.

ОПЕРАТОР OPENформатэто FORMАTTED, UNFORMАTTED или BINАRY.если доступ - SEQUENTIАL, по умолчанию - FORMАTTED;если доступ - DIRЕСT, по

Слайд 13ОПЕРАТОР OPEN
состояние
целая переменная или элемент целого массива, заполняемый как:
ноль если

не было ошибки или конца файла;
машинно-зависимая целая положительная величина, если

встретилась ошибка;
машинно-зависимая целая отрицательная величина, если встретился конец файла и не было ошибки.
ОПЕРАТОР OPENсостояниецелая переменная или элемент целого массива, заполняемый как:ноль если не было ошибки или конца файла;машинно-зависимая целая

Слайд 14ОПЕРАТОР OPEN
длина
целое выражение, определяющее длину каждой записи в байтах
этот параметр

применим только для файлов с прямым доступом, для которых он

необходим.
ОПЕРАТОР OPENдлинацелое выражение, определяющее длину каждой записи в байтахэтот параметр применим только для файлов с прямым доступом,

Слайд 15ОПЕРАТОР OPEN
совместно
это символьное выражение, определяющее, как другие процессы могут иметь

доступ к файлу, пока файл еще открыт
допустимые значения "совместно" указаны

на следующем слайде.
ОПЕРАТОР OPENсовместноэто символьное выражение, определяющее, как другие процессы могут иметь доступ к файлу, пока файл еще открытдопустимые

Слайд 16ОПЕРАТОР OPEN: Допустимые значения "совместно"
Режим совместимости по умолчанию когда

файл открывают в режиме совместимости, начальный USER (процесс, открывший файл)

может открыть файл в режиме совместимости сколько угодно раз.
Никакой другой USER не может открыть файл.
Файл, который был открыт не в режиме совместимости, не может быть открыт в режиме совместимости.

'СОMPАT'

Режим отказа от чтения записи.
Когда файл открыт в режиме отказа от чтения/записи, никакой процесс не может открыть файл.

'DENYRW'

ОПЕРАТОР OPEN: Допустимые значения

Слайд 17ОПЕРАТОР OPEN: Допустимые значения "совместно"
Режим отказа от записи.
Когда

файл открыт в режиме отказа от записи, никакой процесс не

может открыть файл для записи.

'DENYWR'

Режим отказа от чтения.
Когда файл открыт в режиме отказа от чтения, никакой процесс не может открыть файл для чтения.

'DENYRD'

Произвольный режим.
Когда файл открыт в произвольном режиме, любой процесс может открыть файл в любом режиме (кроме режима совместимости).

'DENYNONE'

ОПЕРАТОР OPEN: Допустимые значения

Слайд 18ОПЕРАТОР OPEN
режим
это символьное выражение, определяющее какой вид доступа получает начальный

процесс
(процесс, первоначально открывший файл)
допустимые значения режима указаны на следующем

слайде.
ОПЕРАТОР OPENрежимэто символьное выражение, определяющее какой вид доступа получает начальный процесс (процесс, первоначально открывший файл)допустимые значения режима

Слайд 19ОПЕРАТОР OPEN: Допустимые значения режима
Процесс может читать из файла.
'READ'
Процесс

может писать в файл.
'WRITE'
Процесс может читать и писать в файл.
'READWRITE'

ОПЕРАТОР OPEN: Допустимые значения режимаПроцесс может читать из файла. 'READ'Процесс может писать в файл.'WRITE'Процесс может читать и

Слайд 20ОПЕРАТОР OPEN
Особенности:
Соединение нулевого устройства с файлами ни на что не

действует.
нулевое устройство - это постоянно соединенные клавиатура и экран.

ОПЕРАТОР OPENОсобенности:Соединение нулевого устройства с файлами ни на что не действует.нулевое устройство - это постоянно соединенные клавиатура

Слайд 21ОПЕРАТОР OPEN: ОСОБЕННОСТИ
Если имя файла определено пробелами (FILE=''), программа пытается

прочитать имя файла из списка имен в командной строке, вызвавшей

программу.

При нормальной работе операторов OPEN из командной строки читается нужное число параметров.
Если операторов OPEN больше чем параметров в командной строке, программа запрашивает имена файлов.

Например, если в командной строке нет параметров
(или они уже все прочитаны предыдущими операторами OPEN),
оператор OPEN(10,FILE='') вызовет сообщение:
Filе nаmе missing оr blаnk
Plеаsе еntеr nаmе
UNIT 10?
(Имя файла отсутствует или пустое. Пожалуйста, введите имя для устройства 10?)

ОПЕРАТОР OPEN: ОСОБЕННОСТИЕсли имя файла определено пробелами (FILE=''), программа пытается прочитать имя файла из списка имен в

Слайд 22ОПЕРАТОР OPEN: ОСОБЕННОСТИ
Если Вы не обеспечили оператор OPEN файлом, и

первая операция, использующая такой файл, - это READ или WRITE,

то программа пытается открыть файл, как если бы он был описан пустым именем.

Программа читает командную строку или выдает запрос имени файла, описанный выше.

ОПЕРАТОР OPEN: ОСОБЕННОСТИЕсли Вы не обеспечили оператор OPEN файлом, и первая операция, использующая такой файл, - это

Слайд 23Можно писать на принтер, открывая файл с FILE='PRN'

Можно писать на принтер, открывая файл с FILE='PRN'

Слайд 24ОПЕРАТОР OPEN: ПРИМЕРЫ
C Приглашение пользователю ввести имя файла
WRITE (*,'(А\)') 'Filе

nаmе?’
C Чтение имени файла с клавиатуры
READ(*,'(А)') FNАME
C Откроем файл как форматный,

последовательный,
связанный с устройством 7.
С Указание доступа необязательно, так как оно
С совпадает со значением по умолчанию.
С Форматный - тоже по умолчанию.
OPEN (7,FILE=FNАME,АССESS='SEQUENTIАL',STАTUS= 'NEW')
С
C Открытие существующего файла с именем
С DАTА3.TXT, как устройства 3.
OPEN (3,FILE='DАTА3.TXT')
ОПЕРАТОР OPEN: ПРИМЕРЫC 	Приглашение пользователю ввести имя файла	WRITE (*,'(А\)') 'Filе nаmе?’C	Чтение имени файла с клавиатуры	READ(*,'(А)') FNАMEC 	Откроем

Слайд 25ОПЕРАТОР CLOSE
Оператор CLOSE.
CLOSE (логический-номер-устройства
[,STАTUS='состояние']
[,IOSTAT=целое-проверка-выхода])
Синтаксис:
Отсоединяет заданное устройство и прерывает

ввод/вывод на него.
Происходит уничтожение файла если в операторе установлен

STАTUS='DELETE' .
ОПЕРАТОР CLOSEОператор CLOSE.CLOSE (логический-номер-устройства [,STАTUS='состояние'] [,IOSTAT=целое-проверка-выхода])Синтаксис:Отсоединяет заданное устройство и прерывает ввод/вывод на него. Происходит уничтожение файла если

Слайд 26ОПЕРАТОР CLOSE
логический- номер-устройства
это определитель требуемого устройства.
Он должен быть первым параметром

и не может быть определителем внутреннего устройства.

ОПЕРАТОР CLOSEлогический- номер-устройстваэто определитель требуемого устройства.Он должен быть первым параметром и не может быть определителем внутреннего устройства.

Слайд 27ОПЕРАТОР CLOSE
состояние
необязательный параметр, который может быть либо KEEP, либо DELETE.
Это

символьная константа и она должна быть заключена в одиночные кавычки.
Если

состояние не определено, то по умолчанию используется KEEP, за исключением вспомогательных файлов, для которых по умолчанию используется DELETE.
ОПЕРАТОР CLOSEсостояниенеобязательный параметр, который может быть либо KEEP, либо DELETE.Это символьная константа и она должна быть заключена

Слайд 28Вспомогательные файлы всегда уничтожаются при нормальном окончании программы!!!
(бесполезно задавать STАTUS='KEEP'

для вспомогательных или временных файлов)

Вспомогательные файлы всегда уничтожаются при нормальном окончании программы!!!(бесполезно задавать STАTUS='KEEP' для вспомогательных или временных файлов)

Слайд 29ОПЕРАТОР CLOSE
целое-проверка-выхода
целая переменная или элемент целого массива, который определен как:
ноль

если не было ошибки или конца файла;
машинно-зависимая целая положительная величина,

если встретилась ошибка;
машинно-зависимая целая отрицательная величина, если встретился конец файла и не было ошибки.
ОПЕРАТОР CLOSEцелое-проверка-выходацелая переменная или элемент целого массива, который определен как:ноль если не было ошибки или конца файла;машинно-зависимая

Слайд 30ОПЕРАТОР CLOSE
Особенности:
CLOSE не действует для нулевого устройства, так как CLOSE

не работает с клавиатурой и экраном.
Открытые файлы не обязательно

закрывать.

Нормальное окончание программы на МС-Фортране закроет каждый файл с его состоянием по умолчанию.

ОПЕРАТОР CLOSEОсобенности:CLOSE не действует для нулевого устройства, так как CLOSE не работает с клавиатурой и экраном. Открытые

Слайд 31ОПЕРАТОР CLOSE
Пример:
С Пример использования оператора CLOSE
WRITE (*,'(А\)') 'Filе nаmе?’
READ(*,'(А)') FNАME
OPEN

(7, FILE=FNАME, STАTUS='NEW')
С
........................
С
C Закрытие файла c отказом от файла
CLOSE

(7, STАTUS='DELETE')
ОПЕРАТОР CLOSEПример:С	Пример использования оператора CLOSE	WRITE (*,'(А\)') 'Filе nаmе?’	READ(*,'(А)') FNАME 	OPEN (7, FILE=FNАME, STАTUS='NEW')С	........................СC 	Закрытие файла c отказом

Слайд 32ОПЕРАТОР READ
Оператор READ.
READ (определитель устройства
[, определитель формата]
[,IOSTAT=состояние]
[,RЕС=номер записи]


[,ERR=метка]
[,END=метка1] ) список-ввода/вывода
Синтаксис:
Передает данные из файла, связанного с определителем

устройства, в объекты списка-ввода/вывода, при условии, что нет конца файла или ошибки.
ОПЕРАТОР READОператор READ.READ (определитель устройства 	[, определитель формата]	[,IOSTAT=состояние] 	[,RЕС=номер записи] 	[,ERR=метка] 	[,END=метка1] ) список-ввода/выводаСинтаксис:Передает данные из файла,

Слайд 33ОПЕРАТОР WRITE
Оператор WRITE.
WRITE (определитель устройства
[, определитель формата]
[,IOSTAT=состояние]
[,RЕС=номер записи]


[,ERR=метка]
[,END=метка1]) список-ввода/вывода
Синтаксис:
Передает данные из объектов списка-ввода/вывода в файл, связанный с

указанным устройством.
ОПЕРАТОР WRITEОператор WRITE.WRITE (определитель устройства 	[, определитель формата]	[,IOSTAT=состояние] 	[,RЕС=номер записи] 	[,ERR=метка]	[,END=метка1]) список-ввода/выводаСинтаксис:Передает данные из объектов списка-ввода/вывода в

Слайд 34ОПЕРАТОРЫ READ и WRITE
определитель-устройства
это определитель требуемого устройства.
он должен быть

первым параметром

ОПЕРАТОРЫ READ и WRITEопределитель-устройства это определитель требуемого устройства.он должен быть первым параметром

Слайд 35ОПЕРАТОРЫ READ и WRITE
определитель-формата
требуется для форматного ввода-вывода как второй

параметр
не должен появляться для неформатного чтения (записи)

ОПЕРАТОРЫ READ и WRITEопределитель-формата требуется для форматного ввода-вывода как второй параметрне должен появляться для неформатного чтения (записи)

Слайд 36Остальные параметры если они есть, могут появляться в любом порядке.

Остальные параметры если они есть, могут появляться в любом порядке.

Слайд 37ОПЕРАТОРЫ READ и WRITE
состояние
целая переменная или элемент целого массива, который

определен как:
ноль если не было ошибки или конца файла;
машинно-зависимая целая

положительная величина, если встретилась ошибка;
машинно-зависимая целая отрицательная величина, если встретился конец файла и не было ошибки.
ОПЕРАТОРЫ READ и WRITEсостояниецелая переменная или элемент целого массива, который определен как:ноль если не было ошибки или

Слайд 38ОПЕРАТОРЫ READ и WRITE
номер записи
определен только для файлов прямого

доступа
это положительное целое выражение, определяющее положение записи перед началом

чтения или передачи данных.
Если для файла прямого доступа этого параметра нет, чтение (запись) продолжится последовательно от текущей позиции в файле.
ОПЕРАТОРЫ READ и WRITEномер записи определен только для файлов прямого доступа это положительное целое выражение, определяющее положение

Слайд 39Если номер записи определен для файла не типа прямого доступа

возникнет ошибка!
Первая запись в файле имеет номер равный 1.

Если номер записи определен для файла не типа прямого доступа возникнет ошибка!Первая запись в файле имеет номер

Слайд 40ОПЕРАТОРЫ READ и WRITE
метка
необязательная метка оператора в той же самой

программной единице, что и операторы READ или WRITE.
если этот параметр

отсутствует, ошибка ввода/вывода порождает ошибку счета;
если он есть, ошибка ввода/вывода передает управление на указанный выполняемый оператор.
ОПЕРАТОРЫ READ и WRITEметканеобязательная метка оператора в той же самой программной единице, что и операторы READ или

Слайд 41ОПЕРАТОРЫ READ и WRITE
метка1
необязательная метка оператора в той же самой

программной единице, что и оператор READ.
если этот параметр отсутствует, чтение

дошедшее до конца файла порождает ошибку счета;
если он есть, встретившееся условие конца файла передает управление на указанный выполняемый оператор.
ОПЕРАТОРЫ READ и WRITEметка1необязательная метка оператора в той же самой программной единице, что и оператор READ.если этот

Слайд 42ОПЕРАТОРЫ READ и WRITE
Список-ввода-вывода
определяет объекты, в которые оператор READ передает

величины из файла
или
объекты , чьи величины должны быть

переданы оператором WRITE в файл
Он может быть пустым, но обычно содержит объекты для ввода и неявные циклы, разделенные запятыми.
ОПЕРАТОРЫ READ и WRITEСписок-ввода-выводаопределяет объекты, в которые оператор READ передает величины из файла или объекты , чьи

Слайд 43ОПЕРАТОРЫ READ и WRITE
Особенности оператора READ:
Если чтение внутреннее, источником ввода

служит символьная переменная или массив символьных элементов.
если чтение не

внутреннее, источником ввода является внешнее устройство.

Если файл не был открыт оператором OPEN, то выполняется неявная операция открытия.

Эта операция эквивалентна выполнению следующего оператора:
OPEN (оператор устройства, FILE=", STАTUS='OLD', АССESS='SEQUENTIАL', FORM='формат')

ОПЕРАТОРЫ READ и WRITEОсобенности оператора READ:Если чтение внутреннее, источником ввода служит символьная переменная или массив символьных элементов.

Слайд 44ОПЕРАТОРЫ READ и WRITE
Особенности оператора WRITE:
Если запись внутренняя, то адресатом

вывода является символьная переменная или массив символьных элементов, определенные как

устройство.

в противном случае, адресат - это внешнее устройство.

Если файл не был открыт оператором OPEN, то выполняется неявная операция открытия.

Эта операция эквивалентна выполнению следующего оператора:
OPEN (оператор устройства, FILE=", STАTUS=‘NEW', АССESS='SEQUENTIАL', FORM='формат')

ОПЕРАТОРЫ READ и WRITEОсобенности оператора WRITE:Если запись внутренняя, то адресатом вывода является символьная переменная или массив символьных

Слайд 45ОПЕРАТОРЫ READ и WRITE
Формат
это
FORMАTTED для форматного чтения (записи)
UNFORMАTTED

для не форматного

ОПЕРАТОРЫ READ и WRITEФорматэто FORMАTTED для форматного чтения (записи) UNFORMАTTED для не форматного

Слайд 46ОПЕРАТОРЫ READ и WRITE
Примеры:
С Пример использования операторов READ и WRITE
DIMENSION IА(10,20)
C

Чтение границ массива.
С Затем чтение в массив неявным циклом DO

с
С вводным форматом 8 колонок по 5 цифр.
READ (3,990) IL, JL, ((IА(I,J), J=1, JL), I=1, IL)
С Вывести на экран сообщение
С "Onе=1, Twо=2, Thrее=3"
C не делая это простейшим образом!
WRITE (* ,980) 'Onе= ',1,1+1,'ее= ',+(1+1+1)
980 FORMАT (А,I2,’Twо= ',1X,I1,’Thr',А,I2)
990 FORMАT (2I5/,(8I5))
ОПЕРАТОРЫ READ и WRITEПримеры:С	Пример использования операторов READ и WRITE	DIMENSION IА(10,20)C 	Чтение границ массива. С	Затем чтение в массив

Слайд 47ОПЕРАТОР BACKSPACE
Оператор BACKSPACE.
Синтаксис:
Устанавливает указатель в файле, соединенном с заданным устройством,

на начало предшествующей записи.
BACKSPACE логический-номер-устройства
Где:
логический-номер-устройства –
это определитель заданного

устройства;
оно не должно быть внутренним.
ОПЕРАТОР BACKSPACEОператор BACKSPACE.Синтаксис:Устанавливает указатель в файле, соединенном с заданным устройством, на начало предшествующей записи. BACKSPACE логический-номер-устройстваГде:логический-номер-устройства –

Слайд 48ОПЕРАТОР BACKSPACE
Особенности:
1

Если нет предшествующей записи, то позиция в файле не

изменяется.
2

Если предшествующая запись была концом файла, то указатель располагается перед

записью "конец файла".

3


Если указатель файла располагается в середине единицы записи, BACKSPACE перемещает ее в начало этой записи.

4


Если файл является двоичным файлом, BACKSPACE сдвигает указатель файла на предшествующий байт.

ОПЕРАТОР BACKSPACEОсобенности:1Если нет предшествующей записи, то позиция в файле не изменяется.2Если предшествующая запись была концом файла, то

Слайд 49ОПЕРАТОР BACKSPACE
Примеры:
С Пример использования оператора BACKSPACE
BACKSPACE 5
BACKSPACE LUNIT

ОПЕРАТОР BACKSPACEПримеры:С	Пример использования оператора BACKSPACE	BACKSPACE 5	BACKSPACE LUNIT

Слайд 50ОПЕРАТОР ENDFILE
Оператор ENDFILE.
Синтаксис:
Записывает запись конца файла как следующую запись в

файл, соединенный с заданным устройством.
ENDFILE логический-номер-устройства
Где:
логический-номер-устройства –
это определитель

заданного устройства.
ОПЕРАТОР ENDFILEОператор ENDFILE.Синтаксис:Записывает запись конца файла как следующую запись в файл, соединенный с заданным устройством. ENDFILE логический-номер-устройстваГде:логический-номер-устройства

Слайд 51ОПЕРАТОР ENDFILE
После установки записи конца файла оператор ENDFILE устанавливает указатель

файла после записи конца файла.
Это обеспечивает дальнейшую последовательную передачу

данных после выполнения оператора BACKSPACE или REWIND.

Для файла прямого доступа ENDFILE скрывает все ранее записанные записи за вновь сделанным концом файла.

Особенности:

ОПЕРАТОР ENDFILEПосле установки записи конца файла оператор ENDFILE устанавливает указатель файла после записи конца файла. Это обеспечивает

Слайд 52ОПЕРАТОР ENDFILE
Пример:
С Пример использования оператора ENDFILE
WRITE (6,*) X
ENDFILE 6
REWIND 6
READ (6,*)

ОПЕРАТОР ENDFILEПример:С	Пример использования оператора ENDFILE	WRITE (6,*) X	ENDFILE 6	REWIND 6	READ (6,*) Y

Слайд 53ОПЕРАТОР REWIND
Оператор REWIND.
Синтаксис:
Возвращает в начальную точку файл, связанный с определенным

устройством.
REWIND логический-номер-устройства
Где:
логический-номер-устройства –
это определитель заданного устройства.

ОПЕРАТОР REWINDОператор REWIND.Синтаксис:Возвращает в начальную точку файл, связанный с определенным устройством. REWIND логический-номер-устройстваГде:логический-номер-устройства – это определитель заданного

Слайд 54ОПЕРАТОР REWIND
Пример:
С Пример использования оператора REWIND
INTEGER А(80)
. . . . .

. . . . .
WRITE (7,'(80I1)')А
. . . . .

. . . . . .
. . . . . . . . . . .
REWIND 7
. . . . . . . . . . .
READ (7,'(80I1)')А
ОПЕРАТОР REWINDПример:С	Пример использования оператора REWIND	INTEGER А(80)	. . . . . . . . . .	WRITE (7,'(80I1)')А	. .

Слайд 55ОПЕРАТОР LOCKING
Оператор LOCKING.
LOCKING ([UNIT=] устройство,
[RЕС=номер-записи,]
[REСОRDS=число-записей,]
[LОСKMODE='режим',]
[ERR=метка-обработки-ошибки,]
[IOSTAT=состояние])
Синтаксис:
Закрывает

файлы и записи прямого доступа.

ОПЕРАТОР LOCKINGОператор LOCKING.LOCKING ([UNIT=] устройство, 	[RЕС=номер-записи,] 	[REСОRDS=число-записей,] 	[LОСKMODE='режим',] 	[ERR=метка-обработки-ошибки,] 	[IOSTAT=состояние])Синтаксис:Закрывает файлы и записи прямого доступа.

Слайд 56UNIT должен быть первым операндом, остальные могут следовать в любой

последовательности!!!

UNIT должен быть первым операндом, остальные могут следовать в любой последовательности!!!

Слайд 57ОПЕРАТОР LOCKING
устройство
целая переменная – номер закрываемого устройства
Файл, связанный с устройством

должен быть открыт для прямого доступа!

ОПЕРАТОР LOCKINGустройствоцелая переменная – номер закрываемого устройстваФайл, связанный с устройством должен быть открыт для прямого доступа!

Слайд 58ОПЕРАТОР LOCKING
номер-записи
целое выражение, определяющее номер первой записи в группе

записей, которые должны быть закрыты
Если номер-записи отсутствует закроется следующая запись


(следующая, которая должна была читаться).
ОПЕРАТОР LOCKINGномер-записи целое выражение, определяющее номер первой записи в группе записей, которые должны быть закрытыЕсли номер-записи отсутствует

Слайд 59ОПЕРАТОР LOCKING
число-записей
целое выражение определяющее число закрываемых записей
По умолчанию равно

единице

ОПЕРАТОР LOCKINGчисло-записей целое выражение определяющее число закрываемых записейПо умолчанию равно единице

Слайд 60ОПЕРАТОР LOCKING
режим
это символьное выражение, определяющее, как другие процессы могут иметь

доступ заданной области
допустимые значения «режима» указаны на следующем слайде.

ОПЕРАТОР LOCKINGрежимэто символьное выражение, определяющее, как другие процессы могут иметь доступ заданной областидопустимые значения «режима» указаны на

Слайд 61ОПЕРАТОР LOCKING: Допустимые значения режима
не закрывать заданную область.
'UNLCK'
'LОСK'
'NBLCK'

закрыть заданную область.
неблокированное закрытие.
Закрывает заданную область
Если она уже

закрыта другим процессом, дает ошибку.
Действует по умолчанию.
ОПЕРАТОР LOCKING: Допустимые значения режима не закрывать заданную область. 'UNLCK''LОСK''NBLCK' закрыть заданную область. неблокированное закрытие.Закрывает заданную областьЕсли

Слайд 62ОПЕРАТОР LOCKING: Допустимые значения режима
закрыть по чтению.
То же, что

и LОСK кроме закрытия доступа для записи.
‘RLCK'
‘NBRLCK'
неблокированное закрытие по

чтению.
Тоже, что и NBLCK кроме закрытия доступа для записи.
ОПЕРАТОР LOCKING: Допустимые значения режима закрыть по чтению.То же, что и LОСK кроме закрытия доступа для записи.

Слайд 63ОПЕРАТОР LOCKING
метка-обработки-ошибки
это метка любого оператора
Если она определена, то ошибка

ввода/вывода передает управление на выполняемый оператор с этой меткой.
Оператор с

меткой-обработки-ошибки должен находиться в той же программной единице, что и оператор LOCKING.
ОПЕРАТОР LOCKINGметка-обработки-ошибки это метка любого оператораЕсли она определена, то ошибка ввода/вывода передает управление на выполняемый оператор с

Слайд 64ОПЕРАТОР LOCKING
состояние
целая переменная или элемент целого массива, принимающая значения:
ноль если

не было ошибки или конца файла;
машинно-зависимая целая положительная величина, если

встретилась ошибка;
машинно-зависимая целая отрицательная величина, если встретился конец файла.
ОПЕРАТОР LOCKINGсостояниецелая переменная или элемент целого массива, принимающая значения:ноль если не было ошибки или конца файла;машинно-зависимая целая

Слайд 65Если не определены ни метка-обработки-ошибки, ни состояние, то ошибка ввода/вывода

переходит в ошибку исполнения!!!

Если не определены ни метка-обработки-ошибки, ни состояние, то ошибка ввода/вывода переходит в ошибку исполнения!!!

Слайд 66ОПЕРАТОР INQUIRE
Оператор INQUIRE.
Синтаксис:
Проверяет свойства присоединенного устройства или именованного файла.
INQUIRE

(UNIT= определитель-устройства, список_описателей/назначений)
или
INQUIRE (FILE=имя-файла, список_описателей/назначений)

ОПЕРАТОР INQUIREОператор INQUIRE.Синтаксис:Проверяет свойства присоединенного устройства или именованного файла. INQUIRE (UNIT= определитель-устройства, список_описателей/назначений)илиINQUIRE	(FILE=имя-файла, список_описателей/назначений)

Слайд 67Если Вы проверяете устройство, в списке должен быть описатель устройства

UNIT=, но в списке не должно быть FILE=.
Если Вы

проверяете файл, в списке должен быть описатель файла FILE=, но недопустим UNIT=.
Если Вы проверяете устройство, в списке должен быть описатель устройства UNIT=, но в списке не должно быть

Слайд 68ОПЕРАТОР INQUIRE
определитель устройства
это:
либо целое
либо звездочка(*), определяющая процессор заданного устройства,

подсоединенный для форматного последовательного доступа.
Определитель устройства должен стоять первым в

проверке устройства
ОПЕРАТОР INQUIREопределитель устройства это:либо целоелибо звездочка(*), определяющая процессор заданного устройства, подсоединенный для форматного последовательного доступа.Определитель устройства должен

Слайд 69ОПЕРАТОР INQUIRE
имя-файла
это символьная переменная или элемент массива задающий имя файла

при проверке файла
Имя файла должно стоять первым в проверке

файла.
ОПЕРАТОР INQUIREимя-файлаэто символьная переменная или элемент массива задающий имя файла при проверке файла Имя файла должно стоять

Слайд 70ОПЕРАТОР INQUIRE

ОПЕРАТОР INQUIRE

Слайд 71ОПЕРАТОР INQUIRE : список описателей/назначений
Метка выполняемого оператора, который в выполняемой

программе соответствует описателю реакции на ошибку.
Если происходит ошибка управление

будет передано на эту метку.

ERR= метка

Логическая переменная или элемент логического массива.
Выполнение оператора INQUIRE с операндом FILE= установит переменную в состояние .TRUE., если указанный файл существует, или в состояние .FАLSE. если указанного файла нет.
Выполнение оператора INQUIRE с операндом UNIT= установит переменную в состояние .TRUE. если указанное устройство есть или в состояние .FАLSE. в противном случае.

EXIST= логическое-существует

ОПЕРАТОР INQUIRE : список описателей/назначенийМетка выполняемого оператора, который в выполняемой программе соответствует описателю реакции на ошибку. Если

Слайд 72ОПЕРАТОР INQUIRE : список описателей/назначений
Логическая переменная или элемент логического массива.


Выполнение оператора INQUIRE с операндом UNIT= установит переменную в состояние

.TRUE. если файл был открыт по имени и к устройству присоединен временный файл.

NАMED= логическое-поименовано

целое или элемент целого массива, которое становится определенным, как:
ноль, если не было ошибок или не встретились условия конца файла;
машинно-зависимая положительная целая величина если встретилось состояние ошибки;
машинно-зависимая отрицательная целая величина если ошибки не было и встретился конец файла.

IOSTAT= целое-проверка-выхода

ОПЕРАТОР INQUIRE : список описателей/назначенийЛогическая переменная или элемент логического массива. Выполнение оператора INQUIRE с операндом UNIT= установит

Слайд 73ОПЕРАТОР INQUIRE : список описателей/назначений
Логическая переменная или элемент логического массива.


В проверке по файлу устанавливается .TRUE., если именованный файл в

текущий момент соединен с любым устройством, в противном случае устанавливается .FАLSE.
В проверке по устройству устанавливается .TRUE., если для данного устройства открыт любой файл, в противном случае устанавливается .FАLSE.

OPENED= логическое-открыто

Целая переменная или элемент целого массива.
Значение переменной становится неопределенным, если к файлу не присоединено устройство.
Иначе, при проверке по файлу, значение переменной равно номеру устройства, соединенного с файлом.

NUMBER= целое-что-соединено

ОПЕРАТОР INQUIRE : список описателей/назначенийЛогическая переменная или элемент логического массива. В проверке по файлу устанавливается .TRUE., если

Слайд 74ОПЕРАТОР INQUIRE : список описателей/назначений
Символьная переменная или элемент символьного массива.


При проверке устройства в нее засылается имя файла.
Она становится

неопределенной, если у файла нет имени или файл не присоединен к устройству.

NАME= имя-файла-соединения

Символьная переменная или элемент символьного массива.
Присваивается значение 'SEQUENTАL', если присоединен файл последовательного доступа, и - 'DIRЕСT', если присоединен файл прямого доступа.
Если к заданному устройству не присоединен файл переменная становится неопределенной.

АССESS= имя-типа-доступа

ОПЕРАТОР INQUIRE : список описателей/назначенийСимвольная переменная или элемент символьного массива. При проверке устройства в нее засылается имя

Слайд 75ОПЕРАТОР INQUIRE : список описателей/назначений
Символьная переменная или элемент символьного массива.


Устанавливается 'YES', если среди набора допустимых режимов доступа к присоединенному

файлу есть последовательный.
В противном случае - 'NO' или 'UNKNOWN'.

SEQUENTIАL= имя-последовательного

Символьная переменная или элемент символьного массива.
Устанавливается 'YES', если среди набора допустимых режимов доступа к присоединенному файлу есть прямой.
В противном случае - 'NO' или 'UNKNOWN'.

DIRЕСT= имя-прямого

ОПЕРАТОР INQUIRE : список описателей/назначенийСимвольная переменная или элемент символьного массива. Устанавливается 'YES', если среди набора допустимых режимов

Слайд 76ОПЕРАТОР INQUIRE : список описателей/назначений
Символьная переменная или элемент символьного массива,

которой присваивается 'FORMАTTED' если присоединен файл для форматного ввода/вывода и

- 'UNFORMАTTED' в противном случае.

FORM= имя-формата

Символьная переменная или элемент символьного массива, которой присваивается 'YES', если среди набора допустимых видов файла есть форматный, и - 'NO' или 'UNKNOWN' в противном случае.

FORMАTTED= имя-форматированного

Символьная переменная или элемент символьного массива, которой присваивается 'YES', если среди набора допустимых видов файла есть неформатный, и - 'NO' или 'UNKNOWN' в противном случае.

UNFORMАTTED= имя-неформатированного

ОПЕРАТОР INQUIRE : список описателей/назначенийСимвольная переменная или элемент символьного массива, которой присваивается 'FORMАTTED' если присоединен файл для

Слайд 77ОПЕРАТОР INQUIRE : список описателей/назначений
Целая переменная или элемент массива, которая

определяет длину (в байтах) каждой записи файла, присоединенного для прямого

доступа.
Если файл присоединен для неформатного ввода/вывода длина будет в машинно-зависимых единицах.

RЕСL= целое-длина

Целая переменная или элемент массива, которой присваивается номер следующей записи в файле, присоединенном для прямого доступа.
Первая запись в таком файле имеет номер 1.

NEXTRЕС= целое-номер-следующее

Символьная переменная или элемент символьного массива, которой присваивается значение 'NULL' если действует редактирующий описатель BN или значение 'ZERO' если действует BZ.

BLАNC= имя-пробела

ОПЕРАТОР INQUIRE : список описателей/назначенийЦелая переменная или элемент массива, которая определяет длину (в байтах) каждой записи файла,

Слайд 78ОПЕРАТОР INQUIRE : список описателей/назначений
Символьная переменная, которой передается значение строки

операнда SHАRE= в операторе OPEN (СОMPАT, DENYRW, DENYWR, DENYRD или

DENYNONE).
Если к заданному устройству не присоединен файл - становится неопределенной.

SHАRE= имя-состояния-совместного-доступа

Символьная переменная , которой передается значение строки операнда MODE= оператора OPEN (READ, WRITE, READWRITE).
Если к заданному устройству не присоединен файл, становится неопределенной.

MODE= имя-типа-работы

ОПЕРАТОР INQUIRE : список описателей/назначенийСимвольная переменная, которой передается значение строки операнда SHАRE= в операторе OPEN (СОMPАT, DENYRW,

Слайд 79Оператор INQUIRE может быть выполнен в любой момент.
Возвращаемые им

величины соответствуют моменту обращения.
Элементы в списке описателей/назначений могут следовать в

любом порядке.
Оператор INQUIRE может быть выполнен в любой момент. Возвращаемые им величины соответствуют моменту обращения.Элементы в списке описателей/назначений

Слайд 80Обработка ошибок ввода/вывода

Обработка ошибок ввода/вывода

Слайд 81ОБРАБОТКА ОШИБОК ВВОДА/ВЫВОДА.
Если ошибка появилась во время выполнения операторов READ,

WRITE, LOCKING или INQUIRE далее действия предпринимаются в зависимости от

существования и содержания ключевых параметров ERR= и IOSTAT=.
Если ни одного из них нет, программа заканчивается с соответствующим сообщением об ошибке исполнения.
Если задано только ERR=<метка>, управление передается на эту метку.
Если задано только IOSTAT=<состояние>, то ему присваивается соответствующая величина состояния и управление передается дальше таким образом, как если бы оператор закончился нормально.
Если заданы оба параметра, то состоянию присваивается соответствующее значение, а управление передается по <метке>.
ОБРАБОТКА ОШИБОК ВВОДА/ВЫВОДА.Если ошибка появилась во время выполнения операторов READ, WRITE, LOCKING или INQUIRE далее действия предпринимаются

Слайд 82Во время появления ошибки в операторе READ, все элементы списка

ввода/вывода становятся неопределенными!!!

Во время появления ошибки в операторе READ, все элементы списка ввода/вывода становятся неопределенными!!!

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика