1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии


Скачать 260.62 Kb.
Название 1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии
страница 2/9
Тип Документы
rykovodstvo.ru > Руководство эксплуатация > Документы
1   2   3   4   5   6   7   8   9

2. Вычисление выражений. Нормальный и аппликативный порядок. Особая форма quote


LISP – интерпретируемый язык.
Интерпретация данных (a, b, c, d, e):

  • a – функция (особая форма), которую необходимо выполнить

  • b, c, d, e, … – аргументы этой функции


Особая форма — это инструкция (например, «закрыть файл», «окончание работы», и т.п.)
Примеры:

(+ 1 2) → 3

(+ (* 2 3) 4) → 10
Функции для работы с типами:

  • (number? 1) Проверка, является ли числом (в данном случае true).

  • (list? ...) Проверка, является ли списком.

  • (string? ...) Проверка, является ли строкой.

  • (eqv? a b) Эквивалентны ли списки?



Стратегии вычисления:

  • Аппликативный порядок (снизу вверх): сначала вычисляются все аргументы, затем они передаются на вход функции.

  • Нормальный порядок (сверху вниз): функция сначала определяет необходимые ей аргументы, а потом они вычисляются по мере необходимости.



Пример. ((i > j) && (i > 0)):

  • В аппликативном порядке сначала будут вычислены значения условия, а затем применена операция И.

  • В нормальном порядке функция сама вычисляет значения своих аргументов. Некоторые вычисления могут пропускаться (например, второе условие может не вычисляться, если первое == false).


Оператор quote — выполняет функцию экранирования. Запрещает интерпретацию (вычисление) списка. Синтаксис:

  • (quote (…))

  • `(…)

3. Особая форма define. Способы использования define. Блочная структура программы


Синтаксис: (define, что, как)

Примеры:

  • (define a 1)

  • (define a (sin (+ b 1))) ; a=sin(b+1)

  • (define (f x) (+ x 1))

Повторно присваивать значение одной переменной нельзя.
Забавные примеры
(define a b) – Значение a равняется значению b

(define a (b)) – Значение a равняется значению функции без аргументов b

(define (a) b) – функция a, не принимающая аргументов и возвращающая b

(define (a) (b)) – функция a возвращает результат работы функции b

(define a `b) – символ a равняется символу b

(define a `(b)) – a равняется списку из одного элемента (b)
Блочная структура программы
(define ЧТО

(define ...)

КАК ) ← здесь можно использовать то, что определено во вложенном define.
(define (f x)

(define (g y) (+ y 1))

(g (* x 10)))

- абстракции высших порядков

(define (a n) ... )

(define (sum n)

(if (= n 0) 0

(+ (a n) (sum (- n 1))))
Чтобы написать функцию, способную подсчитывать сумму другого ряда. Где-то тут передается функция как параметр:
(define (sum a n)

(if (= n 0) 0

(+ (a n) (sum a (- n 1))))
Использование:
(sum a 10)
Типа

(define (b x) (+ x 20))

(sum sin 100)

4. Условные выражения и предикаты. Тест стратегии вычисления


Оператор cond
Синтаксис:
(cond (усл рез) … (усл рез) (else рез))
Пример (получение числа корней квадратного уравнения):
(define (D a b c) ( - ( * b b) (* 4 a c)))

(define (RC a b c)

(cond ((> (D a b c) 0 ) 2 )

((= (D a b c) 0 ) 1 )

(else 0))

)

Оператор if
Синтаксис
(if условие результат1 результат2)
Пример (нахождение факториала):
(define (f n) (if (= n 1) 1 (* n (f (- n 1)))))
Пример (тест Бэрбриджа):
(define (p) (p))

(define (test x y) (if (= x 0) 0 y))

(test 0 (p))
А вот так не проще? проще.

(define (test) (if #t 0 (test)))

(test)
Ещё вариант теста:
(define (p) (p))

(define (test x) 0)

(test (p))
Данный пример является проверкой стратегии вычисления интерпретатора — является ли она нормальной или аппликативной. При аппликативной стратегии будет наблюдаться зацикливание (точнее, уход в рекурсию), при нормальной — вернётся результат 0.
1   2   3   4   5   6   7   8   9

Похожие:

1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon Дмитриев Михаил Николаевич гбоу школа №1586 | Москва, Улица Дружбы...
Проектная работа представляет собой программное приложение, разработанное как для уроков физики и химии, так и для индивидуальных...
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon 1. Если атомы растворимого компонента в замещают в узлах решетки...
Диаграмма состояния сплавов, образующих с ограниченной растворимостью в твердом состоянии с перитектикой, изображена на рис
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon Семантика Синтаксис Морфология
К 28 Семантика. Синтаксис. Морфология. — М.: Главная редакция восточной литературы издательства «Наука», 1988. — 309 с
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon Учебное пособие включает в себя материалы к 9 практическим занятиям...
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon Методическое руководство к выполнению лабораторных работ по биоорганической...
Скелет их молекул построен только из атомов углерода. В зависимости от последовательности соединения атомов углерода в углеродном...
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon Инструкция по составлению финансового отчета (краткие комментарии) №
Основные требования к форме и составу документации, подтверждающей расход (Комментарии)
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon Основная образовательная программа высшего образования Направление...
Целью курса синтаксиса современного русского литературного языка является знакомство студентов с синтаксисом как центральной лингвистической...
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon Издание третье
Панин, его стилистической системы, описана роль писателей, публицистов, общест­венных деятелей в развитии норм литературного языка....
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon 6. Злаки специального назначения
Особую группу газонных злаков составляют виды, отличающиеся хорошей приспособленностью к специфическим условиям. Они могут быть использованы...
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon Урока: Образовательные
Развить понятие о взаимном влиянии атомов, зависимости применения от свойств веществ
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon Учебно-методическое пособие по английскому языку для студентов первого...
Введение. Своеобразие английского языка. Его роль в современном мире как языка международного и межкультурного общения
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon Методическая разработка «Рекомендации по переводу научного текста»
Деловой иностранный язык играет большую роль в процессе изучения иностранного языка в колледже. Деловой язык делает акцент на конкретные...
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon Проблемная технология на уроках английского языка в 9 классе Автор: Закирова Татьяна Валерьевна
Маоу «сош №7 с углубленным изучением английского языка» г. Перми, учитель английского языка высшей квалификационной категории
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon Сведения о чу дпо «Чувашский учебно-курсовой комбинат»
Предмет и виды деятельности Учреждения, виды реализуемых образовательных программ
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon Курсовая работа На тему: «клиника и лечение трихинеллеза»
Экспериментально трихинеллезом заражаются все виды млекопитающих животных и многие виды птиц
1. Синтаксис языка лисп. Списки. Атомы. Виды атомов. Комментарии icon «Углубленное изучение английского языка» по направлению подготовки...
Повышение уровня культуры образования, а также культуры общения, мышления и речи. 3 Знакомство с культурой стран изучаемого языка...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск