Математика | ||||
ФОРТРАН-90 Бо Эйнарссон 1995. -185с. | ||||
ФОРТРАН-90 Бо Эйнарссон 1995. -185с.
Бо Эйнарссон, Ю.И.Шокнн. >0 ФОРТРАН-90. Книга для программирующих на языке ФОРТРАН-77: Пер. с англ. - Новосибирск: Издательство СО РАН, "ИНФОЛИО", 1995. -185с. BN 5-85826-013-6 Книга является одним из первых изданий на русском языке, посвященных прикладным аспектам программирования на языке ФОРТРАН-90. Основная ее цель состоит в облегчении перехода от популярного и широко применяемого языка программирования ФОРТРАН-77 к более современному ФОРТРАН-90. Известны по крайней мере два побудительных мотива к такому переходу. Один из них связан с тем, что ФОРТРАН-90 содержит новые мощные языковые конструкции, а другой — определяется возможностями более строгого контроля программ, что в свою очередь обеспечивает большую их надежность. Новая версия языка дополнена мощными средствами для операций над векторами и матрицами, некоторыми новыми возможностями задания точности вычислений. Она обеспечивает доступ к параметрам вычислительной среды, и содержит встроенные функции для обработки чисел с плавающей точкой, внутренние процедуры и новые описания памяти и межпрограммных связей. Чрезвычайно важным сегодня для вновь вводимого языка программирования является требование его эффективной реализации также и на параллельных вычислительных системах. Именно поэтому авторы включили в книгу Приложение 10, содержащее некоторые материалы о недавно предложенном расширении ФОРТРАНа — Высоко-Производительном ФОРТРАНе (High Performance Fortran). Авторы уверены в том, что книга найдет своего заинтересованного читателя как среди специалистов, давно и успешно работающих с ФОРТРАНОМ, так и среди молодых ученых и инженеров, решающих первые научные задачи и только создающих собственный программный инструментарий. Предисловие от авторов и переводчика Эта книга написана для того, чтобы облегчить переход от популярного и широко применяемого языка программирования ФОРТРАН-77 к более современному ФОРТРАН-90. При таком переходе необходимо учесть, что ФОРТРАН-77 является подмножеством языка ФОРТРАН-90. Существуют по крайней мере две важные причины для перехода к ФОРТРАН-90. Одна из них состоит в том, что ФОРТРАН-90 содержит новые мощные языковые конструкции, а другая определяется возможностями более строгого контроля программ, которые предоставляет ФОРТРАН-90, что в свою очередь обеспечивает большую их надежность. Можно с уверенностью утверждать, что к середине 90-х годов свои версии реализации языка ФОРТРАН-90 будут предлагаться большинством производителей компьютеров, и этот язык ожидает полный успех в текущем десятилетии. Авторы настоятельно рекомендуют получить доступ к системам ФОРТРАН-90. Авторы предполагают, что читатель знаком с ФОРТРАН-77 и поэтому те разделы ФОРТРАН-90, которые содержатся в ФОРТРАН-77 не будут рассматриваться в этой книге систематически. Новичкам в ФОРТРАН-77 авторы рекомендуют обратиться к соответствующим руководствам (см. список литературы) или к полному описанию ФОРТРАН-90 (например, "Programmer's Guide To Fortran-90", Brainerd, Goldberg and Adams, McGraw-Hill, 1990). Заметим, что ФОРТРАН-90 значительно "больше" ФОРТРАН-77 во всех отношениях. Поэтому описать его так коротко, как мы попытаемся это сделать в рамках настоящей книги, совсем непросто. Подбирая примеры для книги, авторы исходили из необходимости иллюстрации обсуждаемых конструкций языка и технологии программирования, а вовсе не старались предложить оптимальные прикладные программы. В особенности это касается тех разделов книги, в которых излагаются комментарии к упражнениям. При этом некоторые из заключительных примеров отличаются особой полнотой по отношению к интерфейсам и спецификациям, требующимся для использования функций и подпрограмм. Все примеры, содержащиеся в этой книге, были просчитаны на компьютерах Sun SPARC (а затем и на рабочей станции ULTRIX ОГЛАВЛЕНИЕ Предисловие от авторов и переводчика...................................................5 Введение....................................................................................................7 1. Взгляд на переход от ФОРТРАН-77 к ФОРТРАН-90.....................ц Упражнения..................................................................................12 2. Спецификации — описания типов данных.........................................13 Упражнения..................................................................................15 3. Оформление текста программ (свободная и фиксированная формы) ..............................................................................................17 Упражнения..................................................................................19 4. Оператор FORMA Т..............................................................................20 Упражнения..................................................................................21 5. Использование одних и тех же текстов программ для языков ФОРТРАН-77 и ФОРТРАН-90........................................................22 6. Управляющие операторы....................................................................23 Упражнения..................................................................................24 7. Программные единицы.......................................................................26 Упражнения...................................:..............................................31 8. Ключевые слова аргументов и аргументы по умолчанию.................. 32 1 Упражнения..................................................................................34 9. Рекурсия..............................................................................................35 Упражнения..................................................................................36 10. Универсальные имена программ.......................................................37 11. Использование массивов и их фрагментов (секций).......................41 Упражнение..................................................................................42 12. Указатели..........................................................................................43 Упражнения..................................................................................46 лГ1 13. Новая концепция точности...............................................................4 14. Дополнительные проблемы переноса программ............................... 1. Отказ от автоматической генерации новой строки при вводе.................................................................................... 2. Работа с матрицами переменного размера...............................50 3. Различия в операторах для работы с логическими переменными..............................................................................50 4. Важные мелочи..........................................................................51 15. Использование программных библиотек..........................................52 16. Особенности языка ФОРТРАН-90..................................................54 Ответы и комментарии к упражнениям..................................................55 Список рекомендуемой литературы (с комментариями)........................71 Список литературы на русском языке, добавленный переводчиком.....76 ПРИЛОЖЕНИЕ 1. ФОРТРАН и ПАСКАЛЬ........................................................................78 1. Преимущества ФОРТРАНа.......................................................78 2. Различия между ФОРТРАН-77 и ПАСКАЛем.........................78 ПРИЛОЖЕНИЕ 2. Сводка операторов ФОРТРАН-77.........................................................80 1. Операторы, используемые для описания программных единиц. .................................................................80 2. Операторы, применяемые для описания переменных............ •* " 1ЫХ........................... г_____................................................81 5. Другие исполняемые операторы. ? Г\--- ____„,,„ шшиипг1л переменных............80 3. Дополнительные средства описания данных...........................81 4. Исполняемые операторы GOTO. ,я ^______-----~.~-.*»,r*v/J«,LHV/ \JLL^jJO.l\JybL............................................... О2 6. Операторы ввода/вывода...........................................................83 7. Операторы вызова......................................................................84 8. Спецификации оператора FORMAT................................................84 9. Расширение возможностей использования управляющих символов оператора FORMAT в ФОРТРАН-90.........................87 10. Дополнения, связанные с вводом-выводом.............................87 11. Дополнения, связанные с встроенными вычислительными функциями.................................................................................88 12. Дополнения, связанные с встроенными математическими функциями.................................................................................88 13. Дополнения, касающиеся вывода на бумагу............................88 ПРИЛОЖЕНИЕ 3. Итоговый обзор новинок ФОРТРАН-90................................................90 1. Формы записи текста программ...............................................90 2. Альтернативные представления. ----,,„„ 1 «илш^ идлдо, 1 «тления............. о t 3. Спецификации................................. ......................................„: 4. Условный оператор....................................................................92 5. Цикл-DO.....................................................................................93 6. Программные единицы.............................................................94 7. Строковые переменные.............................................................94 8. Операторы ввода........................................................................95 9. Работа с векторами и матрицами..............................................95 10. Динамическая память................................................................97 11. Встроенные функции.................................................................99 12. Использование типов данных, определяемых пользователем.............................................................................99 13. Модули......................................................................................100 14. Битовые данные........................................................................100 15. Указатели...................................................................................101 16. Расширения языка, вводимые пользователем.........................101 [РИЛОЖЕНИЕ 4. овместимость "вперед" и "назад"........................................................102 [РИЛОЖЕНИЕ 5. строенные функции ФОРТРАН-90.....................................................104 1. Функция, определяющая наличие указанного аргумента в конкретном списке аргументов................................................104 2. Численные функции.................................................................104 3. Математические функции........................................................105 4. Функции для работы с символьными строками.....................105 5. Функция для запроса о состоянии строки символов.............106 6. Функции для манипуляций с видами данных........................106 7. Логическая функция.................................................................108 8. Функции для запросов о характеристиках представления чисел..........................................................................................Ю8 9. Функция для запроса о битовой структуре............:................109 10. Функции для манипуляций с битами......................................Ю9 11. Функция перемещения областей памяти................................НО 12. Функции для манипуляций над величинами с плавающей точкой........................................................................................111 13. Функции для перемножения векторов и матриц....................И* 14. Функции для работы с массивами...........................................Н2 15. Функции для запросов о состоянии массива.........................UT 16. Функции для конструирования массивов...............................Ц* 17. Функции перестройки массивов..............................................*•? 18. Функции для манипуляций с массивами................................ ^ 19. Функции для анализа внутренней структуры массивов.........*~* 20. Функция для запросов о состоянии указателей..............•.......JiT, 21. Встроенные подпрограммы...................................................... / ПРИЛОЖЕНИЕ 6. Компилирующие системы ФОРТРАН 90 фирмы NAG........................128 ПРИЛОЖЕНИЕ 7. Другие системы, реализующие язык ФОРТРАН-90............................134 ПРИЛОЖЕНИЕ 8. Некоторые возможности ФОРТРАН 90, реализованные в компиляторе CF77 для компьютера Cray....................................................................136 1. Основные концепции...............................................................136 2. Управляющие операторы..........................................................136 3. Спецификации (описания)......................................................136 4. Операции с файлами................................................................137 5. Встроенные функции................................................................137 6. Массивы....................................................................................137 7. Дополнительные концепции....................................................137 8. Расширения, исключенные при реализации...........................137 ПРИЛОЖЕНИЕ 9. Краткая историческая справка о развитии ФОРТРАНа......................138 1. Программа на языке ПАСКАЛЬ для OS UNIX......................138 2. Программа на языке ANSI С...................................................139 3. Программа на языке ФОРТРАН-0..........................................140 4. Программа на языке ФОРТРАН-1...........................................141 5. Программа на языке ФОРТРАН-IV или ФОРТРАН-66.........142 6. Программа на языке ФОРТРАН-77.........................................143 7. Программа на языке ФОРТРАН-90.........................................144 ПРИЛОЖЕНИЕ 10. High Perfomance Fortran — Высокопроизводительный ФОРТРАН.....145 1. Хранение данных......................................................................146 2. Исполнение программ..............................................................151 3. Встроенные функции................................................................154 4. Функции для запросов..............................................................155 5. Функции для операций с битами................,............................155 6. Другие функции........................................................................156 7. Правила хранения информации..............................................156 8. Подмножество HPF — HPF Subset.........................................158 ПРИЛОЖЕНИЕ П. Соответствие аргументов.......................................................................160 1. Основные концепции...............................................................160 2. Правила хранения информации..............................................164 Цена: 200руб. |
||||