Головна Головна -> Реферати українською -> Інформатика, комп'ютери, програмування -> Функції виводу

Функції виводу

Назва:
Функції виводу
Тип:
Реферат
Мова:
Українська
Розмiр:
10,45 KB
Завантажень:
22
Оцінка:
 
поточна оцінка 5.0


Скачати цю роботу безкоштовно
Пролистати роботу: 1  2  3 
Функції виводу передають результат в поточний поток виводу (COS - Current Output Stream).

1. (PRIN1 obj). Передає символьне представлення об’єкту в COS і повертає об’єкт. Функція друкує символи використовуючи їх P-імена. Друк відбувається згідно з поточною системою числення. Змінна *PRINT-POINT* контролює максимальну кількість десяткових цифр для зображення на екрані дисплею.

2. (PRINC obj). Працює як і PRIN1, але P-імена виводяться з контрольними символами. Значення контрольної змінної *PRINT-ESCAPE* при виклику PRINC стає рівним T.

(DEFUN PRINC (obj *PRINT-ESCAPE*)

(SETQ *PRINT-ESCAPE* T)

(PRIN1 obj) )

3. (WRITE-BYTE n). Якщо n — ціле число від 0 до 255, то функція виводить в COS символ, ASCII-код якого дорівнює n, і повертає n.

4. (TERPRI n). Якщо n — невід’ємне ціле число, то в COS передається n символів ASCII нового рядка. Якщо функція викликана без аргументів, n вважається рівним 1. Сама функція повертає NIL.

(DEFUN TERPRI (n)

((AND (INTEGERP n) (>= n 0))

(LOOP

((ZEROP n) NIL)

(WRITE-BYTE 13)

(WRITE-BYTE 10)

(DECQ n) ) )

5. (PRINT obj) Для виводу виразів можна використовувати функцію PRINT. Вона має один аргумент. При виклику цей аргумент обчислюється, а потім виводиться його значення. Перед виводом аргумента відбувається перехід на новий рядок, а після виводу аргумента друкується проміжок. Значенням функції є значення аргумента. Побочним ефектом функції PRINT є друк повертаємого знчення. Функцію PRINT можна визначити так:

(DEFUN PRINT (x)

(TERPRI) (PRIN1 x) (PRINC “ “) )

6. (SPACES n). Передає n порожніх ASCII - символів (проміжків) в COS. Повертає кількість переданих символів після того як буде переданий останній новий рядок.

7. (FRESH-LINE). Якщо ми знаходимося на початку рядка, функція просто повертає NIL. Інакше вона передає в COS новий рядок і повертає Т.

8. (WRITE-STRING символ), (WRITE-LINE символ). В COS виводиться P-ім’я символа. Якщо аргумент не є символом, обидві функції повертають NIL. Функція WRITE-LINE після виводу символа в COS автоматично виконує перехід на новий рядок командою (TERPRI).

9. (SET-CURSOR рядок колонка). Текстовий режим для Ліспа має розмір 80*25. Ця функція встановлює курсор у відповідну позицію.

10. (ROW), (COLUMN). Відповідно повертають поточний рядок (стовпчик) поточного положення курсора.

11. (CLEAR-SCREEN). Стирає екран, встановлює курсор в (0, 0) та повертає T.

4.5. Обчислювані функції

Обчислення виразів та звернення до функцій відбувається автоматично інтерпретатором muLisp. Обчислювані функції необхідні в тих випадках коли необхідно безпосередньо обчислити вираз або звернутися до функцій. Визначенням функції є список, який складається з трьох частин: імені типу функції, формальних параметрів та тіла функції.

CAR-елементом визначення функції є ім’я типу фукції — LAMBDA, NLAMBDA чи MACRO. Тип функції дає інтерпретаторові інформацію про те, як використовувати дану функцію.

Визначення функцій та їх обчислення в Ліспі основано на лямбда-численні Чорча. Лямбда вираз, який взято з лямбда числення, є важливим механізмом у програмуванні. В лямбда численні Чорча функція записується у вигляді:

lambda (x1, x2, ..., xn) . f

В Ліспі лямбда вираз має вигляд:

(LAMBDA (x1 x2 ... xn) f)

Символ LAMBDA говорить нам про визначення функції. Символи xi – це формальні параметри, f – тіло функції. Тілом функції може бути довільна форма, значення якої може обчислити інтерпретатор Ліспа. Функцію, яка обчислює суму квадратів двох чисел, можна визначити так:

(LAMBDA (x y) (+ (* x x) (* y y)) )

Формальність параметрів вказує на те, що ми можемо замінити їх на інші символи, але від цього не зміниться сутність обчислення функції.

Лямбда вираз – це визначення обчислення та параметрів функції в чистому вигляді без фактичних параметрів або аргументів. Для застосування такої функції до певних аргументів, необхідно поставити лямбда вираз на місце імені функції:

(лямбда-вираз a1 a2 ... an)

Тут ai – форми, що задають фактичні параметри.

Наприклад, множення (* 3 4) можна записати з використанням лямбда виклику:

$ ((LAMBDA (x y) (* x y)) 3 4)

12

Наступний виклик будує список з двох аргументів:

$ ((LAMBDA (x y) (CONS x (CONS y NIL))) ‘dog ‘cat)

(dog cat)

Таку форму виклику називають лямбда викликом. Обчислення лямбда виклику відбувається в два етапи. Спочатку обчислюються значення фактичних параметрів та відповідні формальні параметри зв’язуються з отриманими значеннями. На другому етапі обчислюється форма, яка є тілом лямбда виразу. Отримане значення повертається в якості значення лямбда виклику. По завершенню обчислення формальним параметрам повертаються зв’язки , які існували до лямбда виклику. Весь цей процес називається лямбда перетворенням.

Завантажити цю роботу безкоштовно
Пролистати роботу: 1  2  3 



Реферат на тему: Функції виводу

BR.com.ua © 1999-2017 | Реклама на сайті | Умови використання | Зворотній зв'язок