Реферат на тему:
Числові функції.
Числові функції виконують основні математичні операції над цілими та дробовими числами. Користувач може обрати для роботи точну або наближену раціональну арифметику. Для точної раціональної арифметики розмір цілих чисел, чисельників та знаменників обмежений приблизно до 25000 десяткових знаків.
Примітивними числовими функціями є додавання
, відніманн
я
, множення
та ділення
. В мові програмування Лісп вони є n-арними, тобто кількість їхніх аргументів необмежена. Синтаксис числових функцій наступний:
1. (+ num1 num2 ... numM) 3. (* num1 num2 ... numM)
2. ( - num1 num2 ... numM) 4. (/ num1 num2 ... numM)
Функція додавання повертає суму своїх аргументів. Функція віднімання повертає різницю першого аргумента та суми всіх інших аргументів. Функція множення повертає добуток своїх аргументів. Функція ділення повертає частку від ділення першого аргумента та добутку інших аргументів.
$ (+ 2 4 6 7) $ (- 20 3 5 6) $ (* 2 4 6) $ (/ 24 2 2 3)
19 6 48 2
Функції збільшення
та зменшення
мають наступний синтаксичний вигляд:
1. (ADD1
n). Повертає значення, яке на одиницю більше за аргумент.
2. (SUB1
n). Повертає значення, яке на одиницю менше за аргумент.
3. (INCQ
sym n) Збільшує значення символа sym на число n.
4. (DECQ
sym n) Зменшує значення символа sym на число n.
Якщо функцію додавання (віднімання) одиниці запустити без аргументів, то виникне переривання по помилці: недостатня кількість аргументів. Якщо у функцію INCQ або DECQ передати один аргумент - символ, то збільшення (зменшення) значення символа відбудеться на одиницю. Окрім того, що функції INCQ та DECQ повертають результат арифметичної дії, значення символів, які передаються до них як аргументи, змінюється.
Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз,
а первые результаты появляются уже в течение первых 7 дней.
$ (ADD1 6) $ (SUB1 10)
7 9
$ (SETQ S 10) $ (INCQ S 14) $ (DECQ S 4)
10 24 30
Функції MIN
та MAX
повертають символ з відповідно мінімальним
(максимальним
) значенням.
1. (MIN n1 n2 ... nM). $ (MIN 12 3 45 67) $ (MAX 1 2 5 3)
2. (MAX n1 n2 ... nM). 3 5
Числові вирази в Ліспі записуються в префіксній формі. Вираз 3*5+5*7 для обчислення треба подати у вигляді (+ (* 3 5) (* 5 7)), вираз (3+6)*7 — у вигляді (* (+ 3 6) 7).
Функції порівняння
менше та більше мають n аргументів.
1. ( < n1 n2 ... nM) Повертає істину, якщо n1 < n2 < ... < nM.
2. ( > n1 n2 ... nM) Повертає істину, якщо n1 > n2 > ... > nM.
3. ( /= n1 n2 ... nM) Повертає істину, якщо існують хоча б два числа, які не дорівнюють одне одному.
До функцій порівняння
також відносяться <= , = та >=.
$ (< 2 4 6) $ (>= 5 3 3 2) $ ( /= 4 4 5)
T T T
$ (< 6 6 8 15) $ (<= 6 6 8 15) $ ( /= 4 4 4)
NIL T NIL
Функції
округлення
(TRUNCATE
m n), (ROUND
m n), (CEILING
m n) (FLOOR
m n)
Ці функції використовуються для округлення дробових чисел до цілих. TRUNCATE виконує округлення до ближчого цілого у напрямку нуля. ROUND виконує округлення до ближчого цілого по значенню до m/n. CEILING виконує округлення до ближнього цілого по верхній межі, FLOOR — по нижній межі. Виклик будь-якої функції з двома аргументами (<f> m n) еквівалентний виклику функції з одним аргументом: (<f> (/ n m)), де f — будь-яка з наведених чотирьох функцій.
Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:
— Разгрузит мастера, специалиста или компанию;
— Позволит гибко управлять расписанием и загрузкой;
— Разошлет оповещения о новых услугах или акциях;
— Позволит принять оплату на карту/кошелек/счет;
— Позволит записываться на групповые и персональные посещения;
— Поможет получить от клиента отзывы о визите к вам;
— Включает в себя сервис чаевых.
Для новых пользователей первый месяц бесплатно.
$ (TRUNCATE 6/4) $ (TRUNCATE -6/4)
1 -1
$ (CEILING 9 4) $ (CEILING -9 4)
3 -2
$ (FLOOR 6 4) $ (FLOOR -6 4)
1 -2
$ (FLOOR 6/4) $ (FLOOR -6/4)
1 -2
Функції
остачі
(REM
m n), (MOD
m n), (DIVIDE
m n)
Примітивнафункція REM повертаєостачувідділеннячисла m на n. Функція MOD працюєяк REM, алеповертаємодульостачі. Якщо (TRUNCATE m n) повертає q, а (REM m n) повертає r, то m=q*n+r. Функція (DIVIDE m n) повертаєконс, CAR якогодорівнюєчастці, а CDR — остачівідділення m на n.
$ (REM 6 4) $ (DIVIDE 7 2) $ (REM -6 4) $ (MOD 6 4)
2 (3 . 1) -2 2
Знак числа
(SIGNUM
n)
Повертає значення -1, 0 або 1 якщо n відповідно від’ємне, 0, або додатне.
Модуль числа
(ABS
n) – Модуль числа n.
Чисельник та знаменник
(NUMERATOR
n), (DENOMINATOR
n) – чисельник та знаменник числа n.
$ (signum -5/3) $ (abs -5/3)
-1 5/3
$ (numerator 10/8) $ (denominator 10/8 )
5 4
Побітові
логічні
функції
(LOGAND
n1 n2...nM), (LOGIOR
n1 n2 ... nM),
(LOGXOR
n1 n2...nM), (LOGNOT
n).
$ (LOGAND 5 7 3) $ (LOGIOR 4 2 1)
1 7
$ (LOGXOR 5 2 3) $ (LOGNOT 6)
4 -7
Бульові
функції
(NOT
об’єкт) – заперечення
(AND
форма1 форма2 ... формаN) – кон’юнкція
(OR
форма1 форма2 ... формаN) – диз’юнкція
$ (AND (EQL ‘as ‘as) (< 2 4)) $ (OR NIL (< 4 56)) $ (NOT (EQL ‘d ‘g))
T T T
Зсув
(SHIFT
m n) — зсув числа m на n бітів.
Якщо m - додатне, то функція повертає результат зсуву числа n вліво на m бітів. Якщо m - від’ємне, то число n зсувається вправо на -m бітів.
(DEFUN SHIFT (N M)
( (AND (INTEGERP N) (INTEGERP M))
((ZEROP M) N)
((PLUSP M) (SHIFT (* N 2) (SUB1 M)) )
(SHIFT (TRUNCATE N 2) (ADD1 M))
)
(BREAK (LIST 'SHIFT N M) '"Noninteger Argument" )
)
$ (SHIFT 3 1) $ (SHIFT 3 -1) $ (SHIFT 4 -8) $ (SHIFT 3 5)
6 1 0 96
$ (SHIFT D 10)
Noninteger Argument Break: (SHIFT D 10)
НСД
,
НСК
(GCD
n1 n2 ... nM)
(LCM
n1 n2 ... nM).
Ціфункціїзнаходятьвідповіднонайбільшийспільнийдільник M чиселтанайменшеспільнекратне.
$ (GCD 24 66 600) $ (LCM 24 66 600)
6 6600
Ірраціональні
та
трансцендентні
функції
У файлі irratnal.lsp міститься великий набір ірраціональних та трансцендентних функцій. Аргументи тригонометричних функцій задаються в радіанах.
1. (EXP
x) експонента ex
2. (EXPT
x y) степінь xy
3. (LOG
x y) логарифм logy
x. Якщо y не задано, основа вважається рівною e.
4. (LN
x) натуральний логарифм
5. (SQRT
x) квадратний корінь
6. (ISQRT
x) ціла частина з квадратного кореня
7. (SIN
x) та (ASIN
x) сінус та арксінус
8. (COS
x) та (ACOS
x) косинус та арккосинус
9. (TAN
x) та (ATAN
x) тангенс та арктангенс
10.(RANDOM
n) генерується натуральне число, менше за n.
|