Функції виводу, Детальна інформація

Функції виводу
Тип документу: Реферат
Сторінок: 5
Предмет: Культура
Автор: Олексій
Розмір: 10.7
Скачувань: 781
Реферат на тему:

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

Функції виводу передають результат в поточний поток виводу (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. Тип функції дає інтерпретаторові інформацію про те, як використовувати дану функцію.

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

The online video editor trusted by teams to make professional video in minutes