- •4. Подпрограммы в Паскале. Подпрограммы-процедуры и подпрограммы-функции.
- •5. Формальные и фактические параметры подпрограмм Паскаля.
- •6. Формальные параметры подпрограмм Паскаля. Параметры-значения и параметры-переменные.
- •11. Тип массив в Турбо- Паскале (понятие, описание, размещение в памяти эвм).
- •16. Статическое и динамическое распределение памяти. Тип-указатель в Турбо Паскале ( понятие, описание, типизированные и нетипизированные указатели).
- •17. Общие представления об объектно-ориентированном программировании. Тип-объект в Турбо Паскале (понятие, особенности описания).
- •Пример.
- •23. Особенности компиляции Паскаль-программы модульной структуры.
- •24. Основный стандартные модули и их краткая характеристика.
- •28. Отладка программ ( понятие, цель, стадии отладки, основные фазы контроля корректности программ).
- •30. Восходящее и нисходящее тестирование программ.
- •37. Основные типы и структуры данных в Фортране. Объявление типа и структур данных в Фортране.
- •43. Простейший способ ввода-вывода данных на Фортране, управляемого списками ввода-вывода.
- •44. Запись операторов ввода-вывода в Фортране при использовании объявления формата данных.
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.Назначение и правила записи элемента с встроенным циклом в списках ввода-вывода операторов ввода-вывода в Фортране.
Управляемый списком В/В используется при работе с последовательными текстовыми файлами и стандартными устройствами (клавиатура, принтер, экран). Преобразования В/В выполняются в соответствии с типами и значениями вводимых и выводимых величин.
При вводе массива из файла возможны случай:
Известно число вводимых данных ;
Необходимо ввести весь файл, но его размер до ввода неивестен.
Примеры записи ввода-вывода данных двумерного массива:
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.Классификация процедур Фортрана. Процедуры-подпрограммы. Процедуры-функции.
ПЕ=модуль
ГПМ-главный программный модуль; основная программа.
ВПМ-внешний программный модуль.
В Ф-П между отдельными ПЕ должны быть установлены:
связи по управлению (прямая связь по управлению представляет собой обращение к процедуре, а обратная связь по управлению раньше представлялась оператором RETURN; теперь это реализуется автоматически вместо, следующего за обращением;
связи по данным; реализуются либо применением основного способа связи: фактическими параметрами, либо путем организации общих блоков памяти; при использовании связи через параметры Фортран допускает использование тех же разновидностей формальных параметров и соответственных фактических параметров, что и Паскаль.
Среди процедур Фортрана выделяют: ф-ции, позволяющие получить 1 результирующее значение, и подпрограммы позволяющие получить любое кол-во результирующих значений.
внешние подпрограммы применяются в тех случаях, когда вычисление определяемое вспомогательным алгоритмом сводится к нескольким операторам и проводят хотя бы к 1ому результату значений;
Внешняя ф-ция оформляется как внешняя программа модуль, применяется в случаях, когда вычисления сводятся к нескольким операторам, но приводят лишь к 1ому результирующему значению;
Внутренняя ф-ция; каждая оформлялась как часть некоторой программы модуля, применялась только в случае, если повторные вычисления сводились к 1ому выражению, т.е. к 1ому оператору присваивания и естественно приводили к 1ому результату вычислений.
Стандартный ф-ции Фортрана, каждые разделялись на встроенные и основные внешние ф-ции. Встроенные ф-ции требовали небольшого числа команд; при компиляции блок рабочих команд вставлялся сразу в алгоритм.
50. Связь модулей по данным в Фортран-программе ( через параметры и через общую память). Объявление общих объектов.
51. Массивы с регулируемыми размерами в Фортран-программах. Переменная с индексом – фактический параметр внешней процедуры.
Организация межмодульных информационных связе, через блоки памяти.
Для организации общих блоков памяти и хранения в них данных из разных ПЕ используется объявление общих объектов.
COMMON/<имя общих объектов>/<список объектов общего блока>
(столько раз сколько общих блоков надо создать)
Такое объявление должно присутствовать в каждом из программных модулей, для каждой создается общий блок памяти, но при этом в списке присутствует список конкретных имен модулей.
В списке объектов общего блока могут быть имена переменных, массивов или описаний массивов, входящих в конкретный общий блок.
52. Имя внешней процедуры в списках фактических параметров процедур Фортрана. Объявление имен внешних процедур.
