Программирование на языке Пролог для искусственного интеллекта




Глава 3. Списки, операторы, арифметика


    Глава 3. Списки, операторы, арифметика
    Глава 3 СПИСКИ, ОПЕРАТОРЫ, АРИФМЕТИКА В этой главе мы будем изучать специальные способы представления списков. Список - один из самых простых и полезных типов структур. Мы рассмотрим также некотор...
    Представление списков
    Представление списков Список - это простая структура данных, широко используемая в нечисловом программировании. Список - это последовательность, составленная из произвольного числа элементов, напр...
    Представление списка [энн, теннис, том, лыжи] в виде дерева.
    Представление списка [энн, теннис, том, лыжи] в виде дерева. Приведенный пример также напоминает вам о том, что элементами списка могут быть любые объекты, в частности тоже списки. На практике час...
    Некоторые операции над списками
    Некоторые операции над списками Списки можно применять для представления множеств, хотя и существует некоторое различие между этими понятиями: порядок элементов множества не существенен, в то врем...
    Конкатенация списков.
    Конкатенация списков. Составленную программу можно теперь использовать для сцепления заданных списков, например: ?- конк( [a, b, с], [1, 2, 3], L ). L = [a, b, c, 1, 2, 3] ?- конк( [а, [b, с], d],...
    Процедура принадлежит1 находит элемент в заданном
    Процедура принадлежит1 находит элемент в заданном списке, производя по нему последовательный поиск. В этом предложении сказано: X принадлежит L, если список L можно разбить на два списка таким обр...
    Упражнения
    Упражнения (а) Используя отношение конк , напишите цель, соответствующую вычеркиванию трех последних элементов списка L, результат - новый список L1. Указание: L - конкатенация L1 и трехэлементног...
    Отношения принадлежит и подсписок.
    Отношения принадлежит и подсписок . Его можно сформулировать так: S является подсписком L, если (1) L можно разбить на два списка L1 и L2 и (2) L2 можно разбить на два списка S и L3. Как мы видели...
    Один из способов построения перестановки списка [x | l].
    Один из способов построения перестановки списка [X | L] . Программа для отношения перестановка в свою очередь опять может основываться на рассмотрении двух случаев в зависимости от вида первого сп...
    Упражнения
    Упражнения Определите два предиката четнаядлина( Список) и нечетнаядлина( Список) таким образом, чтобы они были истинными, если их аргументом является список четной или нечетной длины соответствен...
    Операторная запись (нотация)
    Операторная запись (нотация) В математике мы привыкли записывать выражения в таком виде: 2*a + b*с где + и * - это операторы, а 2, а, b, с - аргументы. В частности, + и * называют инфиксными опера...
    Представление выражения 2*а+b*с в виде дерева.
    Представление выражения 2*а+b*с в виде дерева. Поскольку мы обычно предпочитаем записывать такие выражения в привычной инфиксной форме операторов, Пролог обеспечивает такое удобство. Поэтому наше...
    Две интерпретации выражения а-b-с...
    Две интерпретации выражения а-b-с в предположении, что '-' имеет приоритет 500. Если тип '-' есть yfx , то интерпретация 2 неверна, так как приоритет b-с не выше, чем приоритет '-'. Между 'х' и 'у...
    Множество предопределенных операторов.
    Множество предопределенных операторов . Для удобства некоторые операторы в пролог-системах определены заранее, чтобы ими можно было пользоваться сразу, без какого-либо определения их в программе....
    Интерпретация терма ~(а & в) <===> ~a v ~в
    Интерпретация терма ~(А В) === ~A v ~В Подытожим: Наглядность программы часто можно улучшить, использовав операторную нотацию. Операторы бывают инфиксные, префиксные и постфиксные. В принципе, с о...
    Упражнения
    Упражнения 3. 12. Если принять такие определения :- ор( 300, xfy, играет_в). :- ор( 200, xfy, и). то два следующих терма представляют собой синтаксически правильные объекты: Tepмl = джимми играет_...
    Арифметические действия
    Арифметические действия Пролог рассчитан главным образом на обработку символьной информации, при которой потребность в арифметических вычислениях относительно мала. Поэтому и средства для таких вы...
    Упражнения
    Упражнения 3. 16. Определите отношение mах( X, Y, Мах) так, чтобы Мах равнялось наибольшому из двух чисел Х и Y. Посмотреть ответ 3. 17. Определите предикат максспис( Список, Мах) так, чтобы Мах р...
    Резюме
    Резюме Список - часто используемая структура. Он либо пуст, либо состоит из головы и хвоста, который в свою очередь также является списком. Для списков в Прологе имеется специальная нотация. В дан...








Начало    



Книжный магазин