Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Обробка спискових структур

(INITGET [<Сума чисел>][<"ключові слова...">]) - установка режиму введення даних. Сума чисел реалізує кілька режимів.

Числа:

1 – заборонене порожнє введення; 2 - заборонене введення нуля; 4 - заборонене введення від’ємних чисел; 8 - межі координат не контролюються; 16 - уведення тривимірних точок; 32 - використовується пунктир для зображення “гумових” лінії або прямокутника; 64 - ігнорується координата Z тривимірної точки (тільки в GETDIST AutoCAD 11-й і 12-й версій); 128 - повертає довільний код із клавіатури; ключові слова - визначення списку ключових слів через прогалину;

(INITGET 1 "ТАК НІ"); виклик функції
(GETKWORD "ЗМІНИТИ РЕЖИМ РОБОТИ? (ТАК НЕМАЄ) ")
ЗМІНИТИ РЕЖИМ РОБОТИ? (ТАК НЕМАЄ) ТАК; уведення ключа

(READ-LINE) - чекання введення рядка з клавіатури;

(READ-CHAR) - чекання введення символу з клавіатури для перетворення його в числовий код ASCII;

(READ-CHAR); виклик функції

А; уведення символу

65; результат виконання - код ASCII.

(READ-LINE <F1>) - уведення запису з файлу <F1>;

(READ-LINE (OPEN "З:\\CM\\CM1.TXT" "r"))

(READ-CHAR <F1>) - уведення символу з запису файлу <F1>. Файл <F1> попередньо повинний бути відкритий. Це робиться в такий спосіб:

(SETQ Fl (OPEN "D:\\KPI\\FILE.DAT" "r"))

Перший запис у лапках - місце розташування файлу в каталозі, друга -режим читання (read). Крім цього, можуть бути режими "w" (write -запису),"a" (add - додавання).

Після відкриття файлу і використання його необхідно закрити:

(CLOSE Fl); закриття файлу <F1>

Функції для маніпулювання з даними

(SETQ, <змінна> <вираз>) - присвоєння змінній значення виразу (атом, список, функція,...);

(SETQ A 10; присвоєння змінній А значення 10

B "ABS"; присвоєння В текстової константи "ABS"

Z (COS 0.6)); присвоєння Zі значення (COS 0.6))

Або

(SETQ A 10 В "ABS" Z (COS 0.6)); виклик функції

(SET <'символ> <вираз>) - присвоєння символові з апострофом значення виразу (атом, список, функція,...);

(SET 'A 10); присвоєння символові 'А значення 10
10; результат

 

(CAR <список>) - повернення першого елемента списку;

(CAR ' (В С D Е F)); виклик функції

B; результат - перший елемент списку

(CDR <список>) - повернення списку без першого елемента;

(CDR ' (В С D Е F)); виклик функції

(С D Е F); результат - список без першого елемента

(CAAR <список>) - еквівалентно (CAR (CAR <список>));

(CDAR <список>) - еквівалентно (CDR (CAR <список>));

(CADR <список>) - еквівалентно (CAR (CDR <список>)); повернення першого елемента із списку без першого елемента.

(CDDR <список>) - еквівалентно (CDR (CDR <список>));

(CADAR <список>) - еквівалентно (CAR (CDR (CAR <список>)));

(CADDR <список>) - еквівалентно (CAR (CDR (CDR <список>))) і т.д. аж до чотирьох рівнів вкладеності;

(LAST <список>) - повернення останнього елемента списку;

(LAST ' (В С D Е F)); виклик функції

F; результат - останній елемент списку

(LIST <елемент> <елемент>...) - створення списку з елементів;

(LIST 'А 'У 'З 'D 'Е); виклик функції

(А В С D Е); результат - список елементів

(APPEND <список>...) - з'єднання декількох списків в один;

(APPEND ' (А В) ' (С D Е)); виклик функції

(А В С D Е); результат - один загальний список

(REVERSE <список>) - зміна порядку елементів на зворотний;

(REVERSE ' (А В С D Е F)); виклик функції

(F Е D С В А); результат виконання

(ASSOC <ключ> <список>) - пошук елемента в списку по ключі;

(SETQ LA (LIST ' (1 А) ' (2 В) ' (3 С))); виклик' функції

(ASSOC 2 LA); виклик функції

(2В); підсписок із заданим ключем

(SUBST <новий елемент> <старий елемент> <список>) - заміна в списку старого елемента на новий;

(SETQ LB ' (А В С D Е)); виклик функції

(SUBST 'Z 'У LB); виклик функції

(A Z С D Е); список із заміненим елементом

(MEMBER <елемент N> <список>) - виділення списку з елемента N;

(MEMBER 'D'(ABCDEF)); виклик функції

(D Е F); результат виконання

(NTH <число N> <список>) - виділення (N +1)-го елемента списку, тому що рахунок елементів у списку починається з N = 0;

(NTH 3 ' (А В С D)); виклик функції

D; виділений 4-й елемент списку

(FIX <дійсне число>) - перетворення дійсного числа в ціле;

(FIX 5.4); виклик функції

; результат виконання - ціле число

(FLOAT <ціле число>) - перетворення цілого числа в дійсне;

(FLOAT 5);виклик функції


5.0; результат виконання -; дійсне число

(ANGTOS <кут у радіанах> [<представлення>][<точність>]) - перетворення кута в радіанах у текстовий рядок;

(ANGTOS 0.685);виклик функції

"39.248"; кут у градусах як текстова константа

(CHR <число>) - перетворення числа в символьний код ASCII;

(CHR 77); виклик функції

"М"; результат - символьний код ASCII числа 77

(ASCII <"символ">) - значення символу в числовому коді ASCII;

(ASCII "G"); виклик функції

71; результат - числовий код ASCII символу G

(ATOF <"число">) - перетворення числової текстової константи в дійсне число;

(ATOF "55.2");виклик функції

55.20000; результат виконання

(ATOI <"число">) - перетворення числової текстової константи в ціле число;

(ATOI "34"); виклик функції

34; результат виконання

(ITOA <ціле число>) - перетворення цілого числа в числову текстову константу;

(ITOA 19); виклик функції

"19"; результат виконання

(RTOS Дійсне число>)[<режим>][<точність>]) - перетворення дійсного числа в текстову константу.

(RTOS 34.5 1 4) перетворить 34,5 у "3.4500Е+01" - науковий режим

(RTOS 34.5 2 4) перетворить 34,5 у "34.5000" - десятковий режим

(RTOS 34.5 3 4) перетворить 34,5 у "2 ' -10.5000"" - технічний режим

(RTOS 34,5 4 4) перетворить 34,5у"2'-101/2"" - архітектурний режим

(RTOS 34.5 5 4) перетворить 34,5 у "34 1/2"" - дробовий режим

(STRLEN <"рядок">) - визначення числа символів у рядку;

(STRLEN "AutoLISP"); виклик функції

; результат - число символів у рядку

(STRCAT <"рядок 1"> <"рядок 2">...) - з'єднання рядків;

(STRCAT "Auto" "CAD"); виклик функції

"AutoCAD"; результат з'єднання рядків

(SUBSTR <"рядок"> <початок> [<довжина>]) - виділення частини рядка підряддка (початок - номер символу, довжина - число символів);

(SUBSTR "AutoCAD" 5); виклик функції

"CAD"; результат - виділена частина тексту

(LENGTH <список>) - визначення довжини списку;

(LENGTH ' (А В С D E F)); виклик функції

6; результат - число елементів

 

Функції роботи з числовими даними і виразами

(+ <N1> <N2> <N3>...) - додавання чисел N1, N2, N3,...;

(+ 12.3 45 3.б 1); виклик функції

61.9; результат додавання декількох чисел

(- <N1> <N2> <N3>...) - вирахування з числа N1 чисел N2, N3,...;

(- 50.5 45.1 3 2.3); виклик функції

0.1; результат вирахування декількох чисел

 

(Е0.<вираз1> <вираз2>) - Т, якщо ідентичні, інакше NIL;

(SETQ El '(X Y Z) E2 '(X Y Z))

(EQ El E2); виклик функції

NILL; результат виконання

(/= <атом!> <атом2>...) - Т, якщо <атом!> не дорівнює іншим атомам, інакше NIL;

(/=7.857.74); виклик функції

Т; результат виконання

(< <атом1> <атом2>...) - Т, якщо <атом1> менше всіх наступних, інакше NIL;

(< "A" "D"); виклик функції

Т; результат виконання

(<= <атом1> <атом2>...) - Т, якщо <атом1> менше або дорівнює всім наступним, інакше NIL;

(= <атом1> <атом2>...) - Т, якщо <атом1> дорівнює всім іншим атомам, інакше NIL.

Функції для виведення даних різного типу

(WRITE-CHAR <ціле число>) - друкування символу ASCII коду;

(WRITE-CHAR 67); після введення з'являється ехо команди,
67; а на екран виводиться латинська буква С

(WHITE-LINE <текст>) - друкування тексту без лапок; (PRIN1 <вираз>) - друкування і повернення значення <вираз>; якщо <вираз> - текст, то в лапках;

(PRINl " HELLOW ") " HELLOW "

(PRINC <вираз>) - друкування і повернення значення <вираз>; якщо це текст, то без лапок;

(PRINT <вираз>) - друкування з нового рядка з наступною прогалиною і повернення значення виразу, текст без лапок;

(PRINT "HELLOW");виклик функції

HELLOW; результат виконання

(WRITE-CHAR <ціле число> <F1>) - друкування тексту у файл без лапк, а повернення в лапк;

(WRITE-LINE <текст> <F1>) - друкування тексту у файл <F1> без лапок, а повернення в лапках;

(SETQ Fl (OPEN "D:\\KPI\\LISP\\WR.LSP" "а")) (WRITE-LINE "ХОРОШИЙ ПОЧАТОК" F1)

(PRIN1 <вираз> <F1>) - друкування <виразу> у файл <F1> і повернення значення <виразу>, текст - у лапках;

(PRINC <вираз> <F1>) - друкування у файл <F1> і повернення значення <вираження>, текст без лапок;

(PRINC "ПРИВІТ КОРИСТУВАЧАМ КПІ" F1)

(PRINT <вираз> <F1>) - друкування у файл <F1> і повернення значення виразу, текст без лапок.

Функції доступу до примітивів і засобів AutoCAD

(ENTGET <ім'я примітива>) - вибирає примітив з бази даних і повертає його у вигляді списку в кодах DXF;

(ENTNEXT <ім'я примітива>) - вибирає наступний примітив з бази даних;

(ENTLAST) - вибирає останній створений примітив (об'єкт) з бази даних.

 

Інші функції описані в літературі, наприклад,

Кудрявцев Е.М. AutoLISP. Программирование в AutoCAD 14. М.: ДМК.-1999.

<== предыдущая лекция | следующая лекция ==>
Особенности финансового анализа в процедурах, применяемых по Закону о несостоятельности (банкротстве) | Список рекомендованої літератури. Лекції 14-15. Особистісно-соціальні технології конструювання та розвитку трудового колективу як засіб реалізації владних повноважень менеджером освіти
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 271; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.