Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Фортран

.pdf
Скачиваний:
16
Добавлен:
31.05.2015
Размер:
11.07 Mб
Скачать

Ю.И.Рыжиков

ПРОГРАММИРОВАНИЕ НА ФОРТРАНЕ POWERSTATION ДЛЯ ИНЖЕНЕРОВ. ПРАКТИЧЕСКОЕ РУКОВОДСТВО

Предлагаемая вашему вниманию книга является практическим руководством но новейшей версии Фортрана-90 для ПК, включая технологию разработки программ, работу с библиотеками и построителем графиков. Ряд примеров сложных программ имеет непосредственную практическую ценность. Все программы, приведенные в книге, автор широко использует на практике.

Автор — доктор технических наук. заслуженный деятель науки РФ, профессор Юрий Иванович Рыжиков, основавший кафедру математического обеспечения ЭВМ Военного инженерно-космического университета им. А. Ф. Можайского, которая дала компьютерному миру таких известных авторов, как Б. С. Богумирский и А. Д. Хомоненко. Преподаватель программирования, информатики, вычислительной математики, моделирования вычислительных систем, автор 170 научных работ, Ю. И. Рыжиков адресует свой труд студентам, инженерам, научным работникам, интересы которых лежат в области

программирования численных задач.

 

Оглавление

 

Введение

3

1. Элементы и объекты программы

7

1.1. Набор символов

7

1.2. Формат программы

7

1.3. Понятие о проекте

8

1.4. Текстовый редактор

11

1.4.1. Работа с файлами

11

1.4.2. "Горячие" клавиши

11

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

3.7.3. Неэлементные операции

38

3.8. Динамическая память

39

4. Обработка строк

40

4.1. Строки и массивы строк

40

4.2. Функции от строк

40

5. Программные компоненты

42

5.1. Программа и ее компоненты

42

5.2. Подпрограммы

44

5.3. Функции

45

5.4. Расположение операторов

46

5.5. Области видимости меток и имей

46

5.6. Внутренние процедуры

47

5.7. Интерфейс процедур

47

5.8. Специальные виды параметров

49

5.8.1. Массивы как параметры

49

5.8.2. Процедуры как параметры

52

5.8.3. Необязательные и ключевые параметры

53

5.9. Рекурсивные процедуры

54

5.10. Общие области и подпрограммы данных

56

5.11. Модули и работа с ними

58

5.11.1. Пример "модульной" программы

59

5.11.2. Специальные виды модулей

61

5.12. Доступ к объектам модуля

63

6. Ввод-вывод данных

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

7. Производные типы данных

72

7.1. Производные типы данных

72

7.2. Операции над определяемыми типами

73

8. Ссылки и списки

76

8.1. Базовые понятия

76

8.2. Ссылки как псевдонимы

77

8.3. Связные списки

77

8.4. Целые указатели

80

9. Вычислительные методы

82

9.1. Построение частотных характеристик

82

9.2. Рекуррентные вычисления

84

9.3. Генерация случайных чисел

84

9.4. Сортировка и поиск

86

9.4.1. Поиск в массиве

86

9.4.2. Понятие о сортировках

86

9.4.3. Линейный выбор с обменом

87

9.4.4. Пузырьковая сортировка

87

9.4.5. Челночная сортировка

88

9.4.6. Быстрая сортировка

89

9.4.7. О внешних сортировках

91

9.5. Работа с разреженными матрицами

91

9.6. Обращение матрицы методом Гаусса

97

9.7. Решение уравнения методом секущих

98

9.8. Вычисление определенных интегралов

99

9.9. Решение дифференциальных уравнений

102

9.10. Математические библиотеки IMSL

107

9.11. Numerical Recipes

110

10. Пакет научной графики

112

10.1. Знакомство с пакетом

112

10.2. Константы SciCraph

113

10.3. Структуры установок

114

10.4. Типы данных и осей

116

10.5. Вызывающая последовательность

117

10.6. Установка основных параметров

117

10.6.1. График в целом

117

10.6.2. Ряды данных

118

10.6.3. Координатные оси

119

10.7. Рисование графика

120

10.7.1. Основа графика

120

10.7.2. Собственно графики

120

10.8. Коды возврата.

121

10.9. Пример применения Scigraph

122

10.10. Опыт применения

127

11. Организация разработки программ

130

11.1. Состав и основные команды MDS

130

11.2. Определение директорий

130

11.3. Командная консоль

131

11.4. Организация проектов

132

11.4.1. Цель проекта

132

11.4.2. Рабочее поле

132

11.4.3. Структура проекта

133

11.4.4. Типы проектов

133

11.4.5. Задание целевых опций

133

11.5. Проекты и модули

133

11.6. Создание проектов

134

11.7. Компиляция, связывание, запуск

136

11.7.1. Метакоманды и опции компилятора

137

11.7.2. Связывание

140

11.7.3. Работа с модулями

I'll

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