Реферат на тему:
Лісп – мова функціонального програмування
1. Місце Ліспу у класифікації мов програмування
За однією з класифікацій мови програмування діляться на процедурні, які також називаються операторними або імперативними, та декларативні мови. Більшість мов, які сьогодні використовуються – Бейсік, Фортран, Паскаль, Сі, відносяться до процедурних мов. До класу декларативних мов відносяться функціональні або апплікативні – Лісп, Лого, та логічні мови, відомим представником якого є Пролог. На практиці мови програмування не є чисто процедурними, функціональними чи логічними. На процедурній мові можна написати функціональну програму і навпаки.
Процедурна програма складається з послідовності операторів та виразів, які керують її виконанням. Типичними операторами є оператори присвоєння, ввода-виводу, керування та циклу.
Функціональна програма складається з сукупності визначених функцій. Функції, в свою чергу, можуть викликати інші функції. Обчислення починається з виклику деякої функції. Чисте функціональне програмування не має присвоєнь та засобів передачі керування. Повторні обчислення здійснюються за допомогою рекурсії, яка є основним засобом функціонального програмування.
Далі в якості інтерпретатора мови Лісп будемо використовувати muLisp. muLisp працює на комп’ютері з операційною системою MS-DOS або PC-DOS. Програма mulisp є інтерпретатором мови програмування muLisp, яка має потужні функціональні засоби для обробки структур даних, створених користувачем. muLisp є символьною мовою програмування, яка призначена для обробки списків. Слово Lisp виникло з перших літер фрази List Processing.
Робота з Ліспом нагадує роботу з карманним калькулятором: користувач вводить вираз (він обов’язково повинен закінчуватися символом <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 відновлює роботу.
Другие работы по теме:
Налагоджування та програмування промислового робота МП-9С
Основні системи у складі промислового робота: виконавча (рушійна), керуюча (інтелектна), інформаційно-вимірювальна (сенсорна) та система зв'язку. Налагоджування та програмування робота, основні режими роботи. Розробка програми для виконання операцій.
Числові функції
Реферат на тему: Числові функції. Числові функції виконують основні математичні операції над цілими та дробовими числами. Користувач може обрати для роботи точну або наближену раціональну арифметику. Для точної раціональної арифметики розмір цілих чисел, чисельників та знаменників обмежений приблизно до 25000 десяткових знаків.
Цілочислове програмування
Постановка задачі Існує доволі широкий клас задач математичного програмування, в економіко – математичних моделях яких одна або кілька змінних мають набувати цілих значень, наприклад, коли йдеться про кількість верстатів у цеху, тобто коли така вимога випливає з особливостей технології виробництва.
Автоматизований аналіз злочинності по областям
Розробка програми "Злочин", що призначена для збереження та перегляду, а також автоматичного аналізу всієї інформації про злочинність. Порядок і основні принципи формування структури даних, постановка задачі. Написання та лістинг розробленої програми.
Практичні аспекти створення програмного забезпечення
Сучасні засоби обчислювальної техніки, їх внесок в розробку програмного забезпечення. Порівняльний аналіз мов програмування. Методика створення програми для знайдення оптимального розподілу задачі по мережі, таким чином, щоб час розв’язку був мінімальним.
Контроль доступу до вибраних файлів з веденням протоколу
Ведення протоколу роботи комп’ютера. Розробка програми для створення списку розширень файлів і занесення часу і дати доступу до них на мові програмування Асемблер. Виклик переривання 21h код-функції та занесення до регістрів. Алгоритм та лістинг програми.
Створення програми "Шаховий кінь"
Створення програми "Шаховий кінь" в системі програмування Turbo Pascal. Генерування відповідно до заданих початкових кординат маршруту руху коня. Алгоритм задачі: початок, виведення зображення та пошук. Реалізація програми та демонтрація її роботи.
Аналіз методів введення обмежених обсягів текстової інформації
Характеристика дослідження методу введення обмежених обсягів текстової інформації в ЕОМ. Аналіз механізму розробки програми, що передбачає можливість запису текстової інформації до файлу, а також завантаження тексту з файлу. Порядок роботи з програмою.
Створення програми "Залізничний вузол"
Використання мови програмування Turbo Pascal, алгоритмів та графічних примітивів модуля Graph. Розробка та реалізація програми для сортування вагонів з довільного порядку в порядок через один. Присвоєння початкових значень та сортувальний алгоритм.
Автоматизований аналіз злочинності
Створення програми "Аналізатор злочинності в регіоні". Структура зберігаючих даних. Неформальна постановка задачі. Алгоритм основної програми. Введення і збереження інформації. Можливість перегляду всіх існуючих документів. Вихідний код програми.
Створення програми гри "Шибениця"
Алгоритмічна мова програмування універсального призначення Turbo Pascal. Розробка і створення програми для гри "Шибениця". Алгоритм функціонування программи, блок-схема алгоритму. Використання додаткових модулів Graph та Crt у процессі створення програми.
Програма "Screen Saver" (зберігач екрану)
Файл ssaver - резидентна програма, яка має призначення вимкнення екрану при тривалій перерві в роботі з комп’ютером і оберігає екран від передчасної втрати чіткості та кольоровості зображення. Алгоритм програми, функціонування та язик програмування.
Мови та системи програмування
ІНФОРМАТИКА Тема: Мови та системи програмування Однією з найпоширеніших мов з програмування серед сучасних мов високого рівня, що використовуються в ПК, є мова Visual BASIC.
Робота в системі програмування
Реферат з інформатики на тему: Робота в системі програмування Від складання програмістом до виконання комп'ютером програма проходить досить тривалий шлях спеціальними службовими програмами, що складають систему автоматизації програмування. З часом слово “автоматизація” випало із наведеного словосполучення, в результаті чого воно перетворилося на систему програмування.
Середовище програмування DELPHI 2 0
СЕРЕДОВИЩЕ ПРОГРАМУВАННЯ DELPHI 2.0 Зміст Основні елементи середовища 1. Головне вікно 2. Вікно форми 3. Вікно коду 4. Інспектор об’єктів Управління файлами проекту Delphi
Анімація в Delphi 7 0
КУРСОВИЙ ПРОЕКТ з дисципліни Основи програмування та алгоритмічних мов На тему „Анімація в Delphi 7 ” Зміст 1.Вступ 2.Характеристика предметної області
Середовище програмування DELPHI 20
СЕРЕДОВИЩЕ ПРОГРАМУВАННЯ DELPHI 2.0 Зміст 5.Основні елементи середовища 2 a.1. Головне вікно 2 a.2. Вікно форми 2 a.3. Вікно коду 3 a.4. Інспектор об’єктів 3
Задачі нелінійного програмування
У задачах лінійного програмування, які розглядалися раніше, всі невідомі входили як до системи обмежень, так і до цільової функції, у першому степені. Тому ці задачі були досить простими у постановці і за методами розв'язування.
Структурне програмування
Реферат на тему: Структурне програмування План Структурне програмування Принцип модульності Процедурна абстракція. Модулі в Turbo Pascal. Література
Стиль програмування
Реферат на тему: План Стиль програмування 2. Правила написання коментарів. 3. Використання пробілів та порожніх рядків. 4. Використання табуляції.
Програмування на С і С Вказівник this
Реферат на тему: Розробником мови програмування Сі++ є Бьєрн Страуструп . У своїй роботі він спирався на досвід розробників мов Сімула, Модула 2, абстрактних типів даних. Основні роботи велися в дослідницькому центрі компанії Bell Labs.
Основи мови програмування Лісп
Реферат на тему: Основи мови програмування Лісп 1. Об’єкти Ліспу Будь-яка структура даних є об’єктом . Об’єкти можуть бути двох типів: прості складені
Мовне забезпечення САПР
: Мовне (лінгвістичне) забезпечення САПР. Призначення, структура та вимоги до мовного забезпечення. Мовне проектування. Мови програмування. 1. Мови забезпечення САПР включають в себе мови проектування та мови програмування і охоплює терміни, визначення, правила формалізації звичайної мов, методи стиснення та розширення.
Контекстно-вільні та LA-граматики
Реферат на тему: Контекстно-вільні та LA(1)-граматики 1. Контекстно-вільні граматики Контекстно-вільною , або КВ-граматикою , називається граматика, в якій ліві частини всіх продукцій є нетерміналами. Зміст терміну "контекстно-вільна" полягає в тім, що застосування продукції A w до ланцюжка uAv не залежить, тобто є
Мова Паскаль
КОЛОМИЙСЬКЕ ВПУ-17 РЕФЕРАТ НА ТЕМУ: МОВА ПАСКАЛЬ Виконав: учень групи : №13 Гаврищук Ігор Юрович Викладач: Остапчук С.М. КОЛОМИЯ 2002р. ВСТУП Мова ПАСКАЛЬ, затвердженна в якості стандартної в 1979р.
Проблемно-орієнтовані мови програмування
Курсова робота з курсу”” Зміст 1. Тема , мета та цілі курсової роботи . . . . . . . . . .3 2. Завдання на курсову роботу . . . . . . . . . . . . . . . . 4 3. Вступ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
Функції модифікатора
Реферат на тему: Функції модифікатора Функції модифікатора виконують переадресацію вказівників в структурах даних мови програмування Лісп. 1. RPLACA <об’єкт1> <об’єкт2>.
Математичне забезпечення САПР
Тема : . Загальні поняття та вимоги до МЗ. Способи отримання математичних моделей. Постановка задач оптимізації. Класифікація і характеристика методів оптимізації.