vak: (Default)
[personal profile] vak
Задача 1. Удвоить произвольное слово (в фиксированном алфавите), т.е. приписать к нему (слева или справа) его копию. Например: вася → васявася.

Задача 2. Построить алгоритм для выполнения сложения целых чисел (неотрицательных). Числа M и N подаются на вход в виде строки 011...1+011...1, где имеется соотвественно M и N единиц.

Задача 3. Построить алгоритм для выполнения умножения целых чисел (неотрицательных). Числа M и N подаются на вход в виде строки 011...1*011...1, где имеется соотвественно M и N единиц.

Эти и другие задачи можно найти в методичках по марковским алгорифмам:
В моё время особенно очаровывала задачка вычисления производной любого выражения в символьном виде. И с тех пор более серьёзных применений Рефала мне не встречалось.

Date: 2024-06-27 15:21 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
В чём прикол, на Рефале-то?

Задача 1 решается как EX = EX EX.
задача 2 - для удобства должно быть можно как '0' E('1')X '+0' E('1')Y = '0' EX EY, но в какой версии появилась эта возможность, если появилась - вопрос.
Собственно, если бы удобство указания классов символов, которое мы знаем по регулярным выражениям, появилось в Рефале-2, чтобы, например, выражение, соответствующее "идентификатору без нулей и букв Q" записывалось как S('A-NR-Z')A E('1-9A-NR-Z')B (для кодировки ГОСТ), то популярность Рефала могла бы быть и повыше.

Date: 2024-06-29 15:56 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Но ведь были же какие-то системы, созданные на базе Рефала, значит!