Рыжиков Ю. И. Программирование на Фортране PowerStation для инженеров. Практическое руководство. — СПб.: КОРОНА принт, 1999. — 160 с. ISBN 5-7931-0056-3 [ Предлагаемая вашему вниманию книга является практическим руководством по новейшей . версии Фортрана-90 для ПК, включая технологию разработки программ, работу с библиотеками и построителем графиков. Ряд примеров сложных программ имеет непосредственную практи- ; ческую ценность. Все программы, приведенные в книге, автор широко использует на практике. ¦ Автор — доктор технических наук, заслуженный деятель науки РФ, профессор Юрий Ивано- [ вич Рыжиков, основавший кафедру математического обеспечения ЭВМ Военного инженерно- { космического университета им. А. Ф. Можайского, которая дала компьютерному миру таких из- ; вестных авторов, как Б. С. Богумирский и А. Д. Хомоненко. Преподаватель программирования, информатики, вычислительной математики, моделирования вычислительных систем, автор 170 научных работ, Ю. И. Рыжиков адресует свой труд студентам, инженерам, научным работникам, интересы которых лежат в области программирования i численных задач.
Оглавление
Введение 3
1. Элементы и объекты программы 7
1.1. Набор символов ............................... 7
1.2. Формат программы............................. 7
1.3. Понятие о проекте.............................. 8
1.4. Текстовый редактор...............-.............. 11
1.4.1. Работа с файлами.......................... 11
1.4.2. "Горячие" клавиши......................... И
1.4.3. "Заказная" распечатка....................... 13
1.4.4. Управление окнами просмотра................... 13
1.5. "Хороший стиль" программирования................... 13
1.6. Лексемы ................................... 14
1.7. Описания................................... 15
1.8. Выражения.................................. 17
1.8.1. , Арифметические выражения.................... 17
1.8.2. Встроенные функции ........................ 18
1.8.3. Логические выражения....................... 19
1.9. Инициализация и изменение значений переменных........... 21
1.10. Простейший ввод-вывод........................... 22
2. Операторы управления 23
2.1. Разветвления................................. 24
2.2. Циклы..................................... 26
2.2.1. Цикл с шагом............................. 26
2.2.2. Цикл с условием........................... 27
2.2.3. Вложенные циклы..........................29
2.2.4. Дополнительные средства ..................... 30
3. Массивы 32
3.1. Роль массивов................................ 32
3.2. Описание массивов..............................32
3.3. Вырезки и сечения массивов........................ 33
3.4. Задание массивов .............................. 34
3.5. Поэлементные операции.......................... 35
3.6. Выборочные действия............................35
3.7. Встроенные функции для векторов и матриц.............. 36
3.7.1. Справочные функции........................ 36
3.7.2. Преобразование массивов...................... 37
4 '
J 3.7.3. Неэлементные операции....................... 38
,j 3.8. Динамическая память............................ 39
| i Обработка строк 40
П. Строки и массивы строк .......................... 40
, 12. Функции от строк.............................. 40
I
' (Программные компоненты 42
),1. Программа и ее компоненты........................ 42
12. Подпрограммы................................ 44
}3. Функции.................................... 45
ii Расположение операторов.......................... 46
з.о. Области видимости меток и имен....................:. 46
5,6. Внутренние процедуры........................... 47
17. Интерфейс процедур ............................ 47
о.8. Специальные виды параметров ....................... 49
5.8.1. Массивы как параметры ...................... 49
5.8.2. Процедуры как параметры..................... 52
5.8.3. Необязательные и ключевые параметры............. 53
j 5.9. Рекурсивные процедуры .......................... 54
I 5,10. Общие области и подпрограммы данных................. 56
5.11. Модули и работа с ними .......................... 58
5.11.1. Пример "модульной" программы................. 59
5.11.2. Специальные виды модулей.................... 61
5.12. Доступ к объектам модуля......................... 63
о*. Ввод-вывод данных 64
6.1. Список ввода-вывода ............................ 64
6.1.1. Ввод, управляемый списком.................... 65
6.1.2. Группа NAMELIST ......................... 65
6.2. Спецификации формата........................... 65
6.2.1. Управление размещением информации.............. 67
6.2.2. Переменные спецификации формата............... 67
6.3. Взаимодействие списков объектов и форматов ............. 68
6.4. Внешние файлы......•......................... 69
6.5. Внутренние файлы.............................. 70
'. Производные типы данных 72
7.1. Производные типы данных......................... 72
7.2. Операции над определяемыми типами.................. 73
. Ссылки и списки 76
8.1. Базовые понятия............................... 76
8.2. Ссылки как псевдонимы .......................... 77
8.3. Связные списки '............................... 77
8.4. Целые указатели . .............................. 80
9. Вычислительные методы
9.1. .Построение частотных характеристик ..... 82
9.2. Рекуррентные вычисления............ ........... 82
9.3. Генерация случайных чисел........... ........... 84
9.4. Сортировка и поиск........;..... ''••••••... §4
9.4.1.- Поиск в массиве.............. ........... 86
9.4.2. Понятие о сортировках........ . . . ........... ^6
9.4.3. Линейный выбор с обменом ....... .......... 86
9.4.4. Пузырьковая сортировка........... _........... 87
9.4.5. Челночная сортировка.......... .......... 87
9.4.6. Быстрая сортировка ............ ........... 88
9.4.7. О внешних сортировках........... .......... 89
9.5. Работа с разреженными матрицами....... ......... 91
9.6. Обращение матрицы методом Гаусса....... .......... 91
9.7. Решение уравнения методом секущих....... .......... 97
9.8. Вычисление определенных интегралов...... ......... 98
9.9. Решение дифференциальных уравнений...... ......... 99
9.10. Математические библиотеки IMSL........ .........Ю2
9.11. Numerical Recipes........... ' .........107
.................ПО
10. Пакет научной графики
10.1. Знакомство с пакетом................ 112
10.2. Константы SciGraph................. ........-112
10.3. Структуры установок................ ''''••• 113
10.4. Типы данных и осей ................ ''''••• 114
10.5. Вызывающая последовательность.......... ......• Пб
10.6. Установка основных параметров.......... ......¦ П7
10.6.1. График в целом ................ ........• 117
10.6.2. Ряды данных................. ........• 117
10.6.3. Координатные оси................ ........118
10.7. Рисование графика .................. .......119
10.7.1. Основа графика ............... •••••¦. 120
10.7.2. Собственно графики............... .....• ¦ 120
10.8. Коды возврата....................... .....• ¦ 120
10.9. Пример применения Scigraph............... •*•¦¦•. 121
10.10. Опыт применения ............. .....• 122
...............-127
11. Организация разработки программ
11.1. Состав и основные команды MDS............ ^^0
11.2. Определение директорий................. ......• 130
11.3. Командная консоль................... ' • 130
11.4. Организация проектов.................... ' ' 131
11.4.1. Цель проекта................... • • • • . 132
11.4.2. Рабочее поле..................... .....' 132
11.4.3. Структура проекта................. ' 1"2
11.4.4. Типы проектов........... ' ^33
1 ................ 1 оо
11.4.5. Задание целевых опций............... ' 06
11.5. Проекты и модули...................... • • • • . 1.J3
11.6. Создание проектов....................... .....|33 ,
11.7. Компиляция, связывание, запуск.............. • • • . IJ4 ^
11.7.1. Метакоманды и опции компилятора ......... ' ' ' ' ttt !
11.7.2. Связывание............. • • • о/
................140 ]
I 11.7.3. Работа с модулями........................... 141
I 11.7.4. Создание выполняемой программы................ 142
[ 11.7.5. Выполнение программы....................... 142
11.8. Просмотр проекта.............................. 142
11.9. Отладчик................................... 143
11.9.1. Отладка синтаксиса......................... 143
11.9.2. Организация семантической отладки............... 144
11.10. Профилирование проекта.......................... 147
11.11. Работа с личными библиотеками ..................... 148
11.11.1. Базовые понятия........................... 148
11.11.2. Статическая библиотека ...................... 149
11.11.3. Динамические библиотеки..................... 150
11.11.4. Библиотекарь............................. 152
Задачи для упражнений 153
Литература 155


Hosted by uCoz