Последовательное построение алгоритма
Существуют различные методы конструирования (разработки, построения) алгоритмов. Один из них — методпоследовательного построения (уточнения) алгоритма. Иначе он называется методом разработки «сверху вниз», нисходящим методом или методом пошаговой детализации.
Суть метода:
• задачу разбивают на несколько частей, каждая из которых проще всей задачи;
• решение каждой части задачи формулируют в отдельной команде, которая также может выходить за рамки системы команд исполнителя;
• при наличии в алгоритме предписаний, выходящих за пределы возможностей исполнителя, такие предписания вновь представляются в виде совокупности ещё более простых предписаний.
Процесс продолжается до тех пор, пока все предписания не будут понятны исполнителю.
Вс алгоритм делает структуру алгоритма более понятной.
При конкретном обращении к вс алгоритму формальные параметры заменяются фактическими параметрами, т. е. именно теми величинами, для которых будет исполнен вс алгоритм. Типы, количество и порядок следования формальных и фактических параметров должны совпадать.
Алгоритм, в котором прямо или косвенно содержится ссылка на него же как на вс алгоритм, называют рекурсивным.
F(x,y,z) = y или не x и z
Объяснение:
(( x ∨ ¬y) ∧ y) ∨ (¬x ∧ (y ∨ z)
Переходим на альтернативную систему обозначений операций, заменяя ∧ на умножение и ∨ на сложение.
(( x + ¬y) · y) + (¬x · (y + z)
А теперь это обычная алгебра - раскрываем скобки
x·y + ¬y·y + ¬x·y + ¬x·z
Особенность булевой алгебры: ¬y · y = 0
x·y + 0 + ¬x·y + ¬x·z
x·y + ¬x·y + ¬x·z
Выносим y за скобки
y·(x + ¬x) + ¬x·z
Еще одна особенность булевой алгебры: ¬х + х = 1
y·1 + ¬x·z
y + ¬x·z
Можно вернуться к исходной системе обозначений
y ∨ ¬x ∧ z