Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Топ:
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Интересное:
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Символы - это основные неделимые знаки, из которых составляются все тексты программ на данном языке. Совокупность всех символов образует алфавит языка. Алфавит языка программирования несколько шире, чем алфавит естественного языка, и включает обычно латинские буквы, знаки арифметических операций, символы-разделители и ряд других специальных символов. Значениями символьного типа являются символы из множества ASCII (American Standard Code For information Interchange- американский стандартный код для обмена информацией). Это множество состоит из 256 различных символов, упорядоченных определенным образом, и содержит символы заглавных и строчных букв, цифр, и различных других символов, включая специальные управляющие символы. Допускаются некоторые отклонения от стандарта ASCII, в частности, при наличии соответствующей системной поддержки это множество может содержать буквы русского алфавита.
Порядковый номер (кодировку) значений символьного типа можно узнать из соответствующих разделов технических описаний. Согласно стандарту ASCII, каждому символу и некоторым управляющим инструкциям соответствует свой числовой код, принимающий значения от 0 до 127. В двоичном представлении ASCII-код использует 7 разрядов. Коды этих символов приведены в табл. 1.1.
Таблица 1.1:
| Код | Символ | Код | Символ | Код | Символ | Код | Символ | Код | Символ |
| 0 | NUL | 27 | ESC | 54 | 6 | 81 | Q | 108 | l |
| 1 | SOH | 28 | FS | 55 | 7 | 82 | R | 109 | m |
| 2 | STX | 29 | GS | 56 | 8 | 83 | S | 110 | n |
| 3 | ETX | 30 | RS | 57 | 9 | 84 | T | 111 | o |
| 4 | EOT | 31 | US | 58 | : | 85 | U | 112 | p |
| 5 | ENQ | 32 | SP | 59 | ; | 86 | V | 113 | q |
| 6 | ACK | 33 | ! | 60 | < | 87 | W | 114 | r |
| 7 | BEL | 34 | “ | 61 | = | 88 | X | 115 | s |
| 8 | BS | 35 | # | 62 | > | 89 | Y | 116 | t |
| 9 | HT | 36 | $ | 63 | ? | 90 | Z | 117 | u |
| 10 | LF | 37 | % | 64 | @ | 91 | [ | 118 | v |
| 11 | VT | 38 | & | 65 | A | 92 | \ | 119 | w |
| 12 | FF | 39 | ‘ | 66 | B | 93 | ] | 120 | x |
| 13 | CR | 40 | ( | 67 | C | 94 | ^ | 121 | y |
| 14 | SO | 41 | ) | 68 | D | 95 | _ | 122 | z |
| 15 | SI | 42 | * | 69 | E | 96 | ‘ | 123 | { |
| 16 | DLE | 43 | + | 70 | F | 97 | a | 124 | | |
| 17 | DC1 | 44 | , | 71 | G | 98 | b | 125 | } |
| 18 | DC2 | 45 | - | 72 | H | 99 | c | 126 | ~ |
| 19 | DC3 | 46 | . | 73 | I | 100 | d | 127 | DEL |
| 20 | DC4 | 47 | / | 74 | J | 101 | e | ||
| 21 | NAK | 48 | 0 | 75 | K | 102 | f | ||
| 22 | SIN | 49 | 1 | 76 | L | 103 | g | ||
| 23 | ETB | 50 | 2 | 77 | M | 104 | h | ||
| 24 | CAN | 51 | 3 | 78 | N | 105 | i | ||
| 25 | EM | 52 | 4 | 79 | O | 106 | j | ||
| 26 | SUB | 53 | 5 | 80 | P | 107 | k |
Переменная типа Char хранит один символ. Буквальная символьная константа задается указанием символа, который записывается между апострофами. Примеры строковых и символьных констант:
' Turbo Pascal '
' ******************* '
' Д ': 'Y', 'д', '9'.
В приведенном примере следует обратить внимание на последнюю константу. Это буква “девять", а не число девять. Если переменная Symbol описана как переменная типа Char, то допустимы следующие операторы присваивания:
Symbol: = 'S':: = '?':: = ' ':: = ' ' ' ';
После выполнения второго оператора присваивания переменная Symbol имеет значение символа «знак вопроса», а после выполнения третьего оператора - значение «пробел» (в этом случае пробел является полноправным символом). В четвертой строке первый и последний апострофы являются ограничителями символьного значения, а два апострофа между ними трактуются как один апостроф.
Значение переменной символьного типа можно задать в операторе присваивания с помощью буквальной символьной константы или функции Chr. Функция Chr устанавливает соответствие между однобайтовыми целыми значениями кода и символами.
Противоположной по отношению к Chr является функция Qrd(x), которая возвращает код символьного аргумента.
Существует функция UpCase, которая преобразует строчные буквы латинского алфавита в прописные, но не изменяет другие символы, например:
UpCase('p') = 'р'('B') = 'В' ('+') = '+'
Если символьное значение имеет графическое представление, то оно изображается соответствующим знаком, заключенным в одинаковые кавычки (апострофы), например:
'a' 'X' ':' ''''
Для представления самого апострофа его изображение удваивается.
Если символ, который нужно изобразить, не имеет графического представления, то можно воспользоваться следующей эквивалентной формой записи, состоящей из символа '#' (решетка, диез) и целочисленного кода символа (от 0 до 255):
#10
#$A
Кроме того, некоторые управляющие символы ASCII можно представить в следующей форме:
^C
где C- условное обозначение управляющего символа, например:
^C символ с кодировкой 7
^[ эквивалентно #$1B
Переменная типа char может получить значение в результате выполнения инструкции присваивания или ввода (read, readln). Если переменная типа char получает значение в результате выполнения операции присваивания, то справа от знака: = должно стоять выражение типа char, например, переменная типа char или символьная константа.
Над значениями символьного типа возможны операции сравнения, причем эти операции дают тот же результат, что и над соответственными целочисленными кодами символов.
В памяти компьютера переменная типа char занимает один байт (это значит, что существует 255 различных символов). Каждому символу поставлено в соответствие число(код), причем код символа '0' меньше кода символа '1', символ 'А' -меньше, чем код символа 'В', а символа ' В', в свою очередь, меньше кода символа 'С'.
Таким образом можно записать:
'0'<'1'<…<'9'<…<'A'<'B'<…<'Z'<'a'<'b'<…<'z'
Коды символов букв русского алфавита больше кодов букв латинского алфавита, и при этом справедливо следующее:
'А'<'Б'<'В'<…<'Ю'<'Я'<'а'<'б'<'в'<…<'э'<'ю'<'я'.
Числовые коды преобразуются в буквы и другие символы лишь в момент их вывода на экран или принтер. Соответствие между символом и его кодом задается припомощи кодовой таблицы, которая находится в памяти компьютера и используется при выводе символов.
Управляющие символы.
В табл. 1.1 кроме обычных символов имеются специальные управляющие символы. Они представляют собой команды, вывод которых на стандартное выходное устройство приводит к выполнению определенных действий. Эти символы имеют мнемонические двух или трехбуквенные сокращения, пришедшие к нам из эры телеграфа. К управляющему символу можно обратиться по его ASCII-коду или по Ctrl-последовательности, последняя представляет собой код, порождаемый одновременным нажатием клавиши Ctrl и какой-либо другой клавиши.
Символьные константы упорядочены по кодам. Например, 'а'<Ь' - истина.
Рекомендуется применять # (знак номера) только для специальных (служебных) символов, которые не отображаются на экране и имеют мнемонические сокращения, унаследованные из прошлого. Некоторые из них могут использоваться программистом для выполнения определенных действий:
□ #07 (BEL) - подача короткого звукового сигнала;
□ #08 (BS) - удаление символа слева от курсора и смешение курсора на одну позицию назад, соответствует клавише <BackSpace>;
□ #09 (H Т) - горизонтальная табуляция: смешение курсора в позицию, кратную 8, плюс 1 (9, 17, 25 и т. д.), соответствует клавише <ТаЬ>;
□ #10 (LF) - перевод строки, курсор смещается по вертикали вниз на одну строку;
□ #11 (VT) - вертикальная табуляция;
□#12(FF) - прогон страницы;
□ #13 (CR) - возврат каретки или перевод строки, выполняет перемещение курсора в начало следующей строки экрана (соответствует клавише <Enter>);
□ #26 (SUB) - конец файла, вводится нажатием комбинации клавиш
<Ctrl> + <Z>;
□#27 (ESC) - конец работы, символ соответствует клавише <Esc>;
□ #32 (BL) - пробел
и т.д.
Предположим, например, что в программе имеется описание:
var ch: Char;
Тогда операторы
ch: = Chr(7);
ch: = #7;
ch: = ^G;
символьный тип язык программирование
присваивают символьной переменной ch одно и то же символьное значение. Здесь ^ G обозначает Ctrl-последовательность Ctrt+G (управляющий символ с кодом 7 BEL- звуковой сигнал). Знак # и следующая за ним целая беззнаковая константа обозначают код символа.
Из тридцати двух управляющих символов нам, скорее всего, могут понадобиться лишь некоторые (табл. 1.2).
Таблица 1.2. Некоторые управляющие символы набора ASCII
| Код | Ctrl-последовательность | Использование функции Сhr | Мнемоническое обозначение | Действие |
| #7 | ^G | Chr(7) | BEL | Звуковой сигнал динамика |
| #8 | ^Н | Chr(8) | BS | Возврат курсора на одну позицию |
| #9 | ^I | Chr(9) | HT | Горизонтальная табуляция |
| #10 | ^J | Chr(10) | LF | Перевод строки |
| #12 | ^L | Chr(12) | FF | Прогон страницы |
| #13 | ^М | Chr(13) | CR | Возврат каретки |
| #26 | ^Z | Chr(26) | SUB | Конец файла |
| #27 | ^[ | Chr(27) | ESC | Символ Escape |
Первые 32 символа ASCII являются управляющими. Для большинства из них не существует соответствующей клавиши. Для того, чтобы включить в последовательность символов такие символы, введено понятие управляющего символа, для которого предусмотрена запись: ^<символ>. Например, ^[ - соответствует клавише<Escape>; ^G - для звукового сигнала.
Чтение символа.
Обращение Read (f, v) t где v обозначает переменную, относящуюся к типу, совместимому с типом Char, эквивалентно оператору:
begin v:= f↑; Get(f) end
где все вхождения f обозначают одну и ту же переменную. Если перед обращением Read(f, v) было истинно eoln(f), то после будет истинно условие (v= ' ').
Лексемы и разделители
Программа на Паскале состоит из лексем и символов-разделителей. В лексемы Паскаля входят специальные символы, символы-слова, имена, числа, строки символов, метки и директивы. В следующем разделе речь пойдет о символах-разделителях.
Разделители
Символами-разделителями считаются пробелы, концы строк (разделители строк) и примечания. Внутри лексем Паскаля ни разделители, ни их части встречаться не могут. Между двумя следующими друг за другом именами, символами-словами или числами должен быть по крайней мере один разделитель.
Примечаниеначинается с символа { или (* (но не внутри строки символов) и заканчивается } или *). Само примечание может содержать любые символы, включая концы строк, за исключением } или *). Любое примечание может быть заменено на пробел, смысл текста программы при этом не изменяется.
Мы можем улучшать внешний вид (удобочитаемость) программы на Паскале, включая в нее пробелы, концы строк (пустые и) и примечания.
|
|
|
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!