Название: Лісп мова функціонального програмування
Вид работы: реферат
Рубрика: Информатика
Размер файла: 15.6 Kb
Скачать файл: referat.me-132035.docx
Краткое описание работы: Реферат на тему: Лісп – мова функціонального програмування 1. Місце Ліспу у класифікації мов програмування За однією з класифікацій мови програмування діляться на
Лісп мова функціонального програмування
Реферат на тему:
Лісп – мова функціонального програмування
1. Місце Ліспу у класифікації мов програмування
За однією з класифікацій мови програмування діляться на процедурні , які також називаються операторними або імперативними , та декларативні мови. Більшість мов, які сьогодні використовуються – Бейсік, Фортран, Паскаль, Сі, відносяться до процедурних мов. До класу декларативних мов відносяться функціональні або апплікативні – Лісп, Лого, та логічні мови, відомим представником якого є Пролог. На практиці мови програмування не є чисто процедурними, функціональними чи логічними. На процедурній мові можна написати функціональну програму і навпаки.
Процедурна програма складається з послідовності операторів та виразів, які керують її виконанням. Типичними операторами є оператори присвоєння, ввода-виводу, керування та циклу.
Функціональна програма складається з сукупності визначених функцій. Функції, в свою чергу, можуть викликати інші функції. Обчислення починається з виклику деякої функції. Чисте функціональне програмування не має присвоєнь та засобів передачі керування. Повторні обчислення здійснюються за допомогою рекурсії, яка є основним засобом функціонального програмування.
Далі в якості інтерпретатора мови Лісп будемо використовувати muLisp. muLisp працює на комп’ютері з операційною системою MS-DOS або PC-DOS. Програма mulisp.com є інтерпретатором мови програмування muLisp, яка має потужні функціональні засоби для обробки структур даних, створених користувачем. muLisp є символьною мовою програмування, яка призначена для обробки списків. Слово Lisp виникло з перших літер фрази Lis t P rocessing.
Робота з Ліспом нагадує роботу з карманним калькулятором: користувач вводить вираз (він обов’язково повинен закінчуватися символом <RETURN> та мати збалансовану кількість дужок), який читає машина, потім обчислює (інтерпретує), та видає результат. Цей процес введення-читання-обчислення-видачі результату буде відбуватися в циклі доти, доки користувач не введе команду (SYSTEM), яка завершує роботу з muLisp і передає керування операційній системі.
2. Особливості мови програмування Лісп
1) Більш ніж 260 функцій мови Лісп визначено на машинній мові для більшої ефективності виконання програм. Ці функції забезпечують побудову структур даних, включаючи повний набір перемикачів, конструкторів, розпознавачів та порівнянь.
2) Цілі числа нескінченно великої точності та раціональна арифметика, віизначені у кожній проектованій основній системі числення від 2 до 36, та підтримка повної множини числових функцій.
3) Колектор, який збирає мусор, здійснює автоматичне динамічне керування пам’ятю в усіх областях даних. Час роботи колектора як правило, менша за секунду.
4) Динамічний перерозподіл границь областей даних відбувається автоматично при найбільш ефективному використанні усіх доступних ресурсів пам’яті ( максимально до 512 К ).
5) До конструкцій контролю відносяться функції COND, LOOP, IF, PROGN та RETURN. Ці конструкції дозволяють створювати програми у простому та елегантному Лісп - стилі.
6) Функції CATCH, THROW та UNWIND-PROTECT забезпечують структурний загальний механізм выходів, який значно спрощує контроль помилок та виняткових ситуацій у програмах користувача.
7) Повна множина первинно визначених функцій відображення та предикатів відображення може використовуватися для тестування елементів списків.
8) Функції Ліспу можуть бути визначені або як обчислювані (EVAL) або необчислювані (NORMAL), або як розгорнуті (SPRED) та нерозгорнуті (NOSPRED). Макрос, який визначається користувачем, може характеризуватися або часом компіляції, або часом виконання.
9) Відладка програм полегшується використанням резидентного дисплейно-орієнтованого редактора Ліспу та пакету відладки, який включає в себе засоби трасування, преривання та сбору статистики.
10) Послідовний та випадковий методи доступу, послідовний файл вводу-виводу повністю підтримуються системою. Окрім того, можуть бути створені файли образу пам’яті для збереження середовища Ліспу, з метою можливості його перезагрузки у довільний час.
11) Відносно маленький розмір Ліспу дає можливість залишити ділянку пам’яті ЕОМ вільною, достатньою для структур даних користувача. Мінімально система займе не меньш ніж 128 К пам’яті, хоча Лісп може використовувати і до 512 К.
12) Швидкість виконання програм досягається завдяки використанню такої технології, як малі зв’язки змінних, адресні структури даних та замкнені простори вказівників.
13) Визначення функцій автоматично переводяться на "чистий" код або D-код. Процес зворотнього переводу відбувається також автоматично після повернення визначення.
14) Можливості обробки тексту та мови були збільшені шляхом додання ефективних функцій рядків.
15) Написання звичайних шаблонів полегшено за допомогою таблиці сканера Ліспу.
16) Функція сортування SORT використовує надійне, стабільне сортування списків, яке вимагає кількість часу пропорційно nlogn, де n - довжина списку, що сортується.
17) muLISP-символи можуть бути зв’язані, а область пам’яті може бути розподілена для підпрограм на машинній мові.
18) muLISP може бути тимчасово призупинено для того, щоб стартувати який-небудь інший процес, наприклад, редактор текстів, або навіть іншу версію muLISP. Коли цей процес припинає своє виконання, muLISP відновлює роботу.
Похожие работы
-
Стиль програмування
Реферат на тему: План Стиль програмування 2. Правила написання коментарів. 3. Використання пробілів та порожніх рядків. 4. Використання табуляції.
-
Задачі нелінійного програмування
У задачах лінійного програмування, які розглядалися раніше, всі невідомі входили як до системи обмежень, так і до цільової функції, у першому степені. Тому ці задачі були досить простими у постановці і за методами розв'язування.
-
Програмування лінійних алгоритмів Опис синтаксису мови основні оператори
Лаболаторна робота №1 Тема: Програмування лінійних алгоритмів. Мета:Виробити вміння і навички роботи в середовищі Turbo Pascal. Виконання на ПК найпростіших задач на мові Паскаль.
-
Задачі нелінійного програмування. Деякі основні методи їх розвязування та аналізу
Реферат на тему: Задачі нелінійного програмування. Деякі основні методи їх розв’язування та аналізу. План. 1. Метод Франка-Вулфа. 2. Приклади розв’язування задач.
-
Мови та системи програмування
ІНФОРМАТИКА Тема: Мови та системи програмування Однією з найпоширеніших мов з програмування серед сучасних мов високого рівня, що використовуються в ПК, є мова Visual BASIC.
-
Розвязання інженерних задач мовою програмування VBA
РОЗВ'ЯЗАННЯ ІНЖЕНЕРНИХ ЗАДАЧ МОВОЮ ПРОГРАМУВАННЯ Зміст 1. Програмування алгоритмів циклічної структури із заданим числом повторень 2. Алгоритми роботи з одновимірними масивами
-
Робота в системі програмування
Реферат з інформатики на тему: Робота в системі програмування Від складання програмістом до виконання комп'ютером програма проходить досить тривалий шлях спеціальними службовими програмами, що складають систему автоматизації програмування. З часом слово “автоматизація” випало із наведеного словосполучення, в результаті чого воно перетворилося на систему програмування.
-
Анімація в Delphi 7 0
КУРСОВИЙ ПРОЕКТ з дисципліни Основи програмування та алгоритмічних мов На тему „Анімація в Delphi 7 ” Зміст 1.Вступ 2.Характеристика предметної області
-
Паскаль Огляд основних понять
ПАСКАЛЬ ОГЛЯД ОСНОВНИХ ПОНЯТЬ Відшукай усьому початок, і ти багато чого зрозумієш. Козьма Прутков Спочатку спробуємо розібратися в основних поняттях програмування.
-
Структурне програмування
Реферат на тему: Структурне програмування План Структурне програмування Принцип модульності Процедурна абстракція. Модулі в Turbo Pascal. Література