58 (1006278)
Текст из файла
Префиксная форма записи и списковая структура программы и данных на языке ЛИСП. Базовые принципы обработки списков на ЛИСПе.
-
Префиксная форма записи.
Существуют три вида записи выражений:
-
инфиксная форма, в которой оператор расположен между операндами (например, "а + b");
-
постфиксная форма, в которой оператор расположен после операндов ("а b + ");
-
префиксная форма, в которой оператор расположен перед операндами ("+ а b").
Постфиксная и префиксная формы образуют т.н. польскую форму записи. Польская форма удобна, прежде всего, тем, что в ней отсутствуют скобки.
Пример: + 1 2 3 = 6 <=> 1 + 2 + 3 = 6
-
Списковая структура программы и данных на языке ЛИСП.
Программы и данные Лиспа существуют в форме i символьных выражений, которые хранятся в виде "списковых" структур. Употребляются два вида объектов: атомы и списки. Атомы ? это символы, применяемые для идентификации объектов, которые могут быть числовыми или символьными. Список ? это последовательность (возможно, пустая) элементов, заключенных в круглые скобки, каждый из которых является либо атомом, либо списком.
Характерная особенность языка Лисп состоит в том, что и программы, и данные, которые они обрабатывают, имеют одинаковую структуру.
{см. http://www.eduhmao.ru/portal/hmao/CDMuseum/museum/SOFT/lisp.htm }
-
Базовые принципы обработки списков на ЛИСПе.
Для манипулирования списками употребляются так называемые списочные примитивы (примитивные функции):
Название | Обозначение | Пример | Результат примера |
Выделение головы списка (head) | CAR <список> | (CAR ‘(1 2 3)) | 1 |
Выделение хвоста списка (tail) | CDR <список> | (CDR ‘(a b)) | (b) – список, не элемент |
Различные сочетания CAR & CDR позволят выделить любой элемент из списка | C…….R <список> | ( | 4. Идём с конца: D: хвост (2 3 4 5 6 7); D: хвост (3 4 5 6 7); D: хвост (4 5 6 7); A: голова 4. |
Слияние двух списков | APPEND <список1> <список2> | (APPEND ‘(1 2) ‘(3 4 5)) | (1 2 3 4 5) |
Добавление элемента в голову списка | CONS <элемент(атом)> <список> | (CONS ‘a ‘(b c)) (CONS ‘(1 2) ‘(3 4 5)) | (a b c) ((1 2) 3 4 5) |
Список, состоящий из последнего элемента | LAST <список> | (LAST ‘(5 6 7)) | (7) – список |
Удаляет вхождения S-выражений из списка заданное число раз | DELETE <Sвыражение> <список> [<число>] | (DELETE ‘a ‘(a b a c)) (DELETE ‘a ‘(a b a c) 1) | (b c) (b a c) |
Обращение элементов верхнего уровня списка | REVERSE <список> | (REVERSE ‘((a b) c d)) | (d c (a b)) |
Длина (количество элементов) списка верхнего уровня | LENGTH <список> | (LENGTH ‘((1 2) 3 4)) (LENGTH ‘(a b c)) | 3 3 |
Превращение атома в список символов (Например: слово разбиваем на буквы) | EXPLODE <атом> | (EXPLODE ‘true) | (t r u e) |
Cоставление атома из списка символов | IMPLODE <список атомов(символов)> | (IMPLODE ‘(F a l s e)) | False – атом!!! |
Соединение в список заданных элементов | LIST <элемент1> <элемент2> | (LIST ‘(a b) ‘(c d)) (LIST ‘a ‘b ‘c ‘d) | ((a b) (c d)) (a b c d ) |
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.