современный фортран , Бортеньев. О. В. Бартеньев Современный Фортран
Скачать 2.24 Mb.
|
445 О. В. Бартеньев. Современный ФОРТРАН 6.14.3. Элементная подпрограмма MVBITS.......................................194 6.14.4. Пример использования битовых функций..............................195 6.15. Символьные функции........................................................................198 6.16. Процедуры для работы с памятью ...................................................198 6.17. Проверка состояния "конец файла" .................................................199 6.18. Неэлементные подпрограммы даты и времени ..............................199 6.19. Случайные числа ...............................................................................201 6.20. Встроенная подпрограмма CPU_TIME ...........................................202 7. Управляющие операторы и конструкции .................................203 7.1. Оператор GOTO безусловного перехода...........................................203 7.2. Оператор и конструкции IF ................................................................204 7.2.1. Условный логический оператор IF............................................204 7.2.2. Конструкция IF THEN END IF ..................................................204 7.2.3. Конструкция IF THEN ELSE END IF........................................205 7.2.4. Конструкция IF THEN ELSE IF.................................................205 7.3. Конструкция SELECT CASE ..............................................................206 7.4. DO-циклы. Операторы EXIT и CYCLE.............................................208 7.5. Возможные замены циклов.................................................................212 7.6. Оператор STOP ....................................................................................214 7.7. Оператор PAUSE .................................................................................214 8. Программные единицы .................................................................216 8.1. Общие понятия ....................................................................................216 8.2. Использование программных единиц в проекте ..............................217 8.3. Работа с проектом в среде DS ............................................................219 8.4. Главная программа ..............................................................................221 8.5. Внешние процедуры............................................................................222 8.6. Внутренние процедуры .......................................................................223 8.7. Модули .................................................................................................223 8.8. Оператор USE ......................................................................................226 8.9. Атрибуты PUBLIC и PRIVATE..........................................................230 8.10. Операторы заголовка процедур........................................................232 8.10.1. Общие характеристики операторов заголовка процедур ......232 8.10.2. Результирующая переменная функции...................................233 8.11. Параметры процедур.........................................................................236 8.11.1. Соответствие фактических и формальных параметров.........236 8.11.2. Вид связи параметра .................................................................238 8.11.3. Явные и неявные интерфейсы .................................................240 8.11.4. Ключевые и необязательные параметры ................................242 8.11.5. Ограничения на фактические параметры ...............................244 446 Оглавление 8.11.6. Запрещенные побочные эффекты............................................245 8.12. Перегрузка и родовые интерфейсы..................................................247 8.12.1. Перегрузка процедур ................................................................247 8.12.2. Перегрузка операций и присваивания.....................................250 8.12.3. Общий вид оператора INTERFACE ........................................252 8.13. Ассоциирование имен .......................................................................253 8.14. Область видимости имен ..................................................................255 8.15. Область видимости меток.................................................................258 8.16. Ассоциирование памяти ...................................................................258 8.16.1. Типы ассоциируемой памяти...................................................260 8.16.2. Оператор COMMON.................................................................261 8.16.3. Программная единица BLOCK DATA....................................264 8.17. Рекурсивные процедуры ...................................................................265 8.18. Формальные процедуры....................................................................266 8.18.1. Атрибут EXTERNAL................................................................267 8.18.2. Атрибут INTRINSIC .................................................................269 8.19. Оператор RETURN выхода из процедуры ......................................274 8.20. Оператор ENTRY дополнительного входа в процедуру ..............275 8.21. Атрибут AUTOMATIC......................................................................278 8.22. Атрибут SAVE ...................................................................................279 8.23. Атрибут STATIC................................................................................280 8.24. Атрибут VOLATILE..........................................................................281 8.25. Чистые процедуры.............................................................................281 8.26. Элементные процедуры ....................................................................284 8.27. Операторные функции ......................................................................287 8.28. Строка INCLUDE ..............................................................................288 8.29. Порядок операторов и директив ......................................................288 9. Форматный ввод/вывод ................................................................290 9.1. Преобразование данных. Оператор FORMAT..................................290 9.2. Программирование спецификации формата .....................................292 9.3. Выражения в дескрипторах преобразований ....................................294 9.4. Задание формата в операторах ввода/вывода ...................................295 9.5. Списки ввода/вывода ..........................................................................296 9.5.1. Элементы списков ввода/вывода...............................................296 9.5.2. Циклические списки ввода/вывода ...........................................298 9.5.3. Пример организации вывода......................................................298 9.6. Согласование списка ввода/вывода и спецификации формата. Коэффициент повторения. Реверсия формата .........................................300 9.7. Дескрипторы данных ..........................................................................302 9.8. Дескрипторы управления....................................................................312 447 О. В. Бартеньев. Современный ФОРТРАН 9.9. Управляемый списком ввод/вывод ....................................................318 9.9.1. Управляемый именованным списком ввод/вывод...................318 9.9.1.1. Объявление именованного списка .................................................. 319 9.9.1.2. NAMELIST-вывод ............................................................................ 319 9.9.1.3. NAMELIST-ввод ............................................................................... 321 9.9.2. Управляемый неименованным списком ввод/вывод...............323 9.9.2.1. Управляемый неименованным списком ввод ................................ 323 9.9.2.2. Управляемый неименованным списком вывод.............................. 325 10. Файлы Фортрана ..........................................................................327 10.1. Внешние и внутренние файлы..........................................................327 10.2. Позиция файла ...................................................................................327 10.3. Устройство ввода/вывода .................................................................328 10.4. Внутренние файлы.............................................................................329 10.5. Внешние файлы .................................................................................330 10.6. Записи .................................................................................................331 10.6.1. Типы записей.............................................................................331 10.6.2. Записи фиксированной длины .................................................332 10.6.3. Записи переменной длины .......................................................333 10.6.4. Сегментированные записи .......................................................333 10.6.5. Потоки........................................................................................334 10.6.6. CR-потоки..................................................................................334 10.6.7. LF-потоки ..................................................................................335 10.7. Передача данных с продвижением и без.........................................336 10.8. Позиция файла перед передачей данных ........................................336 10.9. Позиция файла после передачи данных ..........................................337 10.10. Двоичные последовательные файлы..............................................337 10.11. Неформатные последовательные файлы .......................................338 10.12. Текстовые последовательные файлы.............................................339 10.13. Файлы, подсоединенные для прямого доступа.............................341 10.14. Удаление записей из файла с прямым доступом ..........................346 10.15. Выбор типа файла............................................................................347 11. Операции над внешними файлами ...........................................349 11.1. Оператор BACKSPACE ....................................................................350 11.2. Оператор REWIND............................................................................351 11.3. Оператор ENDFILE ...........................................................................352 11.4. Оператор OPEN .................................................................................352 11.5. Оператор CLOSE ...............................................................................361 11.6. Оператор READ.................................................................................362 11.7. Оператор ACCEPT ............................................................................364 11.8. Оператор FIND ..................................................................................365 448 Оглавление 11.9. Оператор DELETE.............................................................................365 11.10. Оператор UNLOCK .........................................................................365 11.11. Оператор WRITE .............................................................................366 11.12. Оператор PRINT ..............................................................................367 11.13. Оператор REWRITE ........................................................................367 11.14. Оператор INQUIRE .........................................................................368 11.15. Функция EOF ...................................................................................373 11.16. Организация быстрого ввода/вывода ............................................373 12. Конструктор модулей для объектов ActiveX ...........................376 12.1. Некоторые сведения об объектах ActiveX ......................................376 12.2. Для чего нужен конструктор модулей.............................................377 12.3. Интерфейсы процедур управления Автоматизацией .....................378 12.4. Идентификация объекта....................................................................379 12.5. Примеры работы с данными Автоматизации .................................380 12.5.1. OLE-массивы.............................................................................380 12.5.2. BSTR-строки..............................................................................383 12.5.3. Варианты....................................................................................385 12.6. Другие источники информации .......................................................388 12.7. Как воспользоваться объектом ActiveX ..........................................388 12.8. Применение конструктора модулей ................................................388 12.9. Пример вызова процедур, сгенерированных конструктором модулей........................................................................................................391 Приложение 1. Вывод русского текста в DOS-окно.....................412 Приложение 2. Нерекомендуемые, устаревшие и исключенные свойства Фортрана................................................417 П.-2.1. Нерекомендуемые свойства Фортрана.........................................417 П.-2.1.1. Фиксированная форма записи исходного кода...................417 П.-2.1.2. Оператор EQUIVALENCE....................................................419 П.-2.1.3. Оператор ENTRY...................................................................421 П.-2.1.4. Вычисляемый GOTO .............................................................421 П.-2.1.5. Положение оператора DATA................................................422 П.-2.2. Устаревшие свойства Фортрана, определенные стандартом 1990 г..............................................................422 П.-2.2.1. Арифметический IF ...............................................................422 П.-2.2.2. Оператор ASSIGN присваивания меток ..............................423 П.-2.2.3. Назначаемый GOTO ..............................................................423 П.-2.2.4. Варианты DO-цикла ..............................................................424 П.-2.2.5. Переход на END IF ................................................................425 П.-2.2.6. Альтернативный возврат.......................................................425 449 О. В. Бартеньев. Современный ФОРТРАН П.-2.2.7. Дескриптор формата H..........................................................425 П.-2.3. Устаревшие свойства Фортрана, определенные стандартом 1995 г..............................................................425 П.-2.4. Исключенные свойства Фортрана ................................................426 Приложение 3. Дополнительные процедуры ................................427 П.-3.1. Запуск программ.............................................................................427 П.-3.2. Управление программой................................................................428 П.-3.3. Работа с системой, дисками и директориями ..............................428 П.-3.4. Управление файлами......................................................................429 П.-3.5. Генерация случайных чисел ..........................................................430 П.-3.6. Управление датой и временем ......................................................431 П.-3.7. Ввод с клавиатуры и генерация звука ..........................................432 П.-3.8. Обработка ошибок..........................................................................433 П.-3.9. Аргументы в командной строке....................................................433 П.-3.10. Сортировка и поиск в массиве ....................................................433 П.-3.11. Управление операциями с плавающей точкой ..........................433 Литература...........................................................................................435 Предметный указатель ......................................................................436 450 |