]]> ]]>

Факториал в Sanscript

Пример для версий Sanscript 2.2

Первый скриншот показывает главную диаграмму потоков. Ее основной частью является функция Repeat (аналог циклов в других языках), которая рассчитывает факториалы чисел и записывает их в список. У этой функции две пары входных и выходных контактов, которые соответствуют глобальным переменным в других языках, — factorial (хранит текущее значение факториала) и message (список строк текста (n)! = (n!)). Кроме того, есть еще один входной контакт N, который задает нужное количество итераций.

Входные контакты инициализируются константами и пустым списком, и цикл начинается. После конца вычислений message нужно вывести на печать. Это можно сделать при помощи функции Write List as Text, которая конкатенирует элементы списка в одну строку с заданным разделителем. Разделитель задается входным контактом sep; в данном случае это символ новой строки, сгенерированный функцией Char, которая преобразует ASCII-код в соответствующий символ. Наконец, полученная строка показывается функцией Display Message.

Второй скриншот демонстрирует внутренности функции Repeat. Элемент, обозначенный как “1, 2 …”, — счетчик цикла, начинающийся с 1 и увеличивающийся на 1 каждую итерацию. На каждой итерации factorial умножается на значение счетчика (функция Times). После этого новое значение конкатенируется со счетчиком и константой "! = " (функция Append Text). Наконец, полученная строка добавляется в список message (функция Add Last Item).

Факториал на Sanscript - главная диаграмма потоков
Факториал на Sanscript - главная диаграмма потоков

Факториал на Sanscript - блок Repeat
Факториал на Sanscript - блок Repeat


Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам