Micro Lisp. Основные понятия, структуры и функции. Яшин Л.З. - 25 стр.

UptoLike

Составители: 

25
[11] (print-length "а b c d e f g h i")
17
[12] (print-length 34)
2
NEWLINE переводит строку
Вывод выражений и знаков часто желательно разбить на несколько строк.
Перевод строки можно осуществить функцией PRINT, которая автоматически
переводит строку перед выводом, или непосредственно для этого предназначенной
функцией NEWLINE. У функции NEWLINE нет аргументов.
[13] (begin (write 'переведи) (newline) (prin1 'строку))
ПЕРЕВЕДИ
СТРОКУ
Используя уже определенную ранее функцию ЧЕРТА, определим функцию
(ПРЯМОУГОЛЬНИК n m), заполняющую всю область n Х m звездочками:
[13] (define (прямоугольник ширина высота) (cond ((= высота 0) t) (t (черта
ширина) (newline) (прямоугольник ширина (- высота 1)))))
[14] (прямоугольник 6 4)
******
******
******
******
#T
LOAD загружает определения
На практике написание программ осуществляется записью в файл определений
функций, данных и других объектов с помощью имеющегося в программном
окружении редактора. После этого для проверки определений вызывают интерпретатор
Лиспа, который может прочитать записанные в файл выражения директивой LOAD:
(LOAD "файл")
Читаемые выражения вычисляются так, как будто бы они были введены
пользователем. После загрузки можно использовать функции, значения переменных,
значения свойств и другие определения.
Пример загрузки файла с помощью функции LOAD:
Текст программы, записанный в файл fl.lsp:
**************************************************************************
(define (пересечение х у)
(cond ((null? х) nil)
                                            25

       [11] (print-length "а b c d e f g h i")
       17
       [12] (print-length 34)
       2

NEWLINE переводит строку
       Вывод выражений и знаков часто желательно разбить на несколько строк.
Перевод строки можно осуществить функцией PRINT, которая автоматически
переводит строку перед выводом, или непосредственно для этого предназначенной
функцией NEWLINE. У функции NEWLINE нет аргументов.
       [13] (begin (write 'переведи) (newline) (prin1 'строку))
       ПЕРЕВЕДИ
       СТРОКУ


     Используя уже определенную ранее функцию ЧЕРТА, определим функцию
(ПРЯМОУГОЛЬНИК n m), заполняющую всю область n Х m звездочками:


       [13] (define (прямоугольник ширина высота) (cond ((= высота 0) t) (t (черта
             ширина) (newline) (прямоугольник ширина (- высота 1)))))
       [14] (прямоугольник 6 4)
       ******
       ******
       ******
       ******
       #T

LOAD загружает определения
      На практике написание программ осуществляется записью в файл определений
функций, данных и других объектов с помощью имеющегося в программном
окружении редактора. После этого для проверки определений вызывают интерпретатор
Лиспа, который может прочитать записанные в файл выражения директивой LOAD:
     (LOAD "файл")


      Читаемые выражения вычисляются так, как будто бы они были введены
пользователем. После загрузки можно использовать функции, значения переменных,
значения свойств и другие определения.
      Пример загрузки файла с помощью функции LOAD:
Текст программы, записанный в файл fl.lsp:
**************************************************************************
           (define (пересечение х у)
                (cond ((null? х) nil)