Научная литература
booksshare.net -> Добавить материал -> Математика -> Боглаев Ю.П. -> "Вычислительная математика и программирование " -> 42

Вычислительная математика и программирование - Боглаев Ю.П.

Боглаев Ю.П. Вычислительная математика и программирование — Высшая школа, 1990. — 546 c.
ISBN 5-06-00623-9
Скачать (прямая ссылка): vychmatiprog1990.djvu
Предыдущая << 1 .. 36 37 38 39 40 41 < 42 > 43 44 45 46 47 48 .. 168 >> Следующая

122
\
V
REAL A(l 00),B(100); i WRITE (6,*) A3;
REAL A(100)3(100) WRITE (6,*)(A(I),B(I),I = = 1,100)
в варианте слева потребует двух обращений к программе вывода, в варианте справа —200 обращений.
2) Учет формы хранения массивов в памяти. Эффективность ввода—вывода массивов резко падает, если список не соответствует принятому способу хранения массивов в памяти на фортране. Например, вывод
WRITE (6,*) ((A(I,J),J = 1,20),I = 1,20)
будет менее эффективным, нежели
WRITE (6,*) ((A(I,J),I = 1,20),J = 1,20)
поскольку в памяти двумерные массивы запоминаются по столбцам, а не по строкам.
3) Бесформатный ввод—вывод промежуточных результатов. Бесформатный ввод—вывод определяется в 3.5. Он служит для записи и чтения данных на внешней памяти без всяких преобразований (во внутреннем машинном представлении). Форматный ввод—вывод нужен только для пользователя, но не для программы. Так как преобразования в соответствие с форматом сопряжены со значительным числом операций и с увеличением необходимой памяти, то от него следует отказаться, если данные имеют смысл промежуточных.
Например, для хранения вещественного числа без формата требуется 4 байт, с форматом Е15.7 необходимо 15 байт.
Наконец, при форматных преобразованиях может теряться точность представления чисел, а этого всегда следует избегать.
4) Экономия бумаги. Если при работе на дисплее возможен вывод по одному значению в строке, то такая манера выдачи на бумагу АЦПУ достойна осуждения, поскольку приведет к большому расходу бумаги. Следует познакомиться с числом позиций в строке АЦПУ, доступных для вывода (обычно 128 или 132), а затем, используя список вывода и оператор FORMAT, так расположить информацию, чтобы максимально использовалась вся доступная площадь бумаги.
ф 3.5. Расширение возможностей фортрана
3.5.1. Введение. В 3.2 рассматривались некоторые конструкции языка фортран, которые в основном соответствуют стандарту фортрана 66.
Особенности версии фортрана 77 с расширенными возможностями (по сравнению с фортраном 66) приведены в Приложении 2.
Перечислим новые конструкции языка фортран 77, отсутствовавшие в фортране 66. Список новых элементов следующий:
123
PROGRAM; ENTRY
CHARACTER; SAVE
IMPLICIT; OPEN
PARAMETER; CLOSE
INTRINSIC; INQUIRE
PRINT *; •EQV.
READ *; • NEQV.
структурный логический оператор IF ... THEN
ELSE ... THEN ...
ELSE ...
ENDIF
I
и управление вводом—выводом файла.
Таким образом, в 3.2 рассмотрены не все элементы и фортрана 66. Если при решении задачи (чтении чужих программ) окажется необходимым освоить элементы, не рассмотренные в настоящей книге (см. Приложение 2), то следует обратиться к [13].
Из новых элементов фортрана 77 отметим три наиболее существенных, которые принципиально расширили возможности фортрана 66.
Это символьный тип данных CHARACTER и операции с ним. Символьный тип данных наиболее часто употребляется в программах обработки текстов, создании текстовых процессоров. В программах научно-технических расчетов символьный тип данных обычно используется в комментариях, для которых вполне достаточно средств фортрана 66. Поэтому этот элемент фортрана 77 здесь не рассматривается.
Следующий принципиально новый элемент (который часто называют основным отличием этой версии фортрана)—это структурный логический оператор. Неудобство старого логического оператора состоит в том, что после логического выражения
IF (лог. выр.) выполняемый оператор может стоять лишь один выполняемый оператор, что влечет за собой частое применение оператора GO ТО. Программа с большим количеством операторов GO ТО, как правило, плохо читаема и не удовлетворяет современным требованиям к стилю программирования. Структурный логический оператор значительно уменьшил частоту употребления в программах оператора GO ТО.
Наконец, третьим, существенно новым, элементом являются средства управления вводом—выводом файла. В 50—60-е годы основными носителями информации для ввода данных и программ были перфокарты, вывод результатов производился на АЦПУ или на перфокарты. Это наложило отпечаток на конструкции ввода—вывода фортрана 66. В настоящее время перфокарты
124
\
практически вышли из употребления, используются магнитные носители—ленты, диски разнообразной конструкции. Ввод программ и данных производится с терминалов в файлы на магнитных носителях, непосредственно связанных с ЭВМ. Вывод результатов может быть произведен также в файлы, либо на терминалы. Такой ввод—вывод потребовал создания гибкой системы управления вводом — выводом файла, что и нашло свое отражение в фортране 77.
3.5.2. Структурный логический оператор. Структурный логический оператор имеет следующий вид:
IF (логическое выражение) THEN
На месте многоточия может находиться любое число операторов, которые должны выполняться, если логическое выражение истинно. Если выражение ложно, то управление передается на следующий за ENDIF оператор.
Пусть, например, требуется найти максимальный элемент последовательности хх, Х2, *100 и определить его номер
в последовательности. Фрагмент программы, решающей эту задачу, может быть таким: ь
Предыдущая << 1 .. 36 37 38 39 40 41 < 42 > 43 44 45 46 47 48 .. 168 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed