Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
26.04.2015
Размер:
205.82 Кб
Скачать

Символьный тип

Основным символьным типом является Char. Данный тип используется для хранения символа из таблицы ASCII. Каждый символ в данной таблице представлен числовым значением от 0 до 255, поэтому переменная такого типа занимает в памяти всего один байт. Данный тип часто используется при обработке данных поступающих от клавиатуры.

Кроме типа Char, язык Delphi имеет еще два дополнительных символьных типа:

  • AnsiChar является полным аналогом типа Char. Занимает один байт памяти;

  • WideChar – тип, который используется для хранения символов в кодировке UNICODE. Данная кодировка ограничена не 256, а 65 536 символами. Занимает два байта памяти.

Над символьными типами данных допустимы следующие функции:

    • Char(x) возвращает символ с кодом, который соответствует целочисленному значению “х” ;

    • UpCase(c) возвращает символ “с”, преобразованный в верхний регистр (т.е. преобразует строчные буквы в прописные);

    • #код возвращает символ по данному коду, широко используется для неотображаемых символов.

Пример

var

X,Y:Char;

N:Integer;

….

N:=Ord(‘A’); // N= 65

Y:=#65; //Y= ‘A’

Y:=Char(65) //Y= ‘A’

X:=Succ(‘B’) ; // возвращает следующий после ‘B’, т.е. ( X=‘C’).

Для ввода-вывода символьных данных можно использують компонент Edit.

Пример

X:=Edit1.Text[1];// вводится первый символ из набранного значения

Edit1.Text:=X;

Логический тип

Для управления алгоритмическим процессом в Delphi используются управляющие структуры: выбора и цикла. В каждую из этих структур обязательно входит некоторое условие, которое в языке представляется логическим выражением.

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

Переменные логического типа Boolean занимают в памяти один байт и могут принимать одно из двух значений False - ложное или True - истинное

Пример

var

Flag1, Flag2, Ye, No, Inicator : Boolean;

Отношения представляют собой сравнение двух арифметических выражений и принимают значение True или False в зависимости от того истинно отношение или нет.

Знаки отношений:

= равно > больше

<> неравно <= меньше или равно

< меньше >= больше или равно

Пример

логические выражения - отношения

MaxInt = 32767 значение True

Int(X) > X значение False

Pi > Exp(1) значение True

X < Sqr(X) значение зависит от X

Использовать отношение "равно" c выражениями вещественного типа недопустимо, так как в общем случае результат не предсказуем ( хотя и определен ).

Sin(Pi/2) = 1 // пример неправильного отношения

Для переменных булевского типа определены следующие операции:

not (не), and (и), or (или), xor (исключающее или)

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

1 уровень not

2 уровень and

3 уровень or, xor

4 уровень отношения

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

Пример

Yes: =(x>=0) and (x<=1) and (y>=0) and (y<=1);

No: =not (Yes);

Yes_1Qurter: =(x>=0) and (y>=0);

Yes_Circle: =Sqr(x)+Sqr(y)<=1;

Yes_Sector: =Yes_Qurter and Yes_Circle;

Логические значения дают следующие функции:

EoF - True , если достигнут конец файла и False в противном случае

Odd(x) - True, если x - нечетно и False, если x - четно.

Для ввода и вывода логических данных удобно использовать компонент CheckBox.

Пример

Indicator:= CheckBox1.Checked; // ввод

CheckBox1.Checked:= Indicator; // вывод

Соседние файлы в папке Методический материал