Книга: Горелик А. М. «Программирование на современном Фортране»

Программирование на современном Фортране

Описывается международный стандарт языка Фортран 95, приводятся его отличия от Фортрана 90 и информация о реализациях. Описание сопровождается рекомендациями и примерами. Большое внимание уделяется тем средствам языка, которые обеспечивают реализацию современных технологий программирования и позволяют сократить время и трудоемкость разработки вычислительных программ. Рассматриваются средства поддержки параллельности, которые имеются непосредственно в стандартном Фортране, и описание стандартных языков для параллельных ЭВМ, являющихся расширениями Фортрана. Приводится информация о Фортране 2003 и перспективах развития языка Фортран.
Для научных работников, инженеров, преподавателей, аспирантов и студентов.

Содержание:

ПРЕДИСЛОВИЕ...... 3 ЧАСТЬ ПЕРВАЯ. СОВРЕМЕННЫЙ МЕЖДУНАРОДНЫЙ СТАНДАРТ ЯЗЫКА ФОРТРАН...... 7 Глава 1. СТАНДАРТИЗАЦИЯ ЯЗЫКА...... 8 1. 1. Цели стандартизации языка...... 8 1. 2. О разработке международных стандартов языка Фортран...... 9 1. 3. Информация о стандарте и его стандартных расширениях...... 10 1. 4. О терминологии 1. 5. Немного истории...... 12 Глава 2. ОСНОВНЫЕ ЭЛЕМЕНТЫ ЯЗЫКА И ПРАВИЛА ЗАПИСИ ПРОГРАММЫ...... 12 2. 1. Структура программы...... 12 2. 2. Алфавит...... 13 2. 3. Лексемы...... 14 2. 4. Формат исходного текста...... 16 2. 5. Включение исходного текста. Строка INCLUDE...... 18 Глава 3. ОБЪЕКТЫ И ТИПЫ ДАННЫХ...... 19 3. 1. Общие сведения...... 19 3. 2. Типы данных...... 20 3. 3. Константы...... 23 3. 4. Переменные...... 25 3. 5. Массивы...... 26 3. 6. Конструктор массива...... 28 3. 7. Секция массива...... 29 3. 8. Символьные подстроки...... 32 3. 9. Задание способа представления данных...... 33 3. 10. Подробнее о производных типах...... 37 3. 11. Указатели...... 42 Глава 4. ВЫРАЖЕНИЯ И ПРИСВАИВАНИЯ...... 42 4. 1. Выражения...... 42 4. 2. Операторы присваивания...... 50 4. 3. Определяемые операции и присваивания...... 54 4. 4. Присваивание по маске...... 54 4. 5. Оператор и конструкция FORALL...... 56 Глава 5. ОПЕРАТОРЫ И КОНСТРУКЦИИ УПРАВЛЕНИЯ ВЫПОЛНЕНИЕМ...... 60 5. 1. Общие сведения...... 60 5. 2. Блок операторов. Имя конструкции...... 61 5. 3. Конструкция условного перехода...... 62 5. 4. Конструкция выбора...... 63 5. 5. Конструкции цикла...... 65 5. 6. Операторы управления...... 69 Глава 6. ОБЪЯВЛЕНИЯ ТИПА И АТРИБУТОВ ДАННЫХ...... 70 6. 1. Общие сведения...... 70 6. 2. Операторы явного объявления типа...... 71 6. 3. Оператор неявного объявления типа...... 73 6. 4. Объявление символьных данных...... 74 6. 5. Описание производного типа. Объявление объектов производного типа...... 77 6. 6. Объявление массивов...... 78 6. 7. Атрибуты данных и операторы спецификации атрибутов...... 79 6. 8. Оператор EQUIVALENCE...... 86 6. 9. Оператор COMMON...... 88 6. 10. Оператор DATA...... 90 Глава 7. ДИНАМИЧЕСКИЕ МАССИВЫ. УКАЗАТЕЛИ...... 92 7. 1. Общие сведения...... 92 7. 2. Механизмы динамического размещения массивов...... 93 7. 3. Автоматические массивы...... 93 7. 4. Размещаемые массивы...... 94 7. 5. Указатели. Атрибут и оператор POINTER...... 97 7. 6. Объекты с атрибутом TARGET. Оператор TARGET...... 99 7. 7. Оператор присваивания указателю и оператор NULLIFY...... 100 7. 8. Операторы ALLOCATE и DEALLOCATE для указателей Динамически создаваемые массивы...... 102 7. 9. Новые возможности, касающиеся размещаемых массивов...... 104 Глава 8. ОПЕРАТОРЫ ВВОДА-ВЫВОДА...... 105 8. 1. Общие сведения...... 105 8. 2. Простейшие средства ввода-вывода...... 106 8. 3. Основные понятия...... 109 8. 4. Операторы передачи данных. Операторы READ, WRITE, PRINT...... 113 8. 5. Операторы открытия и закрытия файлов...... 121 8. 6. Операторы установки текущей позиции в файле...... 127 8. 7. Оператор запроса. Оператор INQUIRE...... 128 Глава 9. ФОРМАТИРОВАНИЕ ДАННЫХ ВВОДА-ВЫВОДА...... 131 9. 1. Общие сведения...... 131 9. 2. Способы явного задания формата...... 131 9. 3. Дескрипторы для преобразования данных...... 132 9. 4. Управляющие дескрипторы...... 137 9. 5. Дескриптор в виде символьной строки...... 140 9. 6. Ввод-вывод, управляемый списком...... 141 9. 7. Оператор NAMELIST и ввод-вывод, управляемый именованным списком...... 142 Глава 10. ПРОЦЕДУРЫ...... 143 10. 1. Виды процедур. Классификация...... 143 10. 2. Описание процедур...... 145 10. 3. Вызов процедур...... 147 10. 4. Фактические и формальные аргументы...... 150 10. 5. Еще о функциях...... 157 10. 6. Явный и неявный интерфейс. Интерфейсный блок...... 158 10. 7. Определяемые операции и присваивания...... 163 10. 8. Процедуры без побочного эффекта...... 166 10. 9. Поэлементные процедуры...... 167 10. 10. Рекурсивные процедуры...... 168 10. 11. Внутренние и модульные процедуры...... 170 10. 12. Оператор объявления операторной функции...... 171 10. 13. Оператор ENTRY...... 171 10. 14. Использование процедур, написанных не на Фортране...... 172 Глава 11. СТРУКТУРА ПРОГРАММЫ. ПРОГРАММНЫЕ ЕДИНИЦЫ. МОДУЛИ...... 173 11. 1. Общие сведения...... 173 11. 2. Заголовки и заключительные операторы программных единиц и процедур...... 173 11. 3. Порядок расположения операторов в программной единице и процедуре...... 175 11. 4. Программные единицы-модули...... 178 11. 5. Оператор USE...... 180 Глава 12. ВСТРОЕННЫЕ ПРОЦЕДУРЫ...... 182 12. 1. Классификация встроенных процедур...... 182 12. 2. Ключевые аргументы...... 182 12. 3. Числовые и математические функции...... 183 12. 4. Логическая функция...... 187 12. 5. Символьные функции...... 188 12. 6. Функция передачи типа...... 190 12. 7. Функции работы с массивами...... 190 12. 8. Функции для битовых данных...... 198 12. 9. Функция статуса связанности указателя...... 199 12. 10. Справочные функции...... 200 12. 11. Родовые и специфические имена встроенных функций...... 203 12. 12. Встроенные подпрограммы...... 206 Глава 13. РЕАЛИЗАЦИИ СОВРЕМЕННОГО ФОРТРАНА...... 209 13. 1. Общие сведения...... 209 13. 2. Этапы обработки исходной программы и диагностика...... 210 13. 3. Различия в реализациях...... 210 13. 4. Другие программные продукты...... 211 13. 5. Об одной линии реализаций...... 211 13. 6. Реализованные подмножества...... 212 13. 7. Где найти информацию о конкретной реализации...... 213 ЧАСТЬ ВТОРАЯ. ТЕХНОЛОГИИ РАЗРАБОТКИ БОЛЬШИХ ПРОГРАММ НА ФОРТРАНЕ...... 215 Глава 14. КАК НАПИСАТЬ МОБИЛЬНУЮ ПРОГРАММУ...... 216 14. 1. Понятие мобильности программ...... 216 14. 2. Стандартизация языков программирования — основа повышения мобильности программ...... 217 14. 3. Факторы, затрудняющие адаптацию программ к вычислительной среде...... 218 14. 4. Средства современного Фортрана, способствующие повышению мобильности создаваемых программ...... 218 14. 5. Рекомендации по написанию мобильных программ...... 224 Глава 15. НАДЕЖНОСТЬ ПРОГРАММ...... 226 15. 1. Понятие надежности...... 226 15. 2. Средства современного Фортрана, позволяющие повысить надежность создаваемых программ...... 227 15. 3. Средства, препятствующие надежности...... 229 15. 4. Рекомендации по написанию надежных программ...... 230 Глава 16. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ И ДЕКОМПОЗИЦИЯ ПРОГРАММ...... 231 16. 1. Общие сведения...... 231 16. 2. Поддержка структурного программирования...... 231 16. 3. О стиле программирования...... 233 16. 4. Декомпозиция программ...... 234 Глава 17. ФОРТРАН И ПАРАЛЛЕЛЬНОСТЬ...... 237 17. 1. Общие сведения...... 237 17. 2. Средства поддержки параллельности в стандартах Фортрана...... 237 17. 3. Другие черты, влияющие на параллельность...... 240 Глава 18. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ...... 241 18. 1. Общие сведения...... 241 18. 2. Основные концепции объектно-ориентированного программирования...... 242 18. 3. Статический контроль соответствия типов и соответствия аргументов...... 243 18. 4. Расширяемость типов, операций и присваиваний...... 243 18. 5. Инкапсуляция и абстракция данных...... 245 18. 6. Статический полиморфизм...... 248 18. 7. Наследование...... 249 18. 8. Динамический полиморфизм (динамическое связывание)...... 251 18. 9. Заключение и перспективы...... 252 Глава 19. СРЕДСТВА УСЛОВНОЙ КОМПИЛЯЦИИ...... 253 19. 1. Обоснование...... 253 19. 2. Препроцессорные директивы...... 255 19. 3. Форма записи программы...... 255 19. 4. Переменные, константы и директивы объявления типа...... 256 19. 5. Выражения и директива присваивания...... 256 19. 6. Управление выполнением и условная компиляция...... 257 19. 7. Строка INCLUDE...... 258 19. 8. Директивы MESSAGE и STOP...... 258 19. 9. SET-файл...... 259 Глава 20. УСТАРЕВШИЕ ЧЕРТЫ ЯЗЫКА...... 261 20. 1. Концепция эволюционного развития языка...... 261 20. 2. Устаревшие черты в Фортране 90 и современные элементы языка для их замены...... 262 20. 3. Устаревшие черты в Фортране 95 и современные элементы языка для их замены...... 265 20. 4. Другие нерекомендуемые черты...... 267 ЧАСТЬ ТРЕТЬЯ. ВВЕДЕНИЕ В ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ НА ФОРТРАНЕ...... 271 Глава 21. ПОДХОДЫ К РЕАЛИЗАЦИИ ПАРАЛЛЕЛЬНОСТИ...... 272 21. 1. Архитектура вычислительных систем и модели параллельного программирования...... 272 21. 2. Средства параллельного программирования...... 273 Глава 22. СРЕДСТВА ПОДДЕРЖКИ ПАРАЛЛЕЛЬНОСТИ ДЛЯ КОМПЬЮТЕРОВ С ОБЩЕЙ ПАМЯТЬЮ. СИСТЕМА ОрепМР...... 276 22. 1. Общие сведения...... 276 22. 2. Модель параллелизма...... 277 22. 3. Спецификации для Фортрана...... 278 22. 4. Новые средства...... 289 Глава 23. СРЕДСТВА ПАРАЛЛЕЛЬНОСТИ, ОРИЕНТИРОВАННЫЕ НА РАЗБИЕНИЕ ДАННЫХ. СИСТЕМА HPF...... 290 23. 1. Общие сведения...... 290 23. 2. Основные средства HPF...... 290 23. 3. Директивы HPF...... 292 23. 4. Средства параллельного выполнения...... 301 23. 5. Встроенные и библиотечные процедуры...... 303 23. 6. EXTRINSIC-процедуры...... 305 23. 7. Выводы и информация о системе...... 305 Глава 24. СРЕДСТВА ПОДДЕРЖКИ ПАРАЛЛЕЛЬНОСТИ ДЛЯ КОМПЬЮТЕРОВ С РАСПРЕДЕЛЕННОЙ ПАМЯТЬЮ...... 306 24. 1. Общие сведения...... 306 24. 2. Система MPI...... 307 24. 3.Co-arra y Fortran...... 308 Перспективы развития языка...... 310 Приложение 1. Символы Фортрана...... 311 Приложение 2. Перечень операторов Фортрана 95...... 313 Приложение 3. Встроенные процедуры...... 318 Литература...... 324 Словарь терминов Стандарта языка Фортран 95...... 326 Предметный указатель...... 342

Издательство: "Финансы и статистика" (2006)

ISBN: 527903066X

Другие книги схожей тематики:

АвторКнигаОписаниеГодЦенаТип книги
А. М. ГореликПрограммирование на современном ФортранеОписывается международный стандарт языка Фортран 95, приводятся его отличия от Фортрана 90 и информация о… — Финансы и статистика, (формат: 70x100/16, 352 стр.) Подробнее...2006
360бумажная книга
Рыжиков Юрий ИвановичИмитационное моделирование. Авторская имитация систем. Учебное пособиеВ книге описаны принципы и технология прямого имитационного моделирования на современном Фортране: базовые… — Лань, Учебники для вузов. Специальная литература Подробнее...2019
1728бумажная книга
Рыжиков Юрий ИвановичИмитационное моделирование. Авторская имитация систем и сетей с очередями. Учебное пособиеВ книге описаны принципы и технология прямого имитационного моделирования на современном Фортране: базовые… — Лань, Учебники для ВУЗов. Специальная литература Подробнее...2019
861бумажная книга
Рыжиков Ю.Имитационное моделирование Авторская имитация систем и сетей с очередями Учебное пособиеВ книге описаны принципы и технология прямого имитационного моделирования на современном Фортране: базовые… — (формат: Мягкая глянцевая, 112 стр.) Подробнее...2019
978бумажная книга
Рыжиков Юрий ИвановичИмитационное моделирование. Авторская имитация систем и сетей с очередями. Учебное пособиеВ книге описаны принципы и технология прямого имитационного моделирования на современном Фортране: базовые… — Лань, (формат: 170x240мм, 112 стр.) Учебники для вузов. Специальная литература Подробнее...2019
1040бумажная книга

См. также в других словарях:

  • Горелик, Алла Моисеевна — В Википедии есть статьи о других людях с такой фамилией, см. Горелик. Алла Моисеевна Горелик  кандидат физико математических наук, автор ряда книг по программированию на Фортране. Член Международной рабочей группы экспертов по Фортрану… …   Википедия

  • Фортран — Семантика: императивный Появился в: 1957 Автор(ы): Джон Бэкус Типизация данных: строгая, статическая Основные реализации …   Википедия

Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»