ЛИСП
Категория реферата: Рефераты по информатике, программированию
Теги реферата: изложение с элементами сочинения, эффективность диплом
Добавил(а) на сайт: Kirillov.
1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
Лабораторная работа № 1.
Тема: Ознакомительная работа в среде MuLisp. Базовые функции Лиспа.
Символы, свойства символов. Средст-ва языка для работы с числами.
Цель: Ознакомиться со средой MuLisp. Изучить базовые функции Лиспа, символы и их свойства, а также средства для работы с числами.
Основные положения программирования на Лиспе.
Загрузка системы, системный редактор.
Базовые функции языка. Символы, свойства символов.
Средства языка для работы с числами.
Задание к лабораторной работе.
Вопросы.
1. Основные положения программирования на Лиспе.
Лисп ориентирован на обработку нечисловых задач. Он основан на алгебре
списочных структур, лямбда-исчислении и теории рекурсий.
Язык имеет функциональную направленность, т. е. любое предложение
заключенное в скобки, введенное вне редактора считается функцией и
выполняется сразу после нажатия «ENTER».
Чтобы предотвратить вычисление значения выражения, нужно перед этим
выражением поставить апостроф «’». Апостроф перед выражением - это на самом
деле сокращение лисповской функции QUOTE.
В Лиспе формы представления программы и обрабатываемых ею данных одинаковы.
И то и другое представляется списочной структурой имеющей одинаковую форму.
Типы данных не связаны с именами объектов данных, а сопровождают сами
объекты. Переменные могут в различные моменты времени представлять
различные объекты.
Основные типы данных языка - атомы и списки.
Атомы - это символы и числа.
Список - упорядоченная последовательность, элементами которой
являются атомы либо списки. Списки заключаются в круглые скобки, элементы
списка разделяются пробелами. Несколько пробелов между символами
эквивалентны одному пробелу. Первый элемент списка называется «головой», а
остаток , т. е. список без первого элемента, называется «хвостом. Список в
котором нет ни одного элемента, называется пустым и обозначается «()» либо
NIL.
Символ - это имя, состоящее из букв, цифр и специальных знаков, которое
обозначает какой-нибудь предмет, объект, действие. В Лиспе символы
обозначают числа, другие символы или более сложные структуры, программы
(функции) и другие лисповские объекты. Символы могут состоять как из
прописных, так и из строчных букв, хотя в большинстве Лисп-систем, как и в
описываемой здесь версии MuLisp, прописные и строчные буквы отождествляются
и представляются прописными буквами.
Символы T и NIL имеют в Лиспе специальное назначение: T - обозначает
логическое значение истина, а NIL - логическое значение ложь.
При генерации или считывании MuLispом нового символа, за его величину
принимается он сам. Такая ссылка символа на себя называется автоссылкой.
Создание программы на Лиспе - написание некоторой функции, возможно
сложной, при вычислении использующей другие функции либо рекурсивно саму
себя. На практике, написание программ осуществляется записью в файл
определений функций, данных и других объектов с помощью имеющегося в
программном окружении редактора. Файлу присваивается расширение LSP.
Необязательно делать отступы в строках выражений, входящих в ваши функции.
На самом деле, по желанию, вы можете написать всю программу в одну
строку. Однако отступы в строках и пустые строки делают структуру программы
понятней и более читабельней. Так же выравнивание начальных и конечных
скобок основных выражений помогают убедиться в балансе ваших скобок.
Определения функций могут храниться в файлах и загружаться используя
функцию LOAD:
(load )
Эта функция загружает файл выражений и выполняет эти выражения.
- это строковая константа, которая представляет собой имя
файла без расширения (подразумевается расширение ".lsp"). Если
операция успешно завершена, LOAD возвращает имя последней функции, определенной в файле. Если операция не выполнена, LOAD возвращает имя файла
в виде строкового выражения.
Функция LOAD не может вызываться из другой функции LISP. Она
должна вызываться непосредственно с клавиатуры, в то время как ни одна
другая функция LISP не находится в процессе выполнения.
Интерпретатор считает файлами, содержащими исходные тексты программ на
Лиспе, все файлы, имеющие расширение LSP.
В связи с тем, что диалект MuLisp включает в себя сравнительно небольшой
набор базовых функций, указанная Лисп-система обеспечивается библиотеками
Лисп-функций, дополняющими базовый набор функциями, имеющимися в Common
Lisp-е и других диалектах(Common.lsp, Array.lsp и т. д. ...).
2. Загрузка системы. Системный редактор.
Запуск системы MuLisp с расширением Common.lsp осуществляется командой:
MuLisp87.com Common.lsp.
После нескольких секунд загрузки на экране дисплея появится сообщение:
MuLisp-87 IBM PC MS-DOS Version 6.01 (11/05/87)
(C ) Copyright SoftWarehouse, Inc., 1983, 1985, 1986, 1987.
All rights Reserved Worldwide.
; Loading C:Common.lsp
После чего появится знак $, означающий приглашение системы к работе.
Для загрузки системного редактора необходимо набрать следующую команду:
(LOAD edit.lsp)
Системный редактор начинает работать. Он чистит экран рисует рамку и выдает на экран свое меню:
Alpha, Block, Delete, Jump, List, Options, Print, Quit, Replace,
Search, Transfer, Undelete и Window.
Затем система ждет, пока пользователь не выберет одну из опций. Для
этого необходимо установить курсор на выбранной опции и нажать клавишу
«Enter». Переход от одной опции к другой производится с помощью клавиши
«Tab».
Alpha: включение режима редактирования.
Block: работа с блоком. Выделение, копирование, удаление, перенос и др.
Delete: удаление блока, символа, слова, строки.
Jump: переход в начало или конец текста программы, вверх-вниз страницы.
List: работа со списком. Удаление, переход к предыдущему, последующему.
Options: работа с цветами, монитором, звуком.
Print: печать текста программы.
Quit: выход из системы.
Replace: изменение строки.
Search: поиск строки. Причем строчные и прописные буквы различаются.
Transfer: работа с файлами. Запись, нахождение, объединение, удаление.
Undelete: восстановление.
Window: работа с окнами. Открыть, закрыть, перейти к другому и т. д.
3. Базовые функции языка.
Функции разбора.
Рекомендуем скачать другие рефераты по теме: реферат личность, курсовая работа по менеджменту.
1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата