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

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

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

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

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

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

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

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

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

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

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

image

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для набора математических символов в поле Шрифт можно выбрать специальный шрифт 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 см. Измените размер шрифта так, чтобы текст до разрыва строки не помещался на одной строке. Примените разные виды выравнивания текста.

Источник

В Лиспе с символом можно связать именованные свойства (property). Свойства символа записываются в хранимый вместе с символом список свойств (property list, p-list).

У свойств есть имя и значение

Список свойств может быть пуст или содержать произвольное количество свойств. Его форма такова:

(имя1 значение1 имя2 значение2 … имяN значениеN)

Например, у символа ЯГОДА-РЯБИНЫ может быть такой список свойств:

(вкус кислый цвет красный)

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

Системные и определяемые свойства

Ранее мы показали, что с символом связаны лишь его имя – произвольное, назначенное функцией присваивания (SETQ), значение; назначенное определением функции (DEFUN) описание вычислений (лямбда-выражение). Значение и определение функции являются встроенными системными свойствами, которые управляют работой интерпретатора в различных ситуациях. Функции, используемые для чтения и изменения этих свойств (SETQ, SYMBOL-VALUE, DEFUN, FUNCTION-VALUE и другие), мы уже рассматривали ранее. Весь список свойств также является системным свойством. Работающие со свойствами символов прикладные системы могут свободно определять новые свойства.

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

Чтение свойства

Выяснить значение свойства, связанного с символом, можно с помощью функции GET:

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

Если, например, с символом ЯГОДА-РЯБИНЫ связан определенный нами ранее список свойств, то мы получим следующие результаты:

_(get ’ягода-рябины ’вкус)

КИСЛЫЙ

_(get ’ягода-рябины ’вес)

NIL

Так как у символа ЯГОДА-РЯБИНЫ нет свойства ВЕС, то GET вернет значение NIL.

Присваивание свойства

Присваивание нового свойства или изменение значения существующего свойства в основных диалектах языка Лисп осуществляется псевдофункцией PUTPROP (put property) или PUT:

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

В Коммон Лиспе функции PUTPROP не существует. Свойства символов находятся в связанных с символами ячейках памяти, для присваивания значений которым используется обобщенная функция присваивания SETF. Присваивание свойства в Коммон Лиспе осуществляется через функции SETF и GET следующим образом:

Читайте также:  Какие свойствами обладает оксид меди

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

Здесь вызов GET возвращает в качестве значения ячейку памяти для данного свойства, содержимое которой обновляет вызов SETF. Присваивание будет работать и в том случае, если ранее у символа не было такого свойства. Приведем пример:

_(setf (get ’ягода-рябины ’вес) ’(2 g))

(2 G)

_(get ’ягода-рябины ’вес)

(2 G)

Побочным эффектом вызова будет изменение списка свойств символа ЯГОДА-РЯБИНЫ следующим образом:

(ВЕС (2 G) ВКУС КИСЛЫЙ ЦВЕТ КРАСНЫЙ)

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

Удаление свойства

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

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

Приведем пример:

_(remprop ’ягода-рябины ’вкус)

ВКУС

_(get ’ягода-рябины ’вкус)

NIL

Псевдофункция REMPROP возвращает в качестве значения имя удаляемого свойства. Если удаляемого свойства нет, то возвращается NIL. Свойство можно удалить, присвоив ему значение NIL. В этом случае имя свойства и значение NIL физически остаются в списке свойств.

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

(SYMBOL-PLIST символ)

является весь список свойств:

_(symbol-plist ’ягода-рябины)

(ВЕС (2 G) ЦВЕТ КРАСНЫЙ)

Свойства глобальны

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

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

В некоторых системах можно использовать в качестве обобщения так называемые свободные списки свойств (disembodied property list), несвязанные с каким-либо символом.

ЛАБОРАТОРНАЯ РАБОТА №9

1. Будут ли меняться списки свойств статических и динамических переменных при смене контекста? Если да, то как?

2. Предположим, что у имени города есть свойства х и y, которые содержат координаты места нахождения города относительно некоторого начала координат. Напишите функцию (РАССТОЯНИЕ a b), вычисляющую расстояние между городами a и b, если значением функции (SQRT x) является квадратный корень числа х.

3. Предположим, что отец и мать некоторого лица, хранятся как значения соответствующих свойств у символа, обозначающего это лицо. Напишите функцию (РОДИТЕЛИ х), которая возвращает в качестве значения родителей, и предикат (СЕСТРЫ-БРАТЬЯ х1 х2), который истинен в случае, если х1 и х2 – сестры или братья, родные или с одним общим родителем.

4. Определите функцию REMPROPS, которая удаляет все свойства символа.

5. Функция GET возвращает в качестве результата NIL в том случае, если у символа нет данного свойства, либо если значением этого свойства является NIL. Следовательно, функцией GET нельзя проверить, есть ли некоторое свойство в вписке свойств. Напишите предикат

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

который проверяет, обладает ли символ данным свойством.

ВВОД И ВЫВОД

  1. Ввод и вывод входят в диалог
  2. READ читает и возвращает выражение
  3. Программа ввода выделяет формы
  4. Макросы чтения изменяют синтаксис Лиспа
  5. Символы хранятся в списке объектов
  6. Пакеты или пространства имен
  7. PRINT переводит строку, выводит значение и пробел
  8. PRIN1 и PRINC выводят без перевода строки
  9. TERPRI переводит строку
  10. FORMAT выводит в соответствии с образцом
  11. Использование файлов
  12. LOAD загружает определения

Ввод и вывод входят в диалог

До сих пор в определенных нами функциях ввод данных (READ) и вывод (PRINT) осуществлялись в процессе диалога с интерпретатором. Интерпретатор читал вводимое пользователем выражение, вычислял его значение и возвращал его пользователю. Сами формы и функции не содержали ничего, связанного с вводом или выводом.

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

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

READ читает и возвращает выражение

Как только интерпретатор встречает предложение READ, вычисления приостанавливаются до тех пор, пока пользователь не введет какой-нибудь символ или целиком выражение:

_(read)

(вводимое выражение) ; выражение пользователя

(ВВОДИМОЕ ВЫРАЖЕНИЕ) ; значение функции

READ

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

Читайте также:  Какие свойства проявляет hno3

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

Если прочитанное значение необходимо сохранить для дальнейшего использования, то вызов READ должен быть аргументом какой-нибудь формы, например присваивания (SETQ), которая свяжет полученное выражение:

_(setq input (read))

(+ 2 3) ; введенное выражение

(+ 2 3) ; значение

_(input)

(+ 2 3)

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

_(eval input)

_(eval (list (read) (read) (read)))

(+ 2 3)



Источник

Символ — это некоторый значок, изображение.

Один и тот же символ можно записать по-разному, например, два человека по-разному напишут от руки букву “A”, и даже в компьютерном представлении одна и та же буква будет выглядеть по-разному, если ее отображать разными шрифтами, при этом это будет все равно один и тот же символ. Верно и другое: разные символы могут быть записаны одинаково, например, вот две разные буквы, одна — латинского алфавита, другая – русского: “A” и “А”. Несмотря на то, что они выглядят одинаково, удобней считать их разными символами.

К числу символов принадлежат не только буквы (заглавные или строчные, латинские или русские), но и цифры, знаки препинания, спецсимволы типа “=”, “(”, “&” и т.п. и даже (обратите особое внимание!) пробелы между словами.

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

Первоначально договорились под кодирование одного символа отвести один байт, то есть 8 бит информации. Таким образом можно было закодировать 256 различных значений, то есть в записи текста можно использовать 256 различных символов. Этого достаточно, чтобы отобразить все символы латинского алфавита, цифры, знаки препинания и некоторые другие символы.

Стандарт, указывающий, какие числовые коды соответствуют каким основным символам, называется ASCII. В таблицу ASCII включены символы с кодами от 0 до 127, то есть ASCII – это семибитный код. Вот так выглядит таблица ASCII.

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

В ASCII-таблицы нет русских букв, нет букв сотен других национальных алфавитов. Первоначально для отображения букв национальных алфавитов использовали вторую половину возможного значения байта, то есть символы с кодами от 128 до 255. Это приводило к множеству проблем, например, поскольку 128 значений явно недостаточно для того, чтобы отобразить символы всех национальных алфавитов (даже недостаточно для того, чтобы отобразить символы одного алфавита, например, китайской письменности). Поэтому для кодирования символов используется стандарт Unicode, версия 6.0 которого (октябрь, 2010) включает свыше 109000 различных символов. Естественно, для кодирования Unicode-символов недостаточно одного байта на символ, поэтому используются многобайтовые кодировки (для представления одного символа необходимо несколько байт).

Непечатные символы

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

Речь идет о существовании так называемых управляющих кодов, величина которых меньше шестнадцатиричного числа 20 (т.е. 32 в десятичной системе счисления). При получении этих кодов внешние устройства не изображают какого-либо символа, а выполняют те или иные управляющие действия.

Так, код 07 вызывает подачу стандартного звукового сигнала, а код 0C – очистку экрана.

Конец строки

Особую роль играют коды $0A_{16}$ (10, перевод строки, обозначаемый часто LF) и $0D_{16}$ (13, возврат каретки – CR). Первый вызывает перемещение в следующую строку без изменения позиции, а второй – на начало текущей строки. Таким образом, для перехода на начало новой строки требуются оба кода и в любом тексте эта “неразлучная пара” кодов хранится после каждой строки.

В разных ОС конец строки обозначается по-разному. Если в системе Windows — это два подряд идущих символа с кодами 13 и 10, то в системе GNU/Linux используется один символ с кодом 10, а в MacOS — один символ с кодом 13.

Названия «возврат каретки» и «перевод строки» имеют историческое происхождение и связаны с устройством пишущей машинки.

Как ввести символ с определённым кодом

В операционной системе Windows произвольный символ можно ввести по его коду (в десятичной системе счисления), зажав Alt и набив код на NumPad клавиатуре.

Источник