>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь

12. Чтение и Письмо

При изучении нового языка, полезным упражнением являются переводы в обе стороны на другой, известный. Вот например:

Закройте правую половину страницы и попробуйте (всерьез) перевести предложения, записанные слева на русский. Тоесть, воспроизведите кратко по-русски действие глаголов, определяемых каждым предложением. Используйте любую доступную помощь, включая словарь и эксперименты на компьютере:

f1=: <: Вычесть 1 (монада); Меньше или равно
f2=: f1&9Меньше или равно 9
f3=: f2 *. >:&2Проверка на попадание в интервал от 2 до 9 (включительно)
f4=: f3 *. <. = ]От 2 до 9 и целое
f5=: f3 +. <. = ]От 2 до 9 или целое
 
g1=: %&1.8Разделить на 1.8
g2=: g1^:_1Умножить на 1.8
g3=: -&32Вычесть 32
g4=: g3^:_1Прибавить 32
g5=: g1@g3В шкалу Цельсия из шкалы Фаренгейта
g6=: g5^:_1Фаренгейт из Цельсия
 
h1=: >./Максимум в списке (монада)
h2=: h1-<./ Разброс значений. Попр. h2 b с параболой: b=:(-&2 * -&3) -:i.12
h3=: h1@]-i.@[*h2@]%<:@[На сетке. Попробуйте 10 h3 b
h4=: h3 <:/ ] Гистограмма. Попробуйте 10 h4 b
h5=: {&' *' @ h4Гистограмма. Попробуйте 10 h5 b

После ввода предыдущих определений, введите имя каждого глагола без аргументов, чтобы увидеть его определение и научиться его интерпретировать. Введите перед началом 9!:3 (2 4 5) для получения нескольких форм отображения.

Закрыв левую сторону страницы, попробуйте перевести определения на русском справа обратно на J.


Упражнения

12.1   Эти упражнения сгруппированы по темам и организованы как раздел. Программы нужно сначала прочитать, потом записать самостоятельно. Читатель, хорошо знакомый с какой либо из предложенных тем, может начать сразу с записи.

A. Свойства чисел

pn=: >:@i. Целые положительные числа (т.е. pn 9)
rt=: pn |/ pn Таблица остатков
dt=: 0&=@rt Таблица делимости
nd=: +/@dt Количество делителей
prt=: 2&=@nd Проверка на простое число
prsel=: prt # pn Выбрать простые
N=: >:@pn Целые числа, начиная с единицы
rtt=: ,@(N */ N) Разобранная таблица умножения
aprt=: -.@(N e. rtt) Альтерн. проверка и выборка (простых нет в т. умножения для N)
apsel=: aprt # N  
pfac=: q: Разложение на простые множители
first=: p:@i. Первые простые числа

B. Декартова Геометрия

Сделайте эксперименты с вектором (или точкой) p=: 3 4 и треугольником, представленным таблицей tri=: 3 2$ 3 4 6 5 7 2

L=: %:@:(+/)@:*:"1 Длина вектора (См. с рангом в словаре, или в Разделе 20 Введения)
LR=:L"1 Длина векторов, представленных строками в таблице
disp=: ] - 1&|. Смещение от строки к строке
LS=: LR@disp Длины сторон фигуры
sp=: -:@(+/)@LS Полу-периметр (попробуйте sp tri)
H=: %:@(*/)@(sp,sp-LS) Формула Герона для площади
det=: -/ . * Определитель (См. словарь "По Минорам")
SA=: det@(,.&0.5) Площадь со знаком. Попробуйте SA@|.
sa=:det@(],.%@!@<:@#) Обобщенный обьем со знаком; попробуйте для тетраэдра
tet=:?4 3$9 и для треугольника tri .




>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь