Редактирование: Парадигмы программирования, 08 лекция (от 12 ноября)

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.

Текущая версия Ваш текст
Строка 1: Строка 1:
-
* '''Аудиозапись:''' http://esyr.org/lections/audio/paradigms_2009_winter/paradigms_09_11_12.manmachine.ogg
 
- 
Отсечение --- отсекает все развилки выше.
Отсечение --- отсекает все развилки выше.
-
Отсечение --- чиcто процедурная штука.
+
Отсечение --- чито процедурная штука.
-
Отсечение позв. с одной стороны экономить время. С другой стороны... отсечение, в принципе, что такое: if then else, ... с другой стороны, отсечение штука нехорошая, поскольку убивает реверсивность предикатов --- не позв. исп. функция в разных предикатах. Вот, у нас был предикат member:
+
Отсечение позв. с одной стороны эконопить время. С другой стороны... отсечение, в принципе, что такое: if then else, ... с другой стороны, отсечение штука нехорошая, поскольку убивает реверсивность предикатов --- не позв. исп. функция в разных предикатах. Вот, у нас был предикат member:
member(E, [E|_]).
member(E, [E|_]).
Строка 82: Строка 80:
...
...
-
Если not появлися в предикате, то реверсия он если и будет, то плохо и/или неправильно.
+
Если not появлися в предикате, то реверсится он если и будет, то плохо и/или неправильно.
Что есть ещё: =\=, неравенство. Означает, что два терма неунифицируются.
Что есть ещё: =\=, неравенство. Означает, что два терма неунифицируются.
Строка 205: Строка 203:
* assertZ(F) --- добавить факт F в БД.
* assertZ(F) --- добавить факт F в БД.
В чём разница? Факты в предикате могут стоять в разном порядке имеет значение. assertA добавляет в начало, assertZ --- в конец, assert --- куда попало.
В чём разница? Факты в предикате могут стоять в разном порядке имеет значение. assertA добавляет в начало, assertZ --- в конец, assert --- куда попало.
-
* retract(F) --- добавлять куда попало.
+
* retract(F) --- добавлять куда попало.
БД это менять позволяет. Позволяет помнить что-то. Позволяет прочитать факты из файла. Можно сделать предикат, пишущий факты в файл. Можно таким обр. с помощью пролога сделать информационную систему. Понятно, что она значительно медленнее специализир. СУБД, но. возможно, быстрее самописных вещей.
БД это менять позволяет. Позволяет помнить что-то. Позволяет прочитать факты из файла. Можно сделать предикат, пишущий факты в файл. Можно таким обр. с помощью пролога сделать информационную систему. Понятно, что она значительно медленнее специализир. СУБД, но. возможно, быстрее самописных вещей.
Строка 212: Строка 210:
След. лекция будет посв. языку рефал.
След. лекция будет посв. языку рефал.
- 
-
<gallery widths="240" heights="150" perrow="3">
 
-
Image:Paradigm 091112 01.jpg|del_any, del_all.
 
-
Image:Paradigm 091112 02.jpg|del_all, вариант с отсечением.
 
-
Image:Paradigm 091112 03.jpg|Реверсивность append.
 
-
Image:Paradigm 091112 04.jpg|Реверсивность append.
 
-
Image:Paradigm 091112 05.jpg|Гипотеза о замкнутости универсума в Прологе.
 
-
Image:Paradigm 091112 06.jpg|not.
 
-
Image:Paradigm 091112 07.jpg|Вычисление длины списка.
 
-
Image:Paradigm 091112 08.jpg|Вычисление длины списка: результат вызова.
 
-
Image:Paradigm 091112 09.jpg|Вычисление длины списка, исправленная версия.
 
-
Image:Paradigm 091112 10.jpg|Вычисление длины списка, исправленная версия: результат вызова.
 
-
Image:Paradigm 091112 11.jpg|ten, первый вариант.
 
-
Image:Paradigm 091112 12.jpg|naturals.
 
-
Image:Paradigm 091112 13.jpg|ten, второй вариант.
 
-
Image:Paradigm 091112 14.jpg|ten, финальный вариант.
 
-
Image:Paradigm 091112 15.jpg|between.
 
-
Image:Paradigm 091112 16.jpg|queens, часть первая.
 
-
Image:Paradigm 091112 17.jpg|queens, часть вторая.
 
-
Image:Paradigm 091112 18.jpg|queens, часть третья.
 
-
Image:Paradigm 091112 19.jpg|queens, часть четвёртая.
 
-
Image:Paradigm 091112 20.jpg|queens.
 
-
Image:Paradigm 091112 21.jpg|assert, retract.
 
-
</gallery>
 
{{Парадигмы программирования}}
{{Парадигмы программирования}}
{{Lection-stub}}
{{Lection-stub}}

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. eSyr's_wiki:Авторское право).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Личные инструменты
Разделы