J
Реализация языка программирования J“Родной” интерпретатор языка J.
Примеры:
Hello, World!:
Пример для версий J602, J701'Hello, World!'
Числа Фибоначчи:
Пример для версий J602В этом примере используется формула Бине.
Запись g =: -: >: %:5
эквивалентна g =: 0.5 * (1 + 5 ^ 0.5)
и присваивает имя g
значению золотого сечения. Для этого используются следующие функции: %:
извлекает квадратный корень из числа, >:
увеличивает число на единицу, -:
делит число на два. Если в формуле нет скобок, то действия выполняются справа налево.
Запись fibb=: (%:5) %~ g&^ — (1-g)&^
эквивалентна fibb =: (0.2 ^ 0.5) * (g &^ — (1-g) &^)
; таким образом определяется формула для n-ого числа Фибоначчи при заданном n. Функция %~
выполняет операцию деления, но делимое и делитель имеют порядок, обратный традиционному.
i.16
генерирует числа от 0 до 15, включительно.
load 'printf'
g=: -: >: %:5
fibb=: (%:5) %~ g&^ - (1-g)&^
fstr=: '...' ,~ ,~^:4 '%d, '
fstr printf fibb 1+i.16
Числа Фибоначчи:
Пример для версий J602В этом примере используется рекурсивное определение чисел Фибоначчи. Оператор @.
— селектор, выбирающий 1, если аргумент функции меньше или равен 2, и рекурсивное определение в противном случае.
load 'printf'
fibr=: 1:`(-&2 + &fibr -&1) @.(2&<)"0
fstr=: '...' ,~ ,~^:4 '%d, '
fstr printf fibr 1+i.16
Комментарии
]]>blog comments powered by Disqus
]]>