
- •1.Эффективность вычислений. Основные понятия и определения.
- •2. Алгоритм. Основные понятия и определения.
- •3. Семантическая теория программ.
- •4. Схемы программ.
- •5. Способы задания алгоритмов.
- •6. Универсальные модели алгоритмов.
- •7. Понятийные средства спецификации программ.
- •8. Основные требования к спецификации программ.
- •9. Спецификации в жизненном цикле программ.
- •10. Методы спецификации программ.
- •1. Табличные средства.
- •2. Равенства и подстановки.
- •3. Логические средства и аксиоматические описания.
- •4. Графовые средства: графы, сети, диаграммы.
- •5. Конечно-автоматные диаграммы.
- •6 Синтаксические диаграммы.
- •7. Сети Петри.
- •11. Графические методы спецификации.
- •12.Автоматное преобразование информации
- •13. Основные понятия и определения теории конечных автоматов
- •14.Способы задания конечных автоматов.
- •15. Конечный автомат как модель «реагирующей системы».
- •16. Конечный автомат как модель протокола передачи сообщений в сетях.
- •17. Конечный автомат как модель взаимодействия процессов.
- •18. Автоматы Мура и Милли.
- •19. Примеры конечных автоматов.
- •20. Программная и аппаратная реализация конечных автоматов.
- •21. Сети Петри: принципы построения.
- •22. Теория комплектов.
- •Структура сети Петри.
- •24. Графы сети Петри.
- •25.Аналитическое и графическое представление сети Петри.
- •26. Маркировка сети Петри.
- •27.Выполнение сети Петри.
- •28. Пространство состояний сети Петри.
- •31. Сети Петри как аппарат для моделирования систем
- •32. Одновременность и конфликт сети Петри.
- •33. Моделирование аппаратного обеспечения сетями Петри
- •34.Моделирование программного обеспечения сетями Петри
- •35.Параллелизм в сетях Петри.
- •36,48 Моделирование дискретных процессов сетями Петри.
- •37. Безопасность сетей Петри
- •38.Ограниченность сети Петри
- •39.Тупики в сетях Петри.
- •40. Достижимость в сети Петри. См. Билет 29
- •41. Дерево достижимости в сетях
- •42. Анализ сетей Петри
- •47. Матричное представление сетей Петри.
- •50. Недостатки классических сетей Петри.
- •1.Эффективность вычислений. Основные понятия и определения. 1
10. Методы спецификации программ.
1. Табличные средства.
Таблица - пример того, что в программировании называют широким термином структура данных, причём двумерная таблица проста и регулярна. Имена столбцов показывают в этом случае атрибутами, а также реквизитами, признаками, а строки записями или картежами. Саму таблицу показывают массивом записей.
В неоднородной таблице столбцы (атрибуты) могут иметь разные типы: при этом элементы одного столбца имеют один и тот же тип, ассоциированный со столбцом, - его называют доменом. В таблице «сотрудники» типы столбцов могут быть ФИО, год и пол и представлять соответственно последовательность литер, целое число и букву. Операция упорядочения упорядочивает таблицу по значениям заданного атрибута. Что широко используется в электронных таблицах.
2. Равенства и подстановки.
Синтаксис равенства имеет вид L=R, где L и R - выражения, построенные из обозначений функций (операций), переменных и констант. L - называют левой частью равенства, a R - правой.
Если тексты, содержащие выражения, должны обрабатываться машиной, храниться в машинной памяти, то это обычно накладывает дополнительные ограничения на синтаксис выражений, что небезразлично с точки зрения спецификации. Например, удобные и привычные для людей «многоэтажные» выражения приходится записывать как «одноэтажные», т.е вместо Х2, yi писать соответственно х*х, y[i] и т.д.
3. Логические средства и аксиоматические описания.
Под логическими средствами подразумеваются прежде всего способы точного формулирования утверждений и проведения правильных рассуждений, успешно применяемые в математической и научной практике. Утверждения записываются в логике в виде логических формул. В языках программирования логические формы называют логическими выражениями, в отличие от арифметических выражений они принимают только два истинностных значения, 0 или 1, true или false. Из первичных или атомных формул с помощью логических связок и кванторов строятся более сложные формулы. Важно, чтобы синтаксис логических выражений позволял однозначно восстанавливать смысл записываемых утверждений и был по возможности прост и удобен для восприятия и применения.
Потребности описания семантики языков программирования привели в последние годы к созданию целого семейства логик, называемых программными, алгоритмическими или динамическими. Существенной их особенностью является понятие состояния и понятие оператора (команды, программы), преобразующего одни состояния в другие (например, оператор присваивания).
Самая известная среди них программная логика Хоара, формулы которой имеют вид P{S}Q, где Р и Q формулы логики, a S - оператор. Семантика такой формулы определяется следующим образом. Пусть заданы оператор S и интерпретация формул Р и Q. Тогда формула P{S}Q истинна, если для любого состояния σ, в котором формула Р истинна и результат σ‘ оператора S определен, формула Q истинна в состоянии σ’. Формулу Р называют предусловием, а σ - постусловием для оператора S.
4. Графовые средства: графы, сети, диаграммы.
Графовые средства - это математические понятия, имеющие дело с относительно простыми видами связей между объектами, которые допускают наглядное графическое изображение. Изображая связи линиями или стрелками, а объекты кружочками, получаем графическую картинку, представляющую объекты и связи. Важно, однако, четко осознавать, что за картинками стоят определенные математические понятия и что картинки -это только внешний способ представления понятий. По существу, картинки -это форма синтаксиса понятий, и для графовых средств она наиболее адекватна.
Граф G={V,R} можно рассматривать, как двухместное бинарное отношение R на множестве V, которое определяется, как множество упорядоченных пар элементов множества V.
Сетью называют любую графовую структуру, но чаще графы с каким-нибудь специальным свойством, оно соответственно оговаривается в определении сети. Диаграммой называют граф специального вида, чаще всего помеченный граф. Деревом называется объект или представление объекта, имеющего иерархическую структуру, как раз и выраженную этим деревом. Все деревья являются ациклическими графами. Конечный ациклический граф - это наглядный способ задания частичного прядка на конечном множестве элементов.