Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инфа 2сем..docx
Скачиваний:
20
Добавлен:
23.09.2019
Размер:
98.9 Кб
Скачать

43. Простейший способ ввода-вывода данных на Фортране, управляемого списками ввода-вывода.

При вводе с клавиатуры данные из текстового представления преобразовываются во внутреннее. При выводе на экран данные из внутреннего представления преобразовываются во внешнее (текстовое). Преобразования ввода-вывода (В/В) можно задать дескрипторами преобразований. Можно также использовать В/В, в котором преобразования выполняются в соответствии с установленными по умолчанию правилами. Такого рода преобразования обеспечиваются управляемым списком В/В. Управляемые списком операторы ввода с клавиатуры м вывода на экран выглядят так:

Read(*,*) список ввода !ввод с клавиатуры

Read*, список ввода ! ввод с клавиатуры

Write(*,*) список вывода ! вывод на экран

Print*, список вывода ! вывод на экран

Список ввода – часть оператора, устанавливающая величины, которые надо ввести.

Список вывода устанавливает величины, которые надо вывести.

Последняя или единственная звездочка операторов означает, что В/В управляется списком. В операторах, содержащих две заключенные в скобки и разделенные запятой звездочки, первая – задает устройство В/В (клавиатуру и экран).

44. Запись операторов ввода-вывода в Фортране при использовании объявления формата данных.

Перевод данных из внутреннего представления в текстовое задается дескрипторами преобразований (ДП). Так, для вывода вещественного числа на поле длиной в 8 символов, в котором 3 символа отведены для преставления дробной части, используется дескриптор F8.3. Максимально значение, которое можно отобразить на заданном поле, равно 9999.999, а минимальное -999.999. Для преобразования внутреннего представления целого числа в текст длинной в 10 символов применяется дескриптор I10.

Чтобы напечатать символьную переменную в поле длинной 25 знаков, применяется преобразование A25.

Спецификация формата содержит заключенный в скобки список ДП. Спецификация может быть задана как встроенная в оператор В/В символьная строка, например:

‘(F8.3,I10)’

Или как отдельный оператор FORMAT, на который операторы В/В ссылаются при помощи метки. Общий вид оператора:

меткаFORMAT (список ДП)

ДП разделяются в списке ДП запятыми.Например:

Write(*,”(1x,f8.3, i10)’) a,k

Write(*,10) a,k

10 format(1x,f8.3, i10)

45.Назначение и правила записи элемента с встроенным циклом в списках ввода-вывода операторов ввода-вывода в Фортране.

Управляемый списком В/В используется при работе с последовательными текстовыми файлами и стандартными устройствами (клавиатура, принтер, экран). Преобразования В/В выполняются в соответствии с типами и значениями вводимых и выводимых величин.

При вводе массива из файла возможны случай:

  1. Известно число вводимых данных ;

  2. Необходимо ввести весь файл, но его размер до ввода неивестен.

Примеры записи ввода-вывода данных двумерного массива:

Read(2,*,iostat=ios)((a(I,j),j=1,4),i=1,3)

Do i=1,3

Write(*,*)(a(I,j),j=1,4) ! или a(I,1:4)

enddo

46.Правила записи в Фортране основных описателей полей, определения их составляющих.

1. Описатель поля для данных целого типа имеет код преобразователь – Iw, Где W – ширина поля.

2.Описатель полей данных вещественного типа имеют 2 кода преобразования

1) Fw.d, где d- кол-во разрядов дробной части мантиссы; w- общая ширина поля.

2) Ew.d, где d- кол-во разрядов дробной части мантиссы; w- общая ширина поля.

3. Описатель поля для данных двойной точности Dw.d, где d- кол-во разрядов дробной части мантиссы; w- общая ширина поля.

4. Описатель для данных логического типа Lw, где W- ширина поля для размещения логического выражения.

5. Описатель поля для символьных данных. Раньше : Нрезультаты, теперь: ‘результаты’

6. Описатель поля пробелов wX, где w-ширина поля пробелов.

47. Правила построения списка описателей полей в объявлении формата в Фортране, возможности сокращения его записи.

1) СОП записывается в расчете на одно выполнение соответствующего оператора ввода/вывода; при этом каждый объект их СОвв/СОвыв должен быть указан в СОП соответственно объявления формата определенный описатель поля; между этими списками должно иметь место соответствие по порядку следования эл-тов и по типу соответствующих пар эл-тов.

Для того, чтобы не записывать в СОП многократно повторяющихся описателей полей Фортран допускает использование коэффициентов повторения.

Повторитель – это целое положительное константа без знака, записываемая перед описателем поля и указывающая своим значением сколько раз этот описатель поля должен быть использован.

При необходимости, повторители записываются и перед группой описателей полей заключенной в круглые скобки: так создается повторяющаяся группа описателей полей.

2) Список СОвв/СОвыв явл-ся ведущим: обработка этого списка прекращается лишь тогда, когда он полностью исчерпан. При необходимости СОП может быть использован повторно. Если в СОП есть повторяющиеся группы описателей, то вновь исп-ся лишь последняя повторяющиеся группа;

3) Распределение данных по строкам указ-ся в СОП либо явно, либо неявно.

При явном указании группа описателей полей одной строки отделяется от группы описателей другой строки символом наклонная черта (слэш).

Неявным указателем перехода на новую строку явл-ся скобка, закрывающая запись всего СОП.

4) Принято соглашение, что первый символ каждой выводимой записи не выводится, а лишь управляет перемещением курсора или печатающей головки принтера.

48.Структура главного программного модуля Фортран-программы, особенности структуры внешних программных модулей. Правила записи Фортран-программы.

Ф-П=ГПМ+VВПМ (основная программа)

(ГПМ-главный программный модуль;VВПМ-совокупность программных модулей)

Структура ГПМ

Program < имя программы >

< раздел объявлений >

< раздел операторов > (в т.ч. операторы ввода/вывода)

<объявление формата>

End (без точки)

В структуре внешней программы модулей отличие в записи заголовка, а также отсутствие операторов вв/выв. и объявление формата данных.

Правила записи Фортран-Программы

1|2|3|4|5|………………………………………………………|80|

С 7 по 72-для записи Ф-П предложений; до 18 строки; В 6 строке нумерация строк, каждый показывающая начало предложения.

С 1 по 5 для записи меток; младший разряд метки на 5-ой позиции; затем свободная запись меток.

При записи Ф-П под влиянием структурного программирования: рельефная запись, комментарии ( на 1-ой позиции строки С(«цэ» заглавная)

49.Классификация процедур Фортрана. Процедуры-подпрограммы. Процедуры-функции.

ПЕ=модуль

ГПМ-главный программный модуль; основная программа.

ВПМ-внешний программный модуль.

В Ф-П между отдельными ПЕ должны быть установлены:

  1. связи по управлению (прямая связь по управлению представляет собой обращение к процедуре, а обратная связь по управлению раньше представлялась оператором RETURN; теперь это реализуется автоматически вместо, следующего за обращением;

  2. связи по данным; реализуются либо применением основного способа связи: фактическими параметрами, либо путем организации общих блоков памяти; при использовании связи через параметры Фортран допускает использование тех же разновидностей формальных параметров и соответственных фактических параметров, что и Паскаль.

Среди процедур Фортрана выделяют: ф-ции, позволяющие получить 1 результирующее значение, и подпрограммы позволяющие получить любое кол-во результирующих значений.

  1. внешние подпрограммы применяются в тех случаях, когда вычисление определяемое вспомогательным алгоритмом сводится к нескольким операторам и проводят хотя бы к 1ому результату значений;

  2. Внешняя ф-ция оформляется как внешняя программа модуль, применяется в случаях, когда вычисления сводятся к нескольким операторам, но приводят лишь к 1ому результирующему значению;

  3. Внутренняя ф-ция; каждая оформлялась как часть некоторой программы модуля, применялась только в случае, если повторные вычисления сводились к 1ому выражению, т.е. к 1ому оператору присваивания и естественно приводили к 1ому результату вычислений.

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

50. Связь модулей по данным в Фортран-программе ( через параметры и через общую память). Объявление общих объектов.

51. Массивы с регулируемыми размерами в Фортран-программах. Переменная с индексом – фактический параметр внешней процедуры.

Организация межмодульных информационных связе, через блоки памяти.

Для организации общих блоков памяти и хранения в них данных из разных ПЕ используется объявление общих объектов.

COMMON/<имя общих объектов>/<список объектов общего блока>

(столько раз сколько общих блоков надо создать)

Такое объявление должно присутствовать в каждом из программных модулей, для каждой создается общий блок памяти, но при этом в списке присутствует список конкретных имен модулей.

В списке объектов общего блока могут быть имена переменных, массивов или описаний массивов, входящих в конкретный общий блок.

52. Имя внешней процедуры в списках фактических параметров процедур Фортрана. Объявление имен внешних процедур.