Какие свойства имеет символ

Какие свойства имеет символ thumbnail
Студопедия

КАТЕГОРИИ:

Архитектура-(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)

Форматирование

Под форматированием текста понимают задание его свойств (таких как размер, шрифт, выравнивание и т.д.).

Любой текст состоит из символов, символы складываются в слова, слова образуют предложения, предложения складываются в абзацы.

Примечание: заголовки, подписи, сноски и т.д., по своей структуре также являются абзацами.

Однако, принципиально, все вышеперечисленные элементы по своим свойствам делятся на две части: символы и абзацы.

Различить свойства символов и абзацев достаточно просто — те свойства, которые меняют форматирование всего абзаца относятся к абзацным, а те, которые не меняют свойств всего абзаца относятся к символьным.

К примеру: интерльяж (межстрочное расстояние) нельзя применить к отдельному слову (так, как рядом стоящие слова также изменят свой интерльяж) — то есть интерльяж это свойство абзаца, а вот гарнитуру не обязательно менять у всего абзаца, а можно поменять и у отдельных символов — то есть это свойство символов.

Изменяют свойства текста с помощью специальных команд форматирования, причем, как правило, свойства символов и свойства абзацев можно менять отдельно и независимо друг от друга.

К примеру: они разнесены по разным контекстным меню.

К основным свойствам символов относятся:

· рисунок,

· кегль,

· начертание,

· ширина,

· трекинг,

· кернинг,

· цвет символа,

· цвет подложки символа.

Рисунок (шрифт) — общий вид для набора всех символов.

Примечание: физический носитель шрифта — файл, однако файл содержит не только образ рисунка символов, но и набор его стандартных размеров, а иногда, и основных начертаний. Таким образом, когда мы говорим о изменении шрифта, то говорим о том, что начинаем использовать другой файл.

Шрифты делятся на серифные (Serif) и безсерифные (SanSerif), моноширинные (Monospace) и пропорциональные (Proportional), декоративные (Decoration). Сериф — это засечки, завершающие основные штрихи шрифта, призванные повысить удобочитаемость текста. К моноширинным относятся шрифты у которых все символы имеют одинаковую ширину, а к пропорциональным, соответственно, те, у которорых ширина символа определяется шириной буквы. К декоративным — стилизированные под задачу (рукописный, старословянский, готический и т.д.).

Кегль — высота отпечатка символа. Как правило кегль измеряют в пунктах. В кегль также включают небольшие пробела сверху и снизу от буквы, для образования межстрочного интервала и размещения надстрочных и подстрочных символов.

Примечание: как правило, для скорости работы текстового редактора и повышения качества печати, образы шрифта изготавливают сразу для нескольких кеглей. Стандартный набор кеглей составляет: 8, 10, 12, 14, 18, 24, 36, 48, 60, 72 пт. Все остальные кегли образуются аппроксимацией близ лежащих кеглей.

Начертание — вид шрифта. То есть при изменении начертания общий вид шрифта сохраняется, но ему придаются характерные изменения.

Пример: как правило используют стандартный набор начертаний: нормальное (неизмененный шрифт), полужирное, курсивное (наклоненное), подчеркнутое, перечеркнутое, контурное (только контур символа), верхний индекс (несколько выше и мельче остальных символов), нижний индекс.

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

Совокупность шрифтов одного рисунка во всех начертаниях и кеглях называют гарнитурой шрифта.

Ширина — физический размер символа. Изменение ширины происходит аппроксимацией необходимого кегля до необходимого размера в ширину.

Примечание: ширину, как правило, измеряют в процентах от данного кегля, то есть неизмененный кегль — это 100% и т.д.

Трекинг — изменение наружных (межсимвольных) расстояний (апрошей). Трекинг применяют для «растягивания» или «вжимания» необходимого количества текста в заданную площадь документа.

Кернинг — изменение размера апрошей между соседними символами для повышения красоты и удобочитаемости текста. Кернинг, в отличие от трекинга подразумевает отдельную работу с каждым символом: подбор ее местоположения в зависимости от гарнитуры шрифта, рисунка самого символа и соседних с ним и т.д.

Цвет символа — цвет видимой части символа (его рисунка).

Цвет подложки символа. Условно, любой символ состоит из его рисунка (видимой части), апрошей (наружных расстояний между символами) и площади символа не занятой рисунком. Вся не занятая рисунком площадь символа и апроши называют подложкой символа.

Примечание: при использовании свойств цвета символов и подложки важно соблюдать баланс цветов, определяемых специальными таблицами соответствия цвета. Если цвет подложки более темный, чем цвет символа, то такое соотношение цветов называют вывороткой.

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

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

Рекомендуемые страницы:

Читайте также:

Источник

Изучив эту тему, вы узнаете:

— какие информационные объекты выделяются в текстовом документе;

— какую роль играют непечатаемые символы в текстовом документе;

— какие информационные объекты выделяются в текстовом документе;

— каковы возможности форматирования основных объектов текста: символов, абзацев и списков.

Объект «символ» и его свойства

Текст составляет основу любого текстового документа. Среда распознает отдельные элементы текста: символы, абзацы, списки. Элементарным информационным объектом текстового документа является символ. Символ — наименьшая неделимая единица текста. Символы разделяются на следующие группы: строчные буквы, прописные буквы, цифры, знаки. Кроме этого, в текстовом документе присутствуют также непечатаемые символы, по которым среда Word распознает объекты текстового документа.

Символы, как элементарные объекты текста, имеют набор свойств, которые позволяют отличать их друг от друга. В документе, как правило, основной текст набирается символами, имеющими одинаковые значения параметров. Чтобы подчеркнуть информационную значимость отдельных фрагментов текста — слов, фраз, предложений — их выделяют путем изменения некоторых свойств. 

Чтобы посмотреть текущие параметры символа или изменить их, используется команда Формат ► Шрифт. В диалоговом окне Шрифт (рис. 2.4) три вкладки. Основные параметры шрифта расположены на вкладке Шрифт.

image

Рис. 2.4. Параметры шрифта

Некоторые наиболее часто используемые свойства символа можно изменять с помощью кнопок на панели Форматирование.

Задание 2.1. Вставка символов

В текстовых документах можно встретить символы, которые не отображены на клавишах клавиатуры. Например, в тексте могут встречаться слова немецкого, шведского, финского и других языков, содержащие буквы с надстрочными или подстрочными знаками — Ы, у, G, А и др.

Читайте также:  Какая функциональная группировка придает аминокислоте кислые какая щелочные свойства

Надстрочные и подстрочные знаки, используемые у некоторых символов национальных алфавитов, называются диакритическими знаками.

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

Есть экономические, юридические символы: © (авторское право), ™ (торговая марка), ® (охраняемый знак) и др.

В текст можно вставить буквы греческого алфавита и множество различных математических символов’, оо (бесконечность), ° (градусная мера), и (объединение), « (приближенное равенство), о (равносильность) и пр.

Кроме символьных шрифтов, существуют также декоративные шрифты. Они содержат наборы различных графических изображений. Эти шрифты называются дингбатсы. К ним относятся шрифты Webdings, Wingdings, Wingdings 2, Wingdings 3. Создайте новый документ и наберите эти и другие символы.

Технология работы

1. Выполните команду Вставка ► Символ.

2. В открывшемся окне Символ (рис. 2.5) на вкладке Символы в поле Шрифт выберите в списке шрифтов значение (обычный текст).

3. Просмотрите таблицу символов. Сколько всего символов в ней расположено?

4. Выделите символ. Найдите в нижней части окна его название.

5. Выберите символ и нажмите кнопку Вставить.

imageДля набора математических символов в поле Шрифт можно выбрать специальный шрифт Symbol.

image

Рис. 2.5. Вставка символов

6. Выберите в поле Шрифт декоративный шрифт Webdings.

7. Просмотрите набор символов. Вставьте несколько примеров символов.

8. В поле Шрифт выберите название декоративного шрифта Wingdings.

9. Найдите в наборе и наберите знаки зодиака.

Задание 2.2. Дефис и тире,в тексте

Есть грамматические символы, которые в тексте имеют специальное назначение. Рассмотрим грамматические знаки дефис и тире.

Дефис — это символ, связывающий две части слова или два слова, которые читаются как одно, например: кто-то, темно-синий, из-зa. Дефис не отделяётся от соседних букв пробелами. Если слово с дефисом не будет полностью помещаться на одной строке, то среда текстового процессора разобьет его по дефису на две части, и тогда при чтении дефис будет восприниматься как перенос. Годы, разделенные чертой (например, 1941-1945), также плохо будут восприниматься при чтении, если окажутся на разных строках. Чтобы исключить нежелательный перенос в словах, используется специальный символ — неразрывный дефис.

Тире — это знак, разделяющий две части предложения. В отличие от дефиса, тире обязательно отделяется пробелами от соседних слов. В печатных изданиях дефис обозначается короткой горизонтальной чертой, а тире — длинной. Но на компьютерной клавиатуре есть только одна клавиша, которая может использоваться и как знак минус, и как дефис, и как тире. Поэтому для написания тире используется специальный символ — длинное тире.

Проверьте предложенный документ на правильность написания дефисов и тире.

Технология работы

1. Откройте текстовый документ по указанию преподавателя.

2. Прочитайте текст. Определите, правильно ли в нем используются символы дефис и тире.

3. Исправьте выявленные недочеты.

4. Для вставки символов «длинное тире» и «неразрывный дефис» выполните команду Вставка ► Символ и найдите нужные символы на вкладке Специальные.

Задание 2.3. Форматирование символов

Чтобы изменить свойства символов в некотором фрагменте текста, надо выделить этот фрагмент текста и установить для него требуемые параметры, используя диалоговое окно Шрифт или кнопки на панели инструментов.

Откройте файл с текстом по указанию учителя. Для различных фрагментов текста установите следующие значения параметров символов: 

1. Первый фрагмент: шрифт Courier New, полужирный, 16 пт, красный, все прописные, разреженный на 2 пт.

2. Второй фрагмент: шрифт Tahoma, курсив, 10 пт, зачеркнутый, масштаб 150 %. Чем отличается действие параметров Масштаб и Интервал для символа?

3. Наберите слово КВАЛИФИКАЦИЯ. Установите смещение отдельных символов вверх и вниз.

4. Третий фрагмент: шрифт Arial, 10 пт, скрытый. Что стало с текстом?

5. Включите режим отображения непечатаемых символов. Для этого нажмите кнопку Непечатаемые знаки на панели Стандартная. Как теперь отображается третий фрагмент? Какие непечатаемые символы вы увидели в документе?

6. Выделите одновременно пятый, шестой и седьмой фрагменты, расположенные в разных местах документа. Для этого:

— выделите пятый фрагмент;

— удерживая на клавиатуре клавишу Ctrl, выделите по очереди шестой и седьмой фрагменты.

7. Для пятого, шестого и седьмого фрагментов установите следующие свойства: шрифт Comic Sans MS, 20 пт, зеленый, контурный, разреженный на 2 пт.

Объект «абзац» и его свойства

Другим важным элементом текста является абзац. Слово «абзац» имеет несколько толкований. В литературе абзац определяется как часть текста, имеющая законченный смысл. Абзацем также называют фрагмент текста, имеющий отступ в начале строки, или фрагмент текста, расположенный между двумя такими отступами.

Компьютерный текст не всегда имеет отступ в первой строке, и тем более компьютерная среда не умеет распознавать смысл текста, поэтому в среде Word под абзацем понимается информационный объект, обозначенный специальным символом. 

Абзац — фрагмент текста, начинающийся с новой строки и заканчивающийся непечатаемым символом (конец абзаца). Этот символ появляется при нажатии клавиши Enter.

Поскольку абзац в любом случае состоит из символов, то разным фрагментам абзаца могут быть установлены разные значения параметров шрифта. Однако, абзац, как самостоятельный объект текста» имеет собственные свойства, которые применяются к абзацу в целом, а не к отдельным символам или фрагментам абзаца. Просмотреть все свойства абзаца и изменить их можно с помощью команды Формат ► Абзац.

Окно Абзац (рис. 2.6) имеет две вкладки. На вкладке Отступы и интервалы расположены наиболее часто используемые параметры абзаца. Они разделены на три группы: Общие, Отступ и Интервал.

image

Рис. 2.6. Параметры абзаца

Некоторые параметры абзаца можно установить, используя кнопки на панели инструментов, а также линейку, расположенную над документом.

Задание 2.4. Форматирование абзацев

Откройте файл с текстом по указанию учителя. Установите следующие значения параметров для абзацев и символов. Чтобы применить свойства к одному абзацу, достаточно щелкнуть внутри него.

1. Откройте документ по указанию учителя.

2. Включите режим отображения непечатаемых символов — кнопка на панели инструментов Стандартная.

3. Найдите символы «конец абзаца».

4. Щелкните внутри первого абзаца. Установите параметры абзаца: выравнивание по ширине, отступ слева 2 см, выступ 0,75 см, интервал перед абзацем — 6 пт, междустрочный интервал — полуторный.

5. Выделите полностью три соседних абзаца (2-й, 3-й, 4-й). Установите параметры символов и абзацев: шрифт Arial, 10 пт, отступ слева 5 см, справа — 2 см, первая строка — отступ 1 см, интервал перед абзацем 6 пт, после — 6 пт. Отключите режим отображения непечатаемых символов. Что стало с текстом? Включите режим отображения непечатаемых символов.

Читайте также:  Для аминов характерны свойства какие

6. В пятом абзаце вставьте символ «разрыв строки» в конце каждой строки (Вставка ► Разрыв ► Новую строку), а затем — в середине каждой строки. Щелкните внутри абзаца. Установите параметры абзаца: выравнивание по ширине, отступ слева 1 см, справа — 3 см, первая строка — отступ 1 см. Посмотрите результаты. Измените отступы: слева и справа — по 5 см. Измените размер шрифта так, чтобы текст до разрыва строки не помещался на одной строке. Примените разные виды выравнивания текста.

Источник

Лабораторная работа 1.

Тема: Ознакомительная работа в среде Lisp. Базовые функции Лиспа. Символы, свойства символов. Математические и логические функции

Цель:Ознакомиться со средой Lisp. Изучить базовые функции Лиспа, символы и их свойства, средства для работы с числами.

1. Основные положения программирования на Лиспе.

2. Загрузка системы, системный редактор.

3. Функции списков.

4. Символы, свойства символов.

5. Математические и логические функции.

6. Ход работы.

7. Контрольные вопросы.

Теоретическое введение.

Основные положения программирования на Лиспе

· Лисп ориентирован на обработку нечисловых задач. Он основан на алгебре списочных структур, лямбда-исчислении и теории рекурсий.

· Язык имеет функциональную направленность, т.е. любое предложение заключенное в скобки, введенное вне редактора считается функцией и выполняется сразу после нажатия «ENTER».

· Чтобы предотвратить вычисление значения выражения, нужно перед этим выражением поставить апостроф «’». Апостроф перед выражением – сокращение функции Лиспа QUOTE.

· В Лиспе формы представления программы и обрабатываемых ею данных одинаковы. И то и другое представляется списочной структурой, имеющей одинаковую форму.

· Типы данных не связаны с именами объектов данных, а сопровождают сами объекты. Переменные могут в различные моменты времени представлять различные объекты.

· Основные типы данных языка – атомы и списки.

Атомы это символы и числа.

Список упорядоченная последовательность, элементами которой являются атомы либо списки. Списки заключаются в круглые скобки, элементы списка разделяются пробелами. Несколько пробелов между символами эквивалентны одному пробелу. Первый элемент списка называется «головой», а остаток, т.е. список без первого элемента, называется «хвостом». Список, в котором нет ни одного элемента, называется пустым и обозначается «( )» либо NIL.

Символ – это имя, состоящее из букв, цифр и специальных знаков, которое обозначает какой-нибудь предмет, объект, действие. В Лиспе символы обозначают числа, другие символы или более сложные структуры, программы (функции) и другие лисповские объекты. Символы могут состоять как из прописных, так и из строчных букв, хотя в большинстве Лисп-систем прописные и строчные буквы отождествляются и представляются прописными буквами.

· Символы Т и NIL имеют в Лиспе специальное назначение: Т – обозначает логическое значение истина, a NIL – логическое значение ложь.

· При генерации или считывании Лиспом нового символа, за его величину принимается он сам. Такая ссылка символа на себя называется автоссылкой.

· Создание программы на Лиспе – написание некоторой функции, возможно сложной, при вычислении использующей другие функции либо рекурсивно саму себя. На практике, написание программ осуществляется записью в файл определений функций, данных и других объектов с помощью имеющегося в программном окружении редактора.

· Необязательно делать отступы в строках выражений, входящих в функции. На самом деле, по желанию, вы можете написать всю программу в одну строку. Однако отступы в строках и пустые строки делают структуру программы понятной и читабельной. Так же выравнивание начальных и конечных скобок основных выражений помогают убедиться в балансе скобок.

· Определения функций могут храниться в файлах и загружаться используя функцию RDS

(RDS ‘<имя файла>)

· Эта функция считывает файл выражений и выполняет эти выражения. <Имя файла> — это строковая константа, которая представляет собой имя файла без расширения (подразумевается расширение «lsp»).

· Вы можете сгенерировать ваши собственные исходные файлы с использованием либо редактора LISP, либо редактора внешних текстов, соответствующего ОС вашей ЭВМ и генерирующего стандартные текстовые файлы ASCII.

Загрузка системы, системный редактор

В качестве редактора можно использовать онлайн-редактор, который можно запустить по адресу:

https://www.tutorialspoint.com/execute_lisp_online.php.

Данная среда включает:

— текстовый редактор;

— исполнитель кода.

Функции списков

· Функция CAR возвращает в качестве значения первый элемент списка:

(CAR список) → S- выражение (атом либо список).

· Функция CDR – возвращает в качестве значения хвостовую часть списка, т. е. список, получаемый из исходного списка после удаления из него головного элемента:

(CDR список) → список

Примеры:

(write (car ‘(a b c d e f)))

(write (cdr ‘(a b c d e f)))

(write (cons ‘a ‘(b c)))

(write (list ‘a ‘(b c) ‘(e f)))

(write (append ‘(b c) ‘(e f) ‘(p q) ‘() ‘(g)))

(write (last ‘(a b c d (e f))))

(write (reverse ‘(a b c d (e f))))

Результат:

A

(B C D E F)

(A B C)

(A (B C) (E F))

(B C E F P Q G)

((E F))

((E F) D C B A)

· Объединение команд

Комбинации вызовов CAR и CDR образуют уходящие в глубину списка обращения, в Лиспе для этого используется более короткая запись. Желаемую комбинацию вызовов CAR и CDR можно записать в виде одного вызова функции:

(C…R список)

cadadr = car cdr car cdr.

Вместо многоточия записывается нужная комбинация из букв А и D (для CAR и CDR соответственно). В один вызов можно объединять не более четырех функций CAR и CDR.

(CADAR х) = (CAR (CDR (CAR х)))

(CDDAR ‘((a bed) е)) = (с d)

(CDDR ‘(k 1 m)) = (m)

(cadadr ‘(a (c d) (e f g))) = d

· Функция создания CONS.

· Функция CONSстроит новый список из переданных ей в качестве аргументов головы и хвоста.

(CONS голова хвост)

Для того чтобы можно было включить первый элемент функции CONS в качестве первого элемента значения второго аргумента этой функции, второй аргумент должен быть списком. Значением функции CONS всегда будет список:

(CONS s-выражение список) → список

(write (cons ‘a ‘(b c)))

(write (cons ‘ab ‘cd))

Читайте также:  Какими свойствами можно охарактеризовать стратосферу

(write (cons NIL ‘(a b c) ))

(write (cons ‘(a b c) NIL))

(write (cons 1 nil))

(write (cons 1 (cons 2 nil)))

(write (cons 1 (cons 2 (cons 3 nil))))

(write (cons ‘a (cons ‘b (cons ‘c nil))))

(write ( car (cons ‘a (cons ‘b (cons ‘c nil)))))

(write ( cdr (cons ‘a (cons ‘b (cons ‘c nil)))))

Результат:

(A B C)(AB . CD)(NIL A B C)((A B C))(1)(1 2)(1 2 3)(A B C)A(B C)

· Функция LIST – создает список из элементов. Она возвращает в качестве своего значения список из значений аргументов. Количество аргументов произвольно.

Функция Описание
car Принимает список в качестве аргумента и возвращает его первый элемент
cdr Принимает список в качестве аргумента и возвращает список без первого элемента
cons Принимает два аргумента, элемент и список, и возвращает список с элементом, вставленным в первое место
list Принимает любое количество аргументов и возвращает список с аргументами в качестве элементов списка.
append Объединяет два или более списка в один.
last Принимает список и возвращает список, содержащий последний элемент.
memberПринимает два аргумента, вторым из которых должен быть список, если первый аргумент является членом второго аргумента, а затем возвращает остаток списка, начинающийся с первого аргумента.
reverseПринимает список и возвращает список с верхними элементами в обратном порядке.

Примеры

(write (list 1 2))(write (list ‘a ‘b))(write (list 1 nil))(write (list 1 2 3))(write (list ‘a ‘b ‘c))(write (list 3 4 ‘a (car ‘(b . c)) (* 4 -2)))(write (list (list ‘a ‘b) (list ‘c ‘d ‘e)))

Результат

(1 2)(A B)(1 NIL)(1 2 3)(A B C)(3 4 A B -8)((A B) (C D E))

· Предикаты ATOM, ЕО, EOL, EQUAL.

Предикат – функция, которая определяет, обладает ли аргумент определенным свойством, и возвращает в качестве значения NIL или Т.

· Предикат АТОМ — проверяет, является ли аргумент атомом:

(ATOM s — выражение)

Значением вызова АТОМ будет Т, если аргументом является атом, и NIL – в противном случае.

(АТОМ ‘а) ® Т(АТОМ ‘(а b с)) ® NIL(АТОМ NIL) ® Т(АТОМ ‘(NIL)) ® NIL

· Предикат ЕОсравнивает два символа и возвращает значение Т, если они идентичны, в противном случае – NIL. С помощью EQ сравнивают только символы или константы Т и NIL.

(EQ ‘a ‘b) ® NIL(EQ ‘a (CAR ‘(a b с))) ® T (EQ NIL 0) ® T

· Предикат EOLработает так же как и EQ, но дополнительно позволяет сравнивать однотипные числа.

(EQL 2 2) ® Т(EQL 2.0 2.0) ® Т (EQL 2 2.0) ® NIL

Для сравнения чисел различных типов используют предикат «=». Значением предиката «=» является Т в случае равенства чисел независимо от их типов и внешнего вида записи.

(= 2 2.0) ® Т

· Предикат EQUALпроверяет идентичность записей. Он работает как EQL, но дополнительно проверяет одинаковость двух списков. Если внешняя структура двух лнсповскнх объектов одинакова, то результатом EQUAL будет Т.

(EQUAL ‘а ‘а) ® Т (EQUAL ‘(а b с) ‘(а b с)) ® Т (EQUAL ‘(а b с) ‘(CONS ‘а ‘(Ь с))) ® Т (EQUAL 1.0 1) ® NIL

· Функция NULLпроверяет на пустой список.

(NULL ‘())® Т

Символы, свойства символов.

· Функции присваивания: SET, SETO, SETF.

· Функция SETприсваивает символу или связывает с ним некоторое значение. Причем она вычисляет оба своих аргумента. Установленная связь действительна до конца работы, если этому имени не будет присвоено новое значение функцией SET.

(SET ‘a ‘(b с d)) результат (b с d)a результат (b с d)(SET (CAR a) (CDR (e f g)) результат (f g) a результат (b с d)(CAR a) результат b b результат (f g)

· Функция SETQсвязывает имя, не вычисляя его. Эта функция отличается от SET тем, что вычисляет только второй аргумент.

(SETQ d ‘(l m n)) = (l m n)

· Функция SETF– обобщенная функция присваивания. SETF используется для занесения значения в ячейку памяти.

(SETF ячейка памяти — значение)

· Свойства символа.

В Лиспе с символом можно связать именованные свойства. Свойства символа записываются в хранимый вместе с символом список свойств. Свойство имеет имя и значение. Список свойств может быть пуст. Его можно изменять или удалять без ограничений.

(имя1 знач1 имя2 знач2 … имяХ значМ)

Пусть имя студент имеет следующий список свойств:

(имя Иван отчество Иванович фамилия Иванов)

· Функция GETвозвращает значение свойства, связанного с символом.

(GET символ свойство)

При отсутствии свойства функция GET возвращает NIL в качестве ответа.

· Присваивание и удаление свойств.

Для присваивания символу свойств в MnLisp / Common Lisp отдельной функции нет. Для этого используются уже известные нам функции:

(SETF (GET символ свойство) значение)

Удаление свойства и его значения осуществляется псевдофункцией REMPROP.

Эта функция возвращает в качестве значения имя удаляемого свойства. Если удаляемого свойства нет, то возвращается NIL.

(REMPROP символ свойство)

Для просмотра всего списка свойств используют функцию SYMBOL- PLIST. Значением функции является весь список свойств.

(SYMBOL-PLIST ‘СИМВОЛ)

(SYMBOL-PLIST ‘студент) результат (имя Иван отчество Иванович фамилия Иванов)

Программа:

(write (setf (get ‘books’title) ‘(Gone with the Wind)))(write (setf (get ‘books ‘author) ‘(Margaret Michel)))(write (setf (get ‘books ‘publisher) ‘(Warner Books)))

Результат:

(GONE WITH THE WIND)(MARGARET MICHEL)(WARNER BOOKS)

Программа:

(setq s1 (cons ‘(a b) NIL))(setq s2 (cons ‘(a b) NIL))(setf (get ‘s1 ‘a) 10) (setf (get ‘s1 ‘b) 20)(setq spisok (list s1 s2))(write (symbol-plist ‘s1))

Программа:

(setf (get ‘books ‘title) ‘(Gone with the Wind))(setf (get ‘books ‘author) ‘(Margaret Micheal))(setf (get ‘books ‘publisher) ‘(Warner Books))(write (get ‘books ‘title))(write (get ‘books ‘author))(write (get ‘books ‘publisher))

Результат:

(GONE WITH THE WIND)(MARGARET MICHEAL)(WARNER BOOKS)

Программа:

(setf (get ‘annie ‘age) 43)(setf (get ‘annie ‘job) ‘accountant)(setf (get ‘annie ‘sex) ‘female)(setf (get ‘annie ‘children) 3)(write (symbol-plist ‘annie))(remprop ‘annie ‘age)(write (symbol-plist ‘annie))

Результат:

(CHILDREN 3 SEX FEMALE JOB ACCOUNTANT AGE 43)(CHILDREN 3 SEX FEMALE JOB ACCOUNTANT)

Свойства символов независимо от их значений доступны из всех контекстов пока не будут явно изменены или удалены. Изменение значения символа не влияет на другие свойства. Свойства символа передаются другому символу с помощью функции SETQ.

Рекомендуемые страницы:

Воспользуйтесь поиском по сайту:

Источник