- •Понятие формального языка. Описание синтаксиса языка.
- •Понятия тестирования и отладки. Принципы тестирования.
- •Полнота тестирования. Критерии черного ящика.
- •Критерии белого ящика.
- •Мгт. Ошибкоопасные ситуации при работе с файлами.
- •Ошибкоопасные ситуации при обращении к данным.
- •Ошибкоопасные ситуации при вычислениях.
- •Ошибкоопасные ситуации при передаче управления и вызовах подпрограмм.
- •Безмашинное тестирование.
- •Оценка количества ошибок в программе.
- •Мера доверия к миллсовой модели оценки количества ошибок в программе. Оценка количества необходимых тестов.
- •Отладка. Отладочные операторы.
- •Методы поиска ошибки. Принципы отладки. Анализ обнаруженной ошибки.
- •Отладочные средства авс-Паскаля.
- •Нисходящее программирование. Нисходящее тестирование.
- •Стиль программирования
- •Понятие алгоритма. Свойства алгоритма.
- •Операторы Паскаля
- •Замкнутые подпрограммы.
- •Открытые подпрограммы.
- •Передача параметров.
- •Рекурсия.
- •Рекуррентные вычисления. Вычисления рекурсивные и итеративные. Реализация одного и того же алгоритма рекурсивно и итеративно.
- •Блочная структура.
- •Понятие типа данных. Классификация языков по типизации.
- •Классификация типов данных. Числовые типы.
- •Перечисления. Диапазоны.
- •Массивы.
- •Моделирование массивом последовательностей: стек.
- •Моделирование массивом последовательностей: очереди
- •Моделирование массивом последовательностей: деки
- •Записи. Присоединяющий оператор.
- •Файлы. Виды файлов. Методы доступа. Триада для работы с файлом.
- •Синхронизация. Буферизация. Блокирование.
- •Двоичные файлы в авс-Паскале.
- •Строки Тип string в авс Паскале.
- •Множества.
- •Процедурные типы.
- •1 ) Описание процедурной константы в Паскале:
- •2 ) Не в Паскале:
- •Типовая безопасность. Идентичность типов.
- •Абстракция данных. Модули в Турбо-Паскале и в авс-Паскале.
- •Подходы к созданию универсального языка программирования
- •Запись с вариантами
- •Классы памяти
- •Понятие конечного автомата и мп-автомата
- •Понятие Машины Тьюринга, нормальных алгоритмов Маркова
Понятие алгоритма. Свойства алгоритма.
Алгоритм – конечный набор понятных однозначных последовательных результативных предписаний, позволяющих исполнителю за конечное число шагов перейти от исходных данных к искомому результату
Свойства алгоритма:
- понятность (формальность исполнителя), записывается в расчете на какого-то исполнителя, у каждого из которых своя система команд
- дискретность (четко разделенные шаги, выполняется последовательно)
- однозначность (детерминированность), смысл любого предписания понимается однозначно, поярок выполнения так же однозначен
- результативность (конечность), завершение работы за конечное число шагов
- массовость (применимость к некоторому множеству данных)
Система команд любого исполнителя конечна. Для реализации программ может быть использовано огромное количество команд
Алгоритм должен быть формализован по некоторым правилам посредством конкретных изобразительных средств. К ним относятся следующие способы записи алгоритмов:
словесный
формульно-словесный
графический
язык операторных схем
алгоритмический язык.
блок-схемный способ записи алгоритмов.
Операторы Паскаля
1) Оператор присваивания:
переменная:= выражение
В качестве переменной может быть простая переменная, разыменованный указатель, переменная с индексами или компонент переменной типа запись. Выражение должно иметь тип, либо совпадающий с типом переменной, либо неявно к нему приводящийся
2) Условный оператор (имеет полную и краткую формы):
if условие then оператор1 else оператор2
В качестве условия указывается некоторое логическое выражение.
else всегда относится к ближайшему предыдущему оператору if, для которого ветка else еще не указана.
3) Составной оператор (предназначен для объединения нескольких операторов в один):
begin операторы end
Операторы отделяются один от другого символом ";".
Служебные слова begin и end, окаймляющие операторы, называются операторными скобками.
4) Оператор выбора (выполняет одно действие из нескольких в зависимости от значения некоторого выражения):
case переключатель of список выбора 1: оператор1; ... список выбора N: операторN; else оператор0 end;
Переключатель представляет собой выражение порядкового типа (целого, символьного, перечислимого или интервального), а списки выбора содержат константы совместимого типа. Ветка else может отсутствовать.
Список выбора состоит либо из одной константы, либо из диапазона значений вида a..b (константа a должна быть меньше константы b); можно также перечислить несколько констант или диапазонов через запятую, списки выбора не должны пересекаться.
5) Оператор цикла for:
for переменная:=начальное значение to конечное значение do оператор
или
for переменная:=конечное значение downto начальное значение do оператор
Текст от слова for до слова do включительно называется заголовком цикла, а оператор после do - телом цикла. Переменная после слова for называется параметром цикла.
Тело цикла for в Pascal ABC не может быть пустым.
Переменная-параметр цикла может иметь любой порядковый тип (целый, символьный, перечислимый или интервальный). При этом типы начального и конечного значения должны соответствовать типу параметра цикла.
6) Оператор цикла while:
while условие do (пока условие истинно) оператор
Условие представляет собой выражение логического типа, а оператор после do называется телом цикла.
Если условие всегда оказывается истинным, то может произойти зацикливание
7) Оператор цикла repeat:
repeat операторы until (условие выхода)
Условие вычисляется после очередной итерации цикла, и если оно истинно, то происходит выход из цикла. Таким образом, операторы, образующие тело цикла, выполняются по крайней мере один раз.
Если условие всегда оказывается ложным, то может произойти зацикливание:
8) Оператор вызова процедуры:
имя процедуры
или
имя процедуры(список фактических параметров)
Количество фактических параметров должно совпадать с количеством формальных, а типы фактических параметров должны соответствовать типам соответствующих формальных.
9) Операторы break и continue:
Оператор break предназначен для досрочного завершения цикла. При его выполнении происходит немедленный выход из текущего цикла и переход к выполнению оператора, следующего за циклом.
Оператор continue завершает текущую итерацию цикла, осуществляя переход к концу тела цикла.
Использование операторов break и continue вне тела цикла ошибочно.
Оператор exit предназначен для досрочного завершения процедуры или функции.
Вызов exit в разделе операторов основной программы приводит к ее немедленному завершению.