- •Часть 3
- •Содержание
- •30. Работа с файлами
- •Примечание:
- •31. Открытие файлов
- •File not found
- •32. Непосредственная работа с файлом
- •33. Форматный вывод информации
- •34. Форматное чтение информации из файла
- •35. Обработка сбойных ситуаций и ситуаций “конец файла” при вводе-выводе информации
- •Обработка сбойной ситуации:
- •7 Write (6,*) ’Введите a,I,b’
- •Обработка ситуации “конец файла”:
- •36. Операторы для работы с записями в файле
- •37. Дополнение файла информацией
- •Первый способ дополнения файла информацией:
- •10 Write (6,*)’Всего записей в файле’,kzap
- •Второй способ дополнения файла информацией
- •4 Write (6,*)’в файле было записей’,kz
- •38. Работа с текстом
- •39. Текстовые константы
- •Правило:
- •10 Format (a8)
- •10 Format (a)
- •1) Вводится меньше 8 символов, то они помещаются в переменную imfile, а недостающие до 8 позиции дополняются пробелами.
- •2) Вводится имя большего размера, чем 8 позиций, то будут восприняты только первые 8 символов и они будут записаны в переменную imfile;
- •8 Format (a10/5a5)
- •9 Format (1x,a10/1x,5a5)
- •9 Format (1x,a10/1x,5a5)
- •Семин а.В.
- •Правила ввода-вывода текстовой информации:
- •1). Ввод информации
- •Примечание:
- •40. Текстовые подцепочки
- •41. Вывод графиков
- •42. Эквивалентирование текстовых переменных
- •If(fam1.Eq.Fam2) write(6,9) fam2,k1,k2,k3,k4
- •7 Format (a40,i5,a15,i5,a7)
- •If (ngod.Ne.1962) goto 4
- •9 Format (1x,a40,i5,a15,i5,a7)
- •10 Write(4,*)’Конец просмотра базы данных’
- •43. Создание библиотек
- •44. Решение дифференциальных уравнений
- •45. Работа с комплексными данными
- •Правило:
- •46. Ввод-вывод переменных комплексного типа
- •Примечание:
- •47. Встроенные функции комплексного типа
- •48. Оператор equivalence
- •Правило:
- •49. Результаты арифметических операций в выражениях с данными разного типа
- •50. Файлы прямого доступа
- •51. Способы передачи форматных записей
- •52. Модификации оператора цикла do
- •6 Continue
- •If (y.Lt.0.05) cycle
- •55. Командные файлы
- •If errorlevel 1 go to exit
- •If errorlevel 1 go to done
49. Результаты арифметических операций в выражениях с данными разного типа
В этой главе рассмотрим, что будет происходить с выражениями, в которых участвуют переменные разных типов (INTEGER,REAL,COMPLEX).
Общий вид выражения:
C=A*B
где А – первый операнд;
В – второй операнд.
В качестве арифметических операций могут быть операции сложения, вычитания, произведения и частного.
Нагляднее всего использовать в качестве объяснения таблицу:
-
Первый операнд
Integer
Real
Complex
Второй операнд
Integer
Integer
Real
Complex
Real
Real
Real
Complex
Complex
Complex
Complex
Complex
Если в арифметической операции участвуют вещественно число (REAL) и комплексное (COMPLEX), то результатом будет число комплексного типа. Аналогичный результат будет,если участвуют целое (INTEGER) и комплексное; два комплексных.
Пример:
COMPLEX A, B, C, D, F
A=(1., –2.)
B=(3.,4.)
D=A+5. Переменная D=(6.,–2.)
E=A–5 Переменная E= –4.
Здесь из комплексного числа А берётся действительная часть (1.), из неё вычитается 5 и полученный результат –4 будет вещественного типа.
D=E+2. Переменная D=(–2.,0.)
Переменной комплексного типа D присвоится значение вещественного типа Е+2., тогда в действительную часть комплексного числа D запишется –2, а мнимая часть примет значение равное 0.
F=CSQRT(D)
Результатом будет комплексное число.
F=SQRT(B) Переменная F=(1.73,0.)
Будет извлекаться корень квадратный из действительной части комплексного числа В и результат присвоится действительной части комплексного числа F.
50. Файлы прямого доступа
Отличительной особенностью файлов прямого доступа является то, что чтение или запись информации в них можно производить в любое место (в любую запись, номер которой указан).
Файлы прямого доступа имеют записи фиксированной длины. При чтении или вводе информации необходимо следить, чтобы размер обрабатываемой информации не превышал длины записи. Если всё-таки произойдёт превышение, то наступит сбойная ситуация. При открытии файла оператором OPENпо умолчанию считается, что открываемый файл является файлом последовательного доступа, а чтобы указать, что файл имеет тип прямого доступа – необходимо записать в оператореOPEN:
OPEN (4,FILE=’DATA’, ACCESS=’DIRECT’, RECL=20, FORM=’FORMATTED’)
где ACCESS– определяет способ доступа к файлу:
а) ‘DIRECT’ – прямой доступ;
б) ‘SEQUENTIAL’ – последовательный доступ.
RECL– длина каждой записи в файле;
FORM– форма передачи данных:
а) UNFORMATTED– бесформатный способ записи;
б) FORMATTED– форматный способ записи;
в) BINARY– двоичный способ записи.
Для этого примера данные будут располагаться в файле в виде:
20 40 60
1-я запись 2-я запись 3-я запись 4-я запись
При чтении информации из файла прямого доступа и записи информации в файл прямого доступа необходимо указывать номер записи.
Например:
READ (4, 6, REC=3) I, J, K1, K2
RECL=3 означает чтение записи номер 3(расположена с 40 по 60 позицию).
FORMAT (4I5)
Читаем из файла с именем DATA по формату 4I5 запись номер 3. Считанные данные помещаем в переменные I, J, K1, K2.
Файлы прямого доступа используются для создания баз данных и для работы с базами данных. В файле прямого доступа можно изменять содержание любой записи, при этом содержание других записей в файле не меняется (в файле последовательного доступа если мы запишем информацию в середину файла, то информация, следующая далее уничтожается).