Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочный_материал_ПГК.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
505.34 Кб
Скачать

Функции преобразования данных

  1. type – определяет тип символа.

  1. float – преобразование целого числа в вещественное.

(float c)

  1. itoa – преобразует целое число в строку.

(itoa c)

  1. rtos – преобразует вещественное число в строку.

(rtos v Режим Точность)

Режим: 1 – научный (экспоненциальный);

2 – десятичный;

3 – инженерный (футы и дюймы);

4 – архитектурный (футы и дюймы);

5 – дробный.

Если режим не задан, то форма представления определяется системной переменной LUNITS.

Точность – количество знаков после десятичной точки. Если точность не задана, то она определяется системной переменной LUPREC.

(rtos 10.9453 1 3)  “1.095E+01”

(rtos 10.9453 2 3)  “10.945”

На вид возвращаемой строки может оказывать влияние системная переменная UNITMODE.

  1. atoi – преобразует строку в целое число.

(atoi s)

(atoi “12345678901”) – преобразование будет выполнено с ошибкой, так как количество цифр превысило максимум.

(atoi “55kg500g”)  55 (недопустимые символы и следующие за ними теряются).

  1. atof – преобразует строку в вещественное число.

(atof s)

  1. angtof – преобразует строку в вещественное число, являющееся величиной угла в радианах.

(angtof s p)

p – представление: 0 – градусы;

1 – градусы, минуты, секунды;

2 – грады;

3 – радианы;

4 – топографические единицы.

Если p опущено, то в качестве его значения принимается значение системной переменной AUNITS.

  1. angtos – преобразует значение угла в радианах в строку.

(angtos u p t)

p – представление (см. функцию angtof); если p опущено, то в качестве его значения принимается значение системной переменной AUNITS.

t – точность; если точность не задана, то она определяется системной переменной AUPREC.

На вид возвращаемой строки может оказывать влияние системная переменная UNITMODE.

Необходимо также учитывать значение системной переменной ANGBASE.

  1. distof – преобразует строку в вещественное число.

(distof s r)

r – режим (см. п.4, см. LUNITS).

  1. trans – преобразует координаты точки из одной системы координат в другую. Системы координат: мировая (МСК), текущая или пользовательская (ТСК или ПСК), экранная (ЭСК), экранная листа (ЭСКЛ).

  1. cvunit – преобразует значение из одной системы единиц в другую.

(cvunit z se1 se2)

(cvunit 1 “minute” “hour”)  0.016667

Сообщения о неправильном типе данных:

error: bad argument type: нужныйтип фактическийтип.

Функции обработки строк

  1. chr – получение символа по коду действующей таблицы символов.

(chr c)

(chr 192)  “А” (русская)

  1. ascii – получение кода первого символа строки текста по коду действующей таблицы символов.

(ascii s)

(ascii “ABCD”)  65 (все символы, кроме первого, игнорируются).

  1. read – читает аргумент, являющийся строкой, до первого пробела.

Если прочитанная строка имеет вид числа или списка, то она сохраняется в виде числа или списка.

Пример чтения данных из внешнего файла с сохранением в виде списка:

(defun myf ()

(setq df (open “имяфайла” “r”)

a (read (strcat “(“ (read-line df) “)” )) ;a – список.

)

)

  1. strcase – преобразование строки в верхний или нижний регистр.

(strcase s) или (strcase s nil) – преобразование в верхний регистр.

(strcase s T) – преобразование в нижний регистр.

  1. strcat – сцепление строк.

См. пример к п.3.

  1. strlen – вычисление суммарной длины всех строк-аргументов.

(strlen s1 s2 …)

  1. substr – выделение подстроки.

(substr строка начало количество)

начало – номер символа в строке, с которого начинается подстрока;

количество – количество символов в подстроке.

Пример чтения данных из внешнего файла с сохранением первых двух символов в виде вещественного числа:

(defun myf ()

(setq df (open “имяфайла” “r”)

a (read-line df) ;a – строка

a (substr a 1 2) ;a – подстрока

a (atof a) ;a – вещественное число

)

)

Операции с переменной a можно записать без промежуточного сохранения результатов:

(setq df (open “имяфайла” “r”)

a (atof (substr (read-line df) 1 2))

)

  1. wcmatch – проверка строки на соответствие шаблону.

  1. vl-string->list – преобразование строки в список с кодами символов.

(vl-string->list “LISP”)  ‘(76 73 83 80)

  1. vl-list->string – преобразование списка с кодами символов в строку.

(vl-list->string ‘(76 73 83 80))  “LISP”

  1. vl-string->elt – вычисление кода символа, расположенного в строке на месте с заданным номером. Первый символ имеет номер 0.

(vl-string->elt строка номер)

(vl-string->elt “LISP” 3)  80 (код символа “P”)

  1. vl-string-left-trim – удаление символов, начиная с первого символа строки, до тех пор, пока не встретится символ, который не входит в перечень удаляемых.

(vl-string-left-trim перечень строка)

(vl-string-left-trim “корпус” “проспект”)  “ект”

  1. vl-string-right-trim – удаление символов, начиная с последнего символа строки, до тех пор, пока не встретится символ, который не входит в перечень удаляемых.

(vl-string-right-trim перечень строка)

(vl-string-right-trim “лоция” “дистанция”)  “дистан”

  1. vl-string-trim – является комбинацией функций vl-string-left-trim и vl-string-right-trim.

(vl-string-trim “декларация” “дистанция”)  “стан”

  1. vl-string-mismatch – сверяет две строки, начиная с заданных позиций, и возвращает количество совпавших символов. Отсчет позиций в строке начинается с 0.

(vl-string-mismatch s1 s2 p1 p2 r)

s1, s2 – сверяемые строки.

p1, p2 – номера позиций в сверяемых строках; по умолчанию p1=p2=0;

Если r задан и имеет значение, отличное от nil, то при сверке регистр символов игнорируется.

  1. vl-string-position – поиск символа с заданным кодом в строке, начиная с заданной позиции. Возвращает номер позиции первого найденного символа. Отсчет позиций в строке начинается с 0.

(vl-string-position k s n kon)

k – код;

s – строка;

n – номер позиции, с которой начинается поиск; если n не задан, то принимается n=0;

kon – необязательный параметр; если kon не nil, то поиск идет с конца строки.

(setq a “LISP”

a (vl-string-position 73 a)) ;a=1 (код символа I)

  1. vl-string-search – поиск заданной последовательности символов в строке, начиная с заданной позиции. Отсчет позиций в строке начинается с 0.

(vl-string-search ps str n)

ps – последовательность символов;

str – строка;

n – номер позиции, с которой начинается поиск; если n не задан, то принимается n=0.

(vl-string-search “in” “training” 4)  5.

  1. vl-string-subst – замена в строке одной последовательности символов на другую, начиная с определенного номера позиции. Отсчет позиций в строке начинается с 0.

(vl-string-subst ns ss str n)

ns – новые символы;

ss – старые символы;

str – строка;

n – номер позиции, с которой начинается поиск; если n не задан, то принимается n=0.

(vl-string-subst “мо” “ка” “каталка”)  “моталка” (происходит замена только первых найденных символов).

  1. vl-string-translate – замена в строке символов одной группы на символы другой группы.

(vl-string-translate “19” “ab” “1971”)  “ab7a”

  1. vl-symbol-name – выводит имя символа в виде текстовой строки.