Название: Фортран для студентов
Автор: Бартеньев О.В.
Издательство: Диалог-МИФИ
Год: 1999
Формат: PDF
Страниц: 397
Размер: 27,47 Мб
Язык: русский
Пособие может быть использовано для освоения методов и техники программирования на языке Фортран 90 и 95. Наряду с изложением Фортрана в пособии рассмотрены основные элементы программирования, включающие, в том числе методы разработки алгоритмов, правила их записи в виде линейных схем, технику кодирования (запись исходного кода программы) и используемые при тестировании программ приемы. Пособие оснащено большим числом задач, которые можно использовать как для самостоятельной проработки, так и для лабораторного практикума в студенческой группе.
Предназначено для преподавателей, студентов, аспирантов, инженеров и научных работников.
Предисловие
Как записать и запустить программу
Свободный формат записи программы
Консоль-проект
Обработка программы
Некоторые правила программирования
Структура головной программы
Имена
Экономим время вычислений
Стиль записи программы
Объекты данных
Виды объектов данных
Скаляры и массивы
Встроенные числовые типы данных
Стандартные числовые типы данных. Разновидности числовых типов данных
Логический тип данных
Буквальные константы
Целые константы. Вещественные константы. Комплексные константы. Логические константы
Именованные константы
Переменные
Задание начальных значений переменных
Простая форма конструктора массива
Правила умолчания о типах данных
Изменение правил умолчания
Операции и выражения
Арифметические операции
Арифметические выражения
Целочисленное деление
Ранг и типы арифметических операндов
Ошибки округления
Выражения отношения
Логические выражения
Приоритет выполнения операций
Простой ввод-вывод
Операторы ввода-вывода
Некоторые правила ввода
Ввод из текстового файла
Вывод на принтер
Элементы программирования
Алгоритм и программа
Базовые структуры алгоритмов
Блок операторов и конструкций. Ветвление. Цикл. Прерывание цикла. Объединение условий
Программирование “сверху-вниз”
Использование функций. Использование подпрограмм. Использование модулей
Виды процедур
Рекурсивные процедуры. Формальные процедуры
Оператор RETURN выхода из процедуры
Этапы проектирования программ
Правила записи исходного кода
Задачи к первым шести главам
Логические выражения
Табуляция функции одной переменной
Поиск корня функции методом перебора
Одномерный массив
Задачи с использованием процедур
Файлы Фортрана
Виды файлов. Файловый указатель
Номер устройства
Внутренние файлы
Внешние файлы
Двоичные файлы последовательного доступа. Неформатные файлы последовательного доступа. Текстовые файлы последовательного доступа
Файлы прямого доступа
Удаление записей из файла прямого доступа
Выбор типа файла
Операции над внешними файлами
Операторы управления файлами. Оператор BACKSPACE. Оператор REWIND. Оператор ENDFILE. Оператор OPEN. Оператор CLOSE. Оператор READ. Оператор WRITE. Оператор PRINT. Оператор INQUIRE. Функция EOF
Задачи
Массивы
Понятие массива
Размещаемые массивы
Ввод одномерного массива из файла
Ввод в массив заданного числа полей данных файла. Ввод в массив всего файла
Вывод одномерного массива
Многомерные массивы
Характеристики массивов
Способы объявления массивов
Размещение элементов массива в памяти ЭВМ
Одновременное объявление объектов разной формы
Массивы нулевой длины
Конструктор массива
Инициализация массива
Использование массивов
Сечение массива
Использование сечений массива
Выборочное присваивание массива
Массивы-ссылки
Прикрепление ссылки к адресату. Открепление ссылки от адресата. Использование массивов-ссылок
Автоматические массивы
Статус динамических массивов модулей
Массивы - формальные параметры процедур
Массивы заданной формы. Массивы, перенимающие форму
Массив как результат функции
Встроенные функции для работы с массивами
Перечень применяемых с массивами функций. Задачи и примеры на встроенные функции обработки массивов. Сортировка и поиск в массиве
Задачи
Одномерный массив. Задачи на ввод-вывод. Двумерный массив
Символьные типы данных
Символьные буквальные константы
Объявление символьных данных
Задание длины символьного объекта. Символьные именованные константы. Объявление символьного массива
Инициализация символьных переменных
Автоматические строки
Выделение подстроки
Символьные выражения. Операция конкатенации
Присваивание символьных данных
Символьные переменные как внутренние файлы
Встроенные функции обработки символьных данных
Выделение слов из строки текста
Задачи
Разработка пользовательской процедуры. Поиск строки, удовлетворяющей заданному условию. Работа с тремя текстовыми файлами
Производные типы данных
Объявление данных производного типа
Инициализация и присваивание записей
Ввод-вывод записей
Пример работы с данными производного типа
Применение структур при работе с наборами данных
Постановка задачи. Внутреннее представление данных. Исходный код обработки данных. Создание тестовых наборов данных. Обсуждение рассмотренной задачи
Структуры со ссылками на себя
Выражения производного типа
Задаваемые присваивания записей
Запись как параметр процедуры
Запись как результат функции
Задачи
Передача записей в неформатные и двоичные файлы. Структуры при работе с файлами прямого доступа
Простые вычисления
Поиск корня функции y = f(x)
Поиск локального экстремума функции нескольких переменных
Вычисление площади фигуры
Сканирование охватывающего прямоугольника. Метод Монте-Карло. Площадь произвольного многоугольника
Численное интегрирование с заданной точностью
Задачи
Простые построения
Построение графика функции y = f(x)
Перемещение образа по заданной траектории
Построение составной кубической кривой
Графический вывод поверхности y = f(x,y)
Изометрическое проецирование. Вывод каркасной модели поверхности. Удаление невидимых граней. Закраска трехмерного объекта
Полный текст программы вывода параболоида
Задачи
Сортировка и поиск данных
Сортировка
Понятие внутренней и внешней сортировки. Понятие ключа. Таблица указателей. Сортировка методом пузырька. Быстрая сортировка
Поиск данных
Последовательный поиск. Бинарный поиск. Сравнение последовательного и бинарного поиска
Управляющие операторы и конструкции
Оператор GOTO безусловного перехода
Оператор и конструкции IF
Условный логический оператор IF. Конструкция IF THEN ENDIF. Конструкция IF THEN ELSE ENDIF. Конструкция IF THEN ELSE IF
Конструкция SELECT CASE
DO-циклы. Операторы EXIT и CYCLE
Возможные замены циклов
Оператор STOP
Программные компоненты
Внешние процедуры
Внутренние процедуры
Операторы заголовка процедур
Общие характеристики операторов заголовка процедур. Результирующая переменная функции
Параметры процедур
Соответствие фактических и формальных параметров. Вид связи параметра. Явные и неявные интерфейсы. Ключевые и необязательные параметры
Модули
Организация модулей. Оператор USE. Атрибуты PUBLIC и PRIVATE
Перегрузка и родовые интерфейсы
Перегрузка процедур. Перегрузка операций и присваивания. Общий вид оператора INTERFACE
Ассоциирование имен
Область видимости именованного объекта
Область видимости меток
Атрибут AUTOMATIC
Атрибут SAVE
Форматный ввод-вывод
Преобразование данных. Оператор FORMAT
Программирование спецификации формата
Выражения в дескрипторе преобразований
Задание формата в операторах ввода-вывода
Списки ввода-вывода
Элементы списков ввода-вывода. Циклические списки ввода-вывода. Пример организации вывода
Согласование списка ввода-вывода и спецификации формата. Коэффициент повторения. Реверсия формата
Дескрипторы данных
Дескрипторы управления
Управляемый списком ввод-вывод
Управляемый именованным списком ввод-вывод. Управляемый неименованным списком ввод-вывод
Встроенные и дополнительные процедуры
Виды встроенных процедур
Обращение с ключевыми словами
Родовые и специфические имена
Возвращаемое функцией значение
Используемые обозначения
Элементные функции преобразования типов данных
Элементные числовые функции
Вычисление максимума и минимума
Математические элементные функции
Функции для работы с массивами
Справочные функции для любых типов
Модели данных целого и вещественного типа
Числовые справочные функции
Элементные функции получения данных о компонентах модельного представления вещественных чисел
Преобразования для параметра разновидности
Процедуры для работы с битами
Пример использования битовых функций
Символьные функции
Процедуры для работы с памятью
Проверка состояния “конец файла”
Неэлементные подпрограммы даты и времени
Случайные числа
Специфические имена, которые допускаются в качестве фактических параметров
Специфические имена, не допускаемые в качестве фактических параметров
Дополнительные процедуры FPS
Запуск программ. Управление программой. Работа с системой, дисками и директориями. Управление файлами. Генерация случайных чисел. Управление датой и временем. Ввод с клавиатуры и генерация звука. Обработка ошибок. Аргументы в командной строке. Сортировка и поиск в массиве. Управление операциями с плавающей точкой
Литература
Как записать и запустить программу
Свободный формат записи программы
Консоль-проект
Обработка программы
Некоторые правила программирования
Структура головной программы
Имена
Экономим время вычислений
Стиль записи программы
Объекты данных
Виды объектов данных
Скаляры и массивы
Встроенные числовые типы данных
Стандартные числовые типы данных. Разновидности числовых типов данных
Логический тип данных
Буквальные константы
Целые константы. Вещественные константы. Комплексные константы. Логические константы
Именованные константы
Переменные
Задание начальных значений переменных
Простая форма конструктора массива
Правила умолчания о типах данных
Изменение правил умолчания
Операции и выражения
Арифметические операции
Арифметические выражения
Целочисленное деление
Ранг и типы арифметических операндов
Ошибки округления
Выражения отношения
Логические выражения
Приоритет выполнения операций
Простой ввод-вывод
Операторы ввода-вывода
Некоторые правила ввода
Ввод из текстового файла
Вывод на принтер
Элементы программирования
Алгоритм и программа
Базовые структуры алгоритмов
Блок операторов и конструкций. Ветвление. Цикл. Прерывание цикла. Объединение условий
Программирование “сверху-вниз”
Использование функций. Использование подпрограмм. Использование модулей
Виды процедур
Рекурсивные процедуры. Формальные процедуры
Оператор RETURN выхода из процедуры
Этапы проектирования программ
Правила записи исходного кода
Задачи к первым шести главам
Логические выражения
Табуляция функции одной переменной
Поиск корня функции методом перебора
Одномерный массив
Задачи с использованием процедур
Файлы Фортрана
Виды файлов. Файловый указатель
Номер устройства
Внутренние файлы
Внешние файлы
Двоичные файлы последовательного доступа. Неформатные файлы последовательного доступа. Текстовые файлы последовательного доступа
Файлы прямого доступа
Удаление записей из файла прямого доступа
Выбор типа файла
Операции над внешними файлами
Операторы управления файлами. Оператор BACKSPACE. Оператор REWIND. Оператор ENDFILE. Оператор OPEN. Оператор CLOSE. Оператор READ. Оператор WRITE. Оператор PRINT. Оператор INQUIRE. Функция EOF
Задачи
Массивы
Понятие массива
Размещаемые массивы
Ввод одномерного массива из файла
Ввод в массив заданного числа полей данных файла. Ввод в массив всего файла
Вывод одномерного массива
Многомерные массивы
Характеристики массивов
Способы объявления массивов
Размещение элементов массива в памяти ЭВМ
Одновременное объявление объектов разной формы
Массивы нулевой длины
Конструктор массива
Инициализация массива
Использование массивов
Сечение массива
Использование сечений массива
Выборочное присваивание массива
Массивы-ссылки
Прикрепление ссылки к адресату. Открепление ссылки от адресата. Использование массивов-ссылок
Автоматические массивы
Статус динамических массивов модулей
Массивы - формальные параметры процедур
Массивы заданной формы. Массивы, перенимающие форму
Массив как результат функции
Встроенные функции для работы с массивами
Перечень применяемых с массивами функций. Задачи и примеры на встроенные функции обработки массивов. Сортировка и поиск в массиве
Задачи
Одномерный массив. Задачи на ввод-вывод. Двумерный массив
Символьные типы данных
Символьные буквальные константы
Объявление символьных данных
Задание длины символьного объекта. Символьные именованные константы. Объявление символьного массива
Инициализация символьных переменных
Автоматические строки
Выделение подстроки
Символьные выражения. Операция конкатенации
Присваивание символьных данных
Символьные переменные как внутренние файлы
Встроенные функции обработки символьных данных
Выделение слов из строки текста
Задачи
Разработка пользовательской процедуры. Поиск строки, удовлетворяющей заданному условию. Работа с тремя текстовыми файлами
Производные типы данных
Объявление данных производного типа
Инициализация и присваивание записей
Ввод-вывод записей
Пример работы с данными производного типа
Применение структур при работе с наборами данных
Постановка задачи. Внутреннее представление данных. Исходный код обработки данных. Создание тестовых наборов данных. Обсуждение рассмотренной задачи
Структуры со ссылками на себя
Выражения производного типа
Задаваемые присваивания записей
Запись как параметр процедуры
Запись как результат функции
Задачи
Передача записей в неформатные и двоичные файлы. Структуры при работе с файлами прямого доступа
Простые вычисления
Поиск корня функции y = f(x)
Поиск локального экстремума функции нескольких переменных
Вычисление площади фигуры
Сканирование охватывающего прямоугольника. Метод Монте-Карло. Площадь произвольного многоугольника
Численное интегрирование с заданной точностью
Задачи
Простые построения
Построение графика функции y = f(x)
Перемещение образа по заданной траектории
Построение составной кубической кривой
Графический вывод поверхности y = f(x,y)
Изометрическое проецирование. Вывод каркасной модели поверхности. Удаление невидимых граней. Закраска трехмерного объекта
Полный текст программы вывода параболоида
Задачи
Сортировка и поиск данных
Сортировка
Понятие внутренней и внешней сортировки. Понятие ключа. Таблица указателей. Сортировка методом пузырька. Быстрая сортировка
Поиск данных
Последовательный поиск. Бинарный поиск. Сравнение последовательного и бинарного поиска
Управляющие операторы и конструкции
Оператор GOTO безусловного перехода
Оператор и конструкции IF
Условный логический оператор IF. Конструкция IF THEN ENDIF. Конструкция IF THEN ELSE ENDIF. Конструкция IF THEN ELSE IF
Конструкция SELECT CASE
DO-циклы. Операторы EXIT и CYCLE
Возможные замены циклов
Оператор STOP
Программные компоненты
Внешние процедуры
Внутренние процедуры
Операторы заголовка процедур
Общие характеристики операторов заголовка процедур. Результирующая переменная функции
Параметры процедур
Соответствие фактических и формальных параметров. Вид связи параметра. Явные и неявные интерфейсы. Ключевые и необязательные параметры
Модули
Организация модулей. Оператор USE. Атрибуты PUBLIC и PRIVATE
Перегрузка и родовые интерфейсы
Перегрузка процедур. Перегрузка операций и присваивания. Общий вид оператора INTERFACE
Ассоциирование имен
Область видимости именованного объекта
Область видимости меток
Атрибут AUTOMATIC
Атрибут SAVE
Форматный ввод-вывод
Преобразование данных. Оператор FORMAT
Программирование спецификации формата
Выражения в дескрипторе преобразований
Задание формата в операторах ввода-вывода
Списки ввода-вывода
Элементы списков ввода-вывода. Циклические списки ввода-вывода. Пример организации вывода
Согласование списка ввода-вывода и спецификации формата. Коэффициент повторения. Реверсия формата
Дескрипторы данных
Дескрипторы управления
Управляемый списком ввод-вывод
Управляемый именованным списком ввод-вывод. Управляемый неименованным списком ввод-вывод
Встроенные и дополнительные процедуры
Виды встроенных процедур
Обращение с ключевыми словами
Родовые и специфические имена
Возвращаемое функцией значение
Используемые обозначения
Элементные функции преобразования типов данных
Элементные числовые функции
Вычисление максимума и минимума
Математические элементные функции
Функции для работы с массивами
Справочные функции для любых типов
Модели данных целого и вещественного типа
Числовые справочные функции
Элементные функции получения данных о компонентах модельного представления вещественных чисел
Преобразования для параметра разновидности
Процедуры для работы с битами
Пример использования битовых функций
Символьные функции
Процедуры для работы с памятью
Проверка состояния “конец файла”
Неэлементные подпрограммы даты и времени
Случайные числа
Специфические имена, которые допускаются в качестве фактических параметров
Специфические имена, не допускаемые в качестве фактических параметров
Дополнительные процедуры FPS
Запуск программ. Управление программой. Работа с системой, дисками и директориями. Управление файлами. Генерация случайных чисел. Управление датой и временем. Ввод с клавиатуры и генерация звука. Обработка ошибок. Аргументы в командной строке. Сортировка и поиск в массиве. Управление операциями с плавающей точкой
Литература