
- •4. Подпрограммы в Паскале. Подпрограммы-процедуры и подпрограммы-функции.
- •5. Формальные и фактические параметры подпрограмм Паскаля.
- •6. Формальные параметры подпрограмм Паскаля. Параметры-значения и параметры-переменные.
- •11. Тип массив в Турбо- Паскале (понятие, описание, размещение в памяти эвм).
- •16. Статическое и динамическое распределение памяти. Тип-указатель в Турбо Паскале ( понятие, описание, типизированные и нетипизированные указатели).
- •17. Общие представления об объектно-ориентированном программировании. Тип-объект в Турбо Паскале (понятие, особенности описания).
- •Пример.
- •23. Особенности компиляции Паскаль-программы модульной структуры.
- •24. Основный стандартные модули и их краткая характеристика.
- •28. Отладка программ ( понятие, цель, стадии отладки, основные фазы контроля корректности программ).
- •30. Восходящее и нисходящее тестирование программ.
- •37. Основные типы и структуры данных в Фортране. Объявление типа и структур данных в Фортране.
- •43. Простейший способ ввода-вывода данных на Фортране, управляемого списками ввода-вывода.
- •44. Запись операторов ввода-вывода в Фортране при использовании объявления формата данных.
37. Основные типы и структуры данных в Фортране. Объявление типа и структур данных в Фортране.
Программа выполняет обработку данных. Данные представлены в программе в виде переменных и констант. Объекты данных различаются именами, типами и другими свойствами. Переменная имя которой присутствует в программе, считается существующей. Существующая переменная может быть определенной и неопределенной. Переменная становится определенной после того, как она получит значение, например в результате присваивания или выполнения ввода. Константы бывают именованными и буквальными. Именованная константа всегда объявляется с атрибутом PARAMETER. Значение именованной константы не может быть изменено в результате вычислений. Поэтому её имя не может находится в левой части оператора присваивания или быть элементом списка ввода.
Основными типами фортрана являются числа вещественного (real), целого (integer) и комплексного типа высокой точности (complex), а так же данные логического (logical), символьного (character) и производный тип (derived) – структуры.
Пример объявления объектов данных разных типов:
Real :: c=4.56, b(20) ! c и b вещественные переменные
Complex :: z=(1.4142, 1.4142) !z-переменная комплексного типа
Character(30) :: fn=’c:\dig.bin’ ! fn-символьная переменная
Real, parameter :: pi=3.141593 ! pi-вещественная константа
38. Форма записи констант различных типов в Фортране.
Константы бывают именованными и буквальными. Именованная константа всегда объявляется с атрибутом PARAMETER. Значение именованной константы не может быть изменено в результате вычислений. Поэтому её имя не может находится в левой части оператора присваивания или быть элементом списка ввода.
Real, parameter :: pi=3.141593 ! pi-вещественная константа
Integer, parameter :: g=10 ! g-константа целого типа
Complex, parameter :: z=(1.4142, 1.4142) !z-константа комплексного типа
39. Арифметические выражения в Фортране (возможные операнды, правила записи, порядок вычисления значений и правила определения его типа).
Арифметическое выражение – это запись математической формулы с использованием констант, переменных, функций, знаков арифметических операций и круглых скобок. Константы, переменные, указатели функций, а также выражения в круглых скобках называются операндами. Арифметическое выражение может присутствовать в правой части оператора присваивания, в списке фактических параметров при обращении к подпрограмме. Арифметические выражения используются при записи отношений.
Сложение + A+beta 2.5+.3 5+k
Перемена знака - -A -.45
Вычитание - A-beta 2.5-.3 5-k
Умножение * A*beta 2.5*.3 5*k
Деление / A/beta 2.5/.3 5/k
Возведение в степень ** A**beta 2.5**.3 k**5
1 ** (возведение в степень)
Порядок выполнения: справа налево
A**B**C эквивалентно A**(B**C) (a
2 * / (умножение и деление)
Порядок выполнения: слева направо
3 + - (сложение, вычитание и перемена знака)
Порядок выполнения: слева направо
Порядок выполнения операций может быть изменён
с помощью скобок.
1.Операции над вещественными аргументами дают
вещественный результат.
2.Операции над аргументами двойной точности дают
результат двойной точности.
3.Операции над целыми аргументами дают целый результат.
Смешанные операции:
1.целое — вещественное =⇒ вещественное
2.целое — двойной точности =⇒ двойной точности
3.целое — комплексное =⇒ комплексное
(операция над вещественной частью)
4.вещественное — двойной точности =⇒ двойной точности
5.вещественное — комплексное =⇒ комплексное
(операция над вещественной частью)
6.двойной точности — комплексное =⇒ комплексное
(операция над вещественной частью)
40. Логические выражения в Фортране ( возможные операнды, правило записи, порядок вычисления).
Логические выражения чаще всего используются в логическом операторе или конструкции IF. Над объектами данных логического типа определены следующие операции (указаны в порядке убывания приоритета, точки в написании обязательны):
ОПЕРАТОР |
ДЕЙСТВИЕ |
.NOT. ЛОГИЧЕСКОЕ ОТРИЦАНИЕ (НЕ) .AND. ЛОГИЧЕСКОЕ ПЕРЕСЕЧЕНИЕ (И) .OR. ЛОГИЧЕСКОЕ ОБЪЕДИНЕНИЕ (ИЛИ) |
Логическими данными могут быть не только переменные и константы логического типа. Данные или выражения любого встроенного типа связанные операцией логического отношения образуют конструкцию логического типа. Такие конструкции могут входить в логические выражения наравне с логическими переменными и константами. Логические отношения имеют более высокий приоритет выполнения по сравнению с логическими операциями. Каждое логическое отношение (утверждение) является элементарным логическим выражением и может принимать значения: ".TRUE." или ".FALSE.", все операции отношения имеют одинаковый приоритет выполнения по отношению друг к другу:
ОБОЗНАЧЕНИЕ |
ОТНОШЕНИЕ |
.EQ. РАВНО .NE. НЕ РАВНО .GT. БОЛЬШЕ .GE. БОЛЬШЕ ЛИБО РАВНО .LT. МЕНЬШЕ .LE. МЕНЬШЕ ЛИБО РАВНО |
Из логических данных и элементарных логических выражений можно выстраивать более сложные логические выражения.
41. Особенности арифметического оператора присваивания в Фортране. Кодирование на Фортране ветвлений в алгоритмах.
АОП(арифм); ЛОП(логич.)
A=52( только равно без « : » )
L= true
АОП: 1. Вещ=цел
2.цел.=вещ
(Перем.) (выражение)
Значение выражений справа преобразуется в форму основной целой константы путем отбрасывания дробной части
Ветвление – выбор одного из возможных направлений выполнения алгоритма в зависимости от значений некоторых условий.
Различают ветвления четырех видов:
Если –то;
Если –то- иначе;
Если – то – иначе – если;
Выбор по ключу;
Я рассмотрю только два первых:
В ветвлениях «если-то» и «если-то-иначе» для записи условий используется логическое выражение, результатом которого может быть истина или ложь.
Ветвление «если-то» работает так:
Вычисляет значение логического выражения.
Если оно истинно, то выполняется блок операторов и конструкций номер 1.
Если оно ложь, то управление передается БОК 2.
На фортране это ветвление можно записать так:
If (ЛВ) then
БОК1
End if
Или так
IF (лв) оператор
( оператор end if записать и без пробела)
Ветвление «если-то-иначе» работает так:
Вычисляет значение ЛВ;
Если оно истинно, то выполняется БОК1;
Если оно ложно, то выполняется БОК2;
Далее управление передается в БОК3;
Запись ветвлений на Фортране выглядит так:
If (ЛВ) then
БОК1
Else
БОК2
End if
42. Кодирование на Фортране базовых циклических структур алгоритмов.
Цикл «с параметром».
В цикле «с параметром р» задаются начальное значение р1, конечное р2 и шаг S – отличная от нуля величина, на которую изменяется значение параметра р после выполнения итерации. Параметр р также называют переменной цикла, которая в Фортране может иметь целый или вещественный тип. Параметры р1,р2 и шаг S являются выражением целого или вещественного типа.
Наиболее часто в Фортране цикл с параметром записывается так:
Do p=p1,p2,[s]
БОК
End do
При отсутствии шага s его значение устанавливается равным единице.
Цикл «пока» и «до».
Цикл «пока» выполняется до тех пор, пока «истинно» некоторое ЛВ. Причем проверка истинности ЛВ выполняется перед началом очередной итерации. Цикл «до» отличается от цикла «пока» тем, что проверка истинности ЛВ осуществляется после выполнения очередной итерации. В Фортране не существует цикла «до», но его можно реализовать в объявляющей бесконечный цикл конструкции DO….End Do.
Замечание. При работе с циклами «пока» и «до» надо следить, чтобы ЛВ обязательно рано или поздно приняло значение ложь. Иначе произойдет зацикливание – «бесконечное» выполнение операторов цикла.
Цикл «пока» цикл «до»
Do while (ЛВ) Do
БОК БОК
End Do IF (.Not.ЛВ) EXIT
End Do