В 1978 году выдающийся американский
Примеры
Заметим, что в Рефале есть одна , которая названа функцией
В модели Бэкуса
Отметим также, что под влиянием этой новой для языков программирования идеи
В модели Бэкуса определяются 2
и 2 структурных типа:
T и F, а также пустой
<x1,..., xn>,
где $$x_{i} (i \in \overline {1,n})$$ - либо объект, либо <?>. Примеры объектов: 15, <AB, 1, 2>, <a, < <B, C>, D> >.
f - X - f:X - результат применения функции к объекту. Примеры:
+ (функция сложения) +:<1, 2> = 3.1 (функция выбора 1-го элемента) 1:<A, B, C> = A.2 (функция выбора 2-го элемента) 2:<A, B, C> = B.t1 (функция хвоста кортежа) t1:<A, B, C> = <B, C>.f:<?> = <?> ). Результат применения функции к объекту является неопределенностью ( f:X = <?> ) в следующих случаях:
<?> ;":" (зацикливание).Для описания
P1 -> E1,..., Pn -> En, T -> E.
Здесь $$P_{i} (i \in \overline {1,n})$$ - логические условия, а $$E_{i} (i \in \overline {1,n})$$ - выражения. T является тождественно истинным условием) и значение соответствующего выражения (после стрелки с этим условием) становится значением всего выражения. Будем
P1 -> E1;...; Pn -> En; E.
При описании функции будем использовать двойное двоеточие как слово "есть" для отделения описываемой функции и описания при помощи выражения Маккарти:
f:X :: <описание функции>.
Тождественная функция
id:X :: X
Логические функции
Атом
$$атом : X :: (X - это \ атом) \to T; X \ne <?> \to F; <?>$$Пусто ( null )
Число ( numb )
Равенство ( eq )
Неравенство ( ne )
Арифметические операции и отношения
Cумма ( + )
+ : X :: X=<y,z> numb(y) numb(z) -> y+z; <?>
Разность ( - )
- : X :: X=<y,z> numb(y) numb(z) -> y-z; <?>
Произведение ( x )
x : X :: X=<y,z> numb(y) numb(z) -> y*z; <?>
Частное ( $$\div$$ )
$$\div : X :: X=<y,z> \vee numb(y) numb(z) \to y/z; <?>$$Больше, чем ( gt )
gt:X :: X=<y,z> y>z -> T;
X=<y,z> y<=z -> F;
<?>
Больше или равно ( )
ge:X :: X=<y,z> y>=z -> T;
X=<y,z> y<z -> F;
<?>
Меньше, чем ( lt )
lt:X :: X=<y,z> y<z -> T;
X=<y,z> y>=z -> F;
<?>
Меньше или равно ( le )
le:X :: X=<y,z> y<=z -> T;
X=<y,z> y>z -> F;
<?>
Функции кортежей
Селекторы
1:X :: X=<x1,..., xn> -> x1; <?> s:X :: X=<x1,..., xn> n >= s -> xs; <?>
Например,
5 5:<t1, t2,t3, t4, t5, e> = t5, 5 5:<e> = <?>.
Хвост
t1:X :: X=<x1> -> <>;
X=<x1,..., xn> n >= 2 -> <x2,..., xn>;
<?>
Расписать левым - distl )
distl : X :: X=<y,<> > -> ;
X=<y, <z1,..., zn>>->
<<y,z1>,..., <y,zn>>;
<?>
Расписать правым - distr )
distr : X :: X=<<>,y> -> <>;
X=<<z1,..., zn>, y>->
<<z1, y>,..., <zn, y>>;
<?>
Присоединить слева - 1-й аргумент ко 2-му ( appendl )
appendl : X :: X=<y, <>> -> <y>;
X=<y, <z1,..., zn>> -> <y, z1,..., zn>;
<?>
Присоединить справа - 2-й аргумент к 1-му ( appendr )
appendr : X :: X=<<>, y> -> <y>;
X=<z1,..., zn>, y> -> <z1,..., zn, y>;
<?>
Следующие две
Длина кортежа ( long )
long : X :: X=<> -> 0; X=<x1,..., xn> -> n; <?>
Транспонирование матрицы ( trans )
trans : X :: X=<<x11,..., x1m>,
<x21,..., x2m>,
...
<xn1,..., xnm>> ->
<<x11,..., xn1>,
<x12,..., xn2>,
...
<x1m,..., xnm>>;
<?>
Матрица представляется в виде кортежа
Конъюнкция ( )
Дизъюнкция ( $$\vee$$ )
$$\vee : X :: X=<y, z> \vee (y=T \vee z=T) \to T; \\ X=<y, z> \vee y=F \vee z=F) \to F; \\ <?>$$Отрицание ( not )
not : X :: X=T -> F;
X=F -> T;
<?>
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.