Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 Типы данных_Процед и функции.doc
Скачиваний:
2
Добавлен:
07.07.2019
Размер:
231.94 Кб
Скачать

Символьные типы данных

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

AnsiCharсимвол ANSI таблицы. Используется по умолчанию, то есть, когда мы указываем тип Char, подразумеваем именно этот тип.

WideCharсимвол UNICODE таблицы. Разница между ними такая же, как и у строк этих типов.

Как и в случае со строками, программист обычно объявляет тип Char, что соответствует типу AnsiChar.

Логический тип данных

Логический тип данных используется в условных выражениях. Он необходим для создания логики программы. Условное выражение проверяет – соответствует ли действительность заданному условию? Если соответствует, то выражение возвращает результат True (Истина). Если не соответствует, то возвращается False (Ложь). Таким образом, логический тип данных может иметь только одно из двух этих значений.

Booleanлогический тип данных.

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

Таблица 3. Логические операнды

Логическая операция

Описание

Логическая операция

Описание

=

Равно

>=

Больше или равно

>

Больше

<=

Меньше или равно

<

Меньше

<>

Не равно

==

Точное равно

Предположим, у нас есть два числа, и нужно проверить их на равенство. Эти числа хранятся в переменных целого типа a и b. Тогда выражение сравнения будет выглядеть так:

a = b;

Если в обоих переменных хранится одно и то же значение, то результатом такого сравнения будет True, иначе – False.

Тип Variant

Бывают случаи, когда на этапе программирования мы еще не можем четко определить тип данных определенной переменной. В таком случае можно воспользоваться очень мощным типом Variant. Этот тип вводился в Delphi для поддержки технологии OLE (Object Link and Embedding – внедрение и связь объектов). Такая технология широко используется в Windows для обмена данными между приложениями различного типа. С помощью OLE происходит вставка таблицы MS Excel в редактор текстов MS Word, или картинка из Paint легко вставляется в тот же редактор. В этой технологии Variant используется на каждом шагу, однако ему можно найти применение и в других случаях.

Переменные типа Variant могут принимать значения любого типа! Вы присваиваете такой переменной что угодно, а программа сама определяет ее тип на этапе выполнения. Давайте рассмотрим пример:

var

V : Variant;

begin

V := 5; //присвоили целое число

V := 'Это текст'; //присвоили строку

V := True; //логический тип

V := 3,14; //вещественный тип

end;

В этом примере во время выполнения программы тип переменной изменится 4 раза, и код выполнится корректно. Когда программа встречает тип Variant, она автоматически выделяет под нее память. Если значение не задано, переменной присваивается ноль.

Совет: старайтесь использовать тип Variant только там, где это действительно необходимо! За удобство использования такой переменной тоже приходится платить. Переменная такого типа занимает значительно больше памяти, чем переменная любого другого типа. Процессору мы тоже задаем лишнюю работу, ведь сначала нужно определить тип данных в переменной, затем присвоить этот тип самой переменной, и т.п. Кроме того, переменные типа Variant очень сложно отлаживать в больших программах. Складывая, к примеру, строку и целое число, вы можете получить совсем не тот результат, который ожидали!

Рассмотрим пример:

var

v1, v2, v3 : Variant;

begin

v1 := '1';

v2 := '5';

v3 := 10;

v1 := v1 + v2 + v3;

end;

Как вы считаете, какой результат окажется в конце концов в переменной v1? На первый взгляд, результат очевиден: число 16. Однако не спешите с выводами. Когда операторы вычисления имеют равный приоритет, они выполняются слева – направо. В данном примере вначале объединятся строки, в результате чего получится строка "15". Затем эта строка преобразуется в целое число, и к нему будет прибавлено число 10. Поэтому результат сложения – число 25.

Begin .. end

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

Begin

//блок кода

end;

Обратите внимание, что после слова Begin точка с запятой не ставится. Эти программные скобки обязательны для каждой процедуры или функции, даже если они содержат только одну команду. Однако эти же скобки часто применяются в управляющих конструкциях или циклах. Циклы, как и управляющие конструкции, работают только с одним оператором (командой). А что, если в этом месте требуется использовать более одного оператора? Тут на помощь приходят эти самые программные скобки. Весь блок кода, сколько бы команд там не было, заключенный между Begin и End воспринимается, как один оператор. Мы не раз будем использовать эти скобки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]