- •1…Понятие информатики, информации, кодирования информации.
- •2…Системы счисления, переводы чисел из одной позиционной системы счисления в другую.
- •3… Понятия алгоритма: рекурсивные функции системы текстовых замен.
- •4… Способы описания языков программирования: бнф-нотации, синтаксические диаграммы
- •12…Оператор безусловного перехода, операторы продолжения и завершения, примеры использования.
- •16…Ввод/Вывод данных в с.
- •18…Производные типы данных, массивы, работа с массивами.
- •22…Файлы прямого и последовательного доступа к данным, форматизованный и неформатизованный ввод/вывод.
- •24…Понятие подпрограммы, назначение подпрограмм, использование подпрограмм.
- •26…Передача параметров в подпрограмму, параметры входные и выходные, параметры , передаваемые по значению и по адресу.
- •27…Использование подпрограмм, параметры формальные, локальные, глобальные, обращения к подпрограммам, фактические параметры.
- •28…Передача параметров массивов в подпрограмму, примеры.
- •29…Рекурсивные функции, примеры.
- •30…Понятие структурного программирования, этап проектирования – композиция и декомпозиция, понятие статической и динамической структуры программы, спецификация программы.
- •31…Понятие частичной и полной корректности программы, правила вывода – общий вид, правила консеквенции.
- •32… Правила вывода для операторов: пустого, присваивания, составного.
- •33… Правила вывода для оператора ветвления.
- •34… Правило вывода для операторов: оператора выбора, операторов цикла с параметром.
- •35… Правила вывода для циклов с предусловием и постусловием, пример использования правил вывода для реализации цикла с постусловием оператором цикла с постусловием.
- •36… Пример для доказательства правильности программы.
32… Правила вывода для операторов: пустого, присваивания, составного.
Правила вывода для операторов языка программирования
Правила вывода для структурных операторов
Простейшей формой структурирования является создание составных операторов с помощью последовательной композиции действий S1, S2,… Sn.
В С++ составной оператор - {S1; S2;… Sn;}
Правила вывода для составного и условных операторов
33… Правила вывода для оператора ветвления.
34… Правило вывода для операторов: оператора выбора, операторов цикла с параметром.
Итерационная композиция, операторы циклов
Оператор цикла с предусловием:
while (B) S;
B – выражение, S – оператор, простой или составной.
S выполняется пока условие B выполняется, имеет истинное значение. Итерационное выполнение S завершается, когда B становится ложным.
Итерационная композиция, операторы циклов
Если P справедливо, когда впервые входим в цикл, то P^B будет справедливо,
если мы достигнем точки C. Если же придем в точку D, т.е. цикл завершится
нормально, то должно выполняться условие P^ ¬ B. Но после выполнения
оператора S, мы снова попадем в точку А и снова должно выполняться
условие P. Т.е. в точке A условие P, а в точке С условие P^B , будут
выполняться столько раз, сколько раз выполняется тело цикла.
{ P ^ B } S { P }
{ P } while (B) S; { P ^ ¬ B }
Говорят, что это правило устанавливает свойство инвариантности утверждения P, поэтому P называют инвариантом цикла.
35… Правила вывода для циклов с предусловием и постусловием, пример использования правил вывода для реализации цикла с постусловием оператором цикла с постусловием.
36… Пример для доказательства правильности программы.
Мы доказали частичную корректность алгоритма, так как при доказательстве не использовалось условие y>0. Это условие используется для доказательства завершаемости алгоритма.