Разработка фрагментов оболочки экспертной системы — страница 9

  • Просмотров 4752
  • Скачиваний 359
  • Размер файла 32
    Кб

создаются и открываются с помощью MAKE-WINDOW; их атрибуты доступны с помощью WINDOW-GET-ATTRIBUTE и модифицируются WINDOW-SET-ATTRIBUTE! Окна до тех пор не выводятся на экран, пока область для них не очистится с помощью WINDOW-CLEAR. WINDOW-DELETE очищает область экрана, занятого окном. WINDOW-POPUP и WINDOW-POPUP-DELETE выдают несколько перекрывающихся окон. Позиция окна на экране и размер его строк и столбцов устанавливаются WINDOW-GET-POSITION и WINDOW-GET-SIZE, соответственно; модификация

выполняется WINDOW-SET-POSITION! и WINDOW-SET-SIZE!. Модификация позиции и размеров окна может быть выполнена перед тем, как окно изначально выводится на экран по WINDOW-CLEAR. Позиция курсора устанавливается с помощью WINDOW-GET-CURSOR и изменяется WINDOW-SET-CURSOR!. Курсор появляется на экране только тогда, когда ввод производится с клавиатуры. FLUSH-INPUT Процедура FLUSH-INPUT чистит буфер вводного порта. Формат (FLUSH-INPUT {port}) Параметр port- вводной порт (необязательный

аргумент). Объяснение: FLUSH-INPUT отбрасывает любые литеры и включает следующую "последовательность конца строки" (end-of-line) в буфер ввода, который связан с port, если он задан, или с текущим вводным портом. Выдается неопределенное значение.   LAST-PAIR Возвращает последнюю пару непустого списка. LIST Композиции пар, связанных через их cdr-компоненты, называются списками. Пустой список, обозначаемый как (), также является списком. Когда

цепочка cdr-связей в паре оканчивается пустым списком, тогда пара называется "собственным списком". Процедура LIST обеспечивает такой список, состоящий из значений его аргументов. LIST* обеспечивает похожий список, но имеющий значение его последнего аргумента в cdr-компоненте последней пары цепочки. MEMBER MEMBER, MEMQ, MEMV Процедура Данные процедуры выдают подсписок, начинающийся с некоторого специфического объекта в собственном

списке. Формат (MEMBER оbj list) (MEMQ оbj list) (MEMV оbj list) Параметры obj - любой объект в "ЛИСП-МИКРО"; list - собственный список Объяснение: Данные процедуры ищут первое появление obj в list, используя EQVAL? для сравнения (в случае MEMBER); при MEMQ используется EQ?; при MEMV - EQV? Если obj найден, подсписок, содержащий obj как первый элемент, выдается как результат. Если obj не найден в list, выдается "ложь". DO Специальное выражение DO обеспечивает наиболее общую

возможность вычисления итераций. Формат (DO ((var (init {step}})...)(test exp ...) stmt ...) Параметры var - любой идентификатор "ЛИСП-МИКРО"; init - любые выражения в "ЛИСП-МИКРО". Вычисляется каждое init; результат используется как значение соответствующего var. Этот аргумент необязательный; step... - любые выражения "ЛИСП-МИКРО". Вычисляется каждое init; результат используется как значение соответствующего var для следующей итерации. Этот