[recovery mode] Falang.io: редактор блок-схем
Здравствуйте, позвольте рассказать вам про сервис falang.io — редактор блок схем.
Он основан на теоретической основе, заложенной при разработке визуального языка Дракон, но расширяет и дополняет его.
В первую очередь это не рисовалка с блоками и стрелками, а редактор алгоритмов. Пользователь никак не влияет на расположение блоков на холсте, но он может повлиять на расположение блоков в самом алгоритме.
Для вставки новых икон используются так называемые «валентные точки». При нажатии правой кнопкой на валентную точку можно выбрать блок, который хотите вставить. При нажатии левой кнопкой будет вставлен последний выбранный блок.
Для перемещения икон нужно зажать курсор левой кнопки над иконой, и перенести ее в нужное место. При переносе будут подсвечены только те валентные точки, куда возможно перемещение в данный момент. Для перемещения группы блоков, надо сначала выделить один блок, а потом с помощью шифта другой блок на том же шампуре.
Реализованы базовые алгоритмические иконы: условия, циклы и т.п. Из каждого цикла можно сделать выход как вверх (continue) так и вниз (break). Для добавления выхода из цикла нужно нажать правой кнопкой на последнюю валентную точку в «шампуре», и выбрать соответственно «continue», «break».
Система позволяет сделать выход из любой части алгоритма, и автоматически рисует линии таким образом, чтобы не было разночтений при просмотре алгоритма. Там, где линии вынужденно пересекаются, рисуется соответствующий полукруг для визуального обхода одной линии над другой. В результате можно визуализировать даже достаточно сложные алгоритмы.
Чтобы поиграться можно выбрать любой алгоритм из галлереи и нажать на кнопку «редактировать». Это можно сделать без регистрации на сайте.
Есть также короткое видео, в котором описываются базовые принципы редактирования схем:
Для чего всё это
Началось с того, что автор однажды наткнулся на книгу Владимира Паронджанова «Алгоритмы и жизнеритмы на языке ДРАКОН. Разработка алгоритмов. Безошибочные алгоритмы.». Сама идея показалась очень интересной, но не понравилась ни одна программа, реализующая данную теорию. Пришлось попробовать написать самому.
Далее в планах продолжить развивать в сторону визуального программирования. Тут можно найти миллион различных применений, но скорее всего первой целью будет аналог сервиса Scratch. Представление алгоритмов, которое предлагает falang, выглядит гораздо нагляднее, и, как кажется, поможет быстрее изучить основы программирования детям.