Опыт мышления в стереотипах формулы «Структура алгоритмов + данные = программа»
«E pur si muove!» Галилео Галилей. 1. ПредисловиеНастоящая статья является важным шагом на пути к созданию демонстратора системы движков, взаимодействующих в потоке данных на базе встроенного интерпретатора Forth в Elixir. Интерпретатор Forth движков описан в предшествующей статье [1]. В серия статей [2, 3, 4] рассказывалось о рабочих моментах разработки демонстратора. Данная статья описывает ручную сборку распределенной системы узлов, выполняющих единую задачу вычисления корней квадратного уравнения по предписанию графа обработки данных в потоке. Далее для краткости будем называть такой граф графом обслуживания.Такую же постановку демонстрационной задачи вычисления корней квадратного уравнения на графе обслуживания я сделал 5 лет тому назад в статье «Анти–Тьюринг», https://habr.com/ru/articles/593379/.Тогда это был прообраз системы движков. Настоящей реализации демонстратора принципа обработки данных в потоке на Elixir предшествовала работа по написанию встроенного интерпретатора Forth и широкая систематизация движков, шлюзов, кнопок и тактовых генераторов в составе системы.Перейдём сразу к делу.2. Задача демонстратора системы. Для испытания системы движков взята всем известная задача решения квадратного уравнения, решение которой описывается следующим псевдокодом:a ← <значение> b ← <значение> c ← <значение> det ← b*b – 4*a*c sqrt ← sqrt(det) wen det >= 0 do: x1 ← (-b – sqrt) / 2 a x2 ← (-b + sqrt) / 2 aЗадача нахождения корней квадратного уравнения очень подходит для демонстратора. В ней есть Читать далее