Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КОМП. НАУКИ_1сем.doc
Скачиваний:
6
Добавлен:
05.11.2018
Размер:
902.14 Кб
Скачать
      1. Символьные константы и переменные Неименованные символьные константы

Изображение символа (литера) – это символ, заключенный в апострофы, например: 'A', 'q', '+', '7'.

Апостроф изображается двумя апострофами, заключенными в апострофы: ''''.

Если символ не имеет графического представления, он изображается решеткой # и кодом, например, «перевод строки» изображается #10. Любой символ тоже можно так изобразить, например, прописная латинская буква ’A’ имеет код 65, поэтому ’A’ и #65 – это одно и то же.

Именованные символьные константы

Символьную константу можно обозначить именем и задать в разделе констант, например:

Const ch='A'; blank=#32; {пробел}

Типизированные символьные константы

Фактически это переменные, получающие указанное при описании значение в начале работы программы, например: Const oper:char='+'; Далее в программе ей можно присвоить новое значение: oper:=’*’;

Символьные переменные

Объявление символьных переменных: var s, ch1, ch2 : char;

      1. Операции над символами

  1. конкатенация (сцепление), обозначаемая знаком +, т.е. добавление второго символа после первого; в результате получается строка из двух символов. Например, «сложив» символы ’5’+’5’, получим строку ’55’, при сложении чисел 5+5 получим число 10.

  2. операции отношения = <> < <= > >= сравнивают символы по их кодам.

Тип char является порядковым типом, символы упорядочены в соответствии с их кодами в кодовой таблице, поэтому 'A'<'B'; 'A'<’a’; '0'<’1’; '+'<'' и.т.д.

      1. Стандартные функции над символами

  1. function Ord(ch)– для символа ch функция возвращает его код. Например, Ord(’A’) возвращает число 65.

  2. function Chr(b) – для кода b функция возвращает соответствующий символ. Например, Chr(65) возвращает символ 'A’. Ord(Chr(65)) возвращает число 65. Chr(Ord(’A’)) возвращает символ ’A’.

  3. function Pred(ch) – возвращает символ, предшествующий символу ch. Например, Pred(’B’) возвращает символ ’A’. То же самое можно получить путем вызова Chr(Ord(ch)-1).

  4. function Succ(ch) – возвращает символ, следующий за символом ch. Например, Succ(’A’) возвращает символ ’B’. То же самое можно получить путем вызова Chr(Ord(ch)+1).

  5. function UpCase(ch) – преобразует строчную латинскую букву в прописную, прочие символы, не принадлежащие диапазону ’a’..’z’, функция возвращает без изменения.

    1. Строковые типы данных

      1. Строковые типы. Представление строк в памяти компьютера

В Delphi имеются следующие строковые типы:

  1. Короткая строка ShortString. Каждый символ имеет тип char. В памяти такой строке выделяется 255 байт для символов строки плюс нулевой по счету байт, который содержит текущую длину строки – символ, код которого равен количеству символов в строке. Текущая длина устанавливается автоматически при объявлении строковой переменной, при присваивании и при вводе в нее.

  2. Длинная строка AnsiString. Каждый символ имеет тип AnsiChar. Максимальная длина строки около 231 символов. Память для строки выделяется в виде динамического массива.

  3. Строки String, которые могут совпадать либо с ShortString (если задана директива компиляции {$Н-}), либо с AnsiString (если задана директива компиляции {$Н+}).

  4. Широкая строка WideString. Каждый символ – типа WideChar, который кодируется двумя байтами. Максимальная длина строки около 230 символов. Память выделяется в виде динамического массива.

  5. Заканчивающаяся нулем строка Pchar, т.е. строка, в конце которой стоит символ #0. Такие строки не имеют указателя длины строки.

      1. Строковые константы и переменные

Неименованные строковые константы

Изображение строки – это последовательность заключенных в апострофы символов, например: 'Turbo Delphi' пустая строка изображается двумя апострофами: '', апостроф внутри строки изображается двумя апострофами: ’I don''t know Object Pascal'

Именованные строковые константы

const TD='Turbo Delphi'; Empty=’’;

Типизированные строковые константы

const S: ShortString ='Turbo Delphi';

Фактически S – это переменная типа ShortString, которой в начале работы программы будет присвоено значение.

Строковые переменные

Переменные строкового типа можно объявить:

  1. без объявления типа, например: var FIO: string[50]; {тип переменной FIO – анонимный, т.е. безымянный тип string[50]}

  2. с предварительным объявлением типа, например: type str50=string[50]; {тип по имени str50 строк с максимальной длиной 50 символов} var FIO:str50;

Переменная FIO может содержать от 0 до 50 символов.

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

Присваивание пустой строки: S:='';

Если строковой переменной присваивается строка, в которой символов больше, чем указано в объявлении этой переменной, то лишние символы отбрасываются.

Двойственность строк

Строковые типы обладают свойствами как простых, так и структурированных типов:

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

  • Как и для структурированных типов, в строках возможен доступ к каждому элементу строки, например, S[i]

      1. Операции над строками

  1. конкатенация (сцепление), обозначаемая знаком + Результатом операции будет строка, состоящая из символов первого операнда, вслед за которыми записаны символы второго операнда. В операции могут участвовать и символы. Например: 'Turbo’ + ’ ’ + ’Delphi'

  2. операции отношения = < <= > >= <> Операции отношения выполняются над строками посимвольно слева направо согласно кодам символов кодовой таблицы. Выполнение заканчивается на первой паре символов с различными кодами, либо на последней паре. Например, ’abcde’ < ’abfe’ (т.к. код ’c’ < кода ’f’); ’abc’ > ’ab’ (строка больше своего начала).