Аpифметичнi задачі, Детальна інформація

Аpифметичнi задачі
Тип документу: Реферат
Сторінок: 7
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 17.4
Скачувань: 1556
(+ 1 (lp (CDR lst1) (CDR lst2))) )

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

Функцiї виводу передають результат в поточний поток виводу (COS - Current Output Stream).

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

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

(DEFUN PRINC (obj *PRINT-ESCAPE*)

(SETQ *PRINT-ESCAPE* T)

(PRIN1 obj) )

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

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

(DEFUN TERPRI (n)

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

(LOOP

((ZEROP n) NIL)

(WRITE-BYTE 13)

(WRITE-BYTE 10)

(DECQ n) ) )

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

(DEFUN PRINT (x)

(TERPRI) (PRIN1 x) (PRINC " ") )

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

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

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

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

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

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

Керування пам'яттю

Динамiчне автоматичне керування пам'яттю надає велику кiлькiсть переваг iнтерпретатору muLisp. Немає необхiдностi власноручно програмiсту розподiляти пам'ять пiд задачу, яка буде виконуватися. Пам'ять, яка не буде використовуватися програмою, доступна для створення нових структур даних.

При iнiцiалiзацiї muLisp обчислюється розмiр доступної пам'ятi, яка потiм розбивається на 4 областi:

- область атомiв (64К), яка забезпечує пам'ять для 4 елементiв-вказiвникiв, необхiдних для кожного символа та числа.

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