bool - область.
True, False: bool.
IF: bool x real x real -> real.
Введем шаблон [if @b then @x else @z]
с переменными:
[b: bool; "x", z :real]
и переменной результата "s:real";
Пояснения: "условный оператор "
Условие применения шаблона:
""
Действие шаблона:
"IF(True;x;z)=x; IF(False;x;z) = z; s=IF(b;x;z)"
Тип доступа шаблона: [наследуемый].
eq: real x real -> bool.
Введем шаблон [@h === @r]
с переменными:
[h,r: real]
и переменной результата "v: boolean";
Пояснения: "равенство чисел"
Условие применения шаблона:
""
Действие шаблона:
"v={h==r}"
Тип доступа шаблона: [наследуемый].
NOT: boolean -> boolean.
/*
NOT(да) = нет. NOT(нет) = да.
/*Чему равно NOT(1==1)?*/
*/
Введем шаблон [@hс переменными:
[h,r: real]
и переменной результата "v: boolean";
Пояснения: "не равенство чисел"
Условие применения шаблона:
""
Действие шаблона:
"v=~(h===r)"
Тип доступа шаблона: [наследуемый].
Введем шаблон [@n ++]
с переменными:
[n: real]
и переменной результата "v: real";
Пояснения: "увеличить число на 1"
Условие применения шаблона:
""
Действие шаблона:
"v=n+1"
Тип доступа шаблона: [наследуемый].
/* Нельзя в real уменьшать на 1.
Введем шаблон [@h - -]
с переменными:
[h: real]
и переменной результата "v: real";
Пояснения: "уменьшить число на 1"
Условие применения шаблона:
""
Действие шаблона:
"v=h-1"
Тип доступа шаблона: [наследуемый].
*/
"x": real.
F = x*2++.
x=2.
Введем шаблон [g(@y)]
с переменными:
[y: real]
и переменной результата "res: real";
Пояснения: "функция"
Условие применения шаблона:
""
Действие шаблона:
"res = y*2+4"
Тип доступа шаблона: [наследуемый].