Логическое программирование


Логическое программирование

ВВЕДЕНИЕ В ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
История

Логический вывод
Применение метода резолюций для ответов на вопросы
Особенности языка Пролог
Пример Пролог-программы: родственные отношения

Фразы Хорна как средство представления знания
Алгоритм работы интерпретатора Пролога
Порядок предложений и целей
Этот вызов приводит к бесконечному циклу
Вариант 4
Декларативная и процедурная семантики
Арифметика в Прологе

Структуры
Списки
Примеры использования структур
Ограничение перебора
Вычисление максимума

Процедура проверки принадлежности списку, дающая единственное решение
Добавление элемента списку, если он отсутствует (добавление без дублирования)
Негативная информация
Предположение о замкнутости мира
Тогда и только тогда, когда
Отрицание в явной форме
Преимущества отсечения
Недостатки отсечения
Отрицание определяется через отсечение
Повторение и откат

Повтор, определяемый пользователем
Эквивалентность программ и данных
Предположение об открытости мира
Доступ к программам и обработка программ
Загрузка базы данных (файла с программой)
Информирует систему, что указанный
Программирование второго порядка

Мутанты
Олимпиадная задача
Рекомендуемая литература

Фундаментальные основы хакерства

Книга, которую вы сейчас держите в руках, открывает двери в удивительный мир защитных механизмов, рассказывая о том, как создаются и вскрываются защиты. Она адресована всем, кто любит захватывающие дух головоломки. Всем, кто проводит свободное (и несвободное) время за копанием в недрах программ и операционной системы. Наконец, всем, кто по роду своей деятельности занимается (постоянно и/или эпизодически) написанием защит и хочет узнать как грамотно и гарантированно противостоять вездесущим хакерам.
Настоящий том посвящен базовым основам хакерства – технике работы с отладчиком и дизассемблером. Подробно описаны приемы идентификации и реконструкции ключевых структур исходного языка – функций (в т.ч. виртуальных), локальных и глобальных переменных, ветвлений, циклов, объектов и их иерархий, математических операторов и т.д.

Кто такие хакеры
Идентификация объектов, структур и массивов
Идентификация констант и смещений
Неточности, недоговорки

Содержание раздела