Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_22-Управляющая конструкция.doc
Скачиваний:
3
Добавлен:
14.08.2019
Размер:
92.16 Кб
Скачать

Вопрос № 2 Символьные типы данных

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

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

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

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

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

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

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

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

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

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

Описание

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

Описание

=

Равно

>=

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

>

Больше

<=

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

<

Меньше

<>

Не равно

==

Точное равно

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

a = b;

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

Вопрос № 4 Begin .. End

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

Begin

//блок кода

end;

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

Вопрос №5 Управляющая конструкция if

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

if условие then оператор;

Кто знаком с английским языком, уже ухватил суть этой конструкции. На русский язык это выражение можно перевести так:

если условие то оператор;

Другими словами, если какое-то заданное условие верно, то выполняется указанный оператор. Иначе этот оператор не выполняется.

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

if условие then begin

Оператор 1;

Оператор 2;

...

Оператор n;

end;

Операторы, заключенные в программные скобки begin .. end воспринимаются, как единый оператор. Иногда и этого бывает недостаточно. Что, если по логике программы требуется выполнить один оператор, если условие верно, и другой, если оно неверно? Тут приходит на помощь расширенная конструкция:

if условие then оператор 1

else оператор2;

Как видно из синтаксиса, если указанное условие истинно, то выполнится оператор 1. Иначе выполнится оператор 2. Еще одно правило, которое следует запомнить: перед словом else точка с запятой не ставится!

Конечно же, с помощью программных скобок можно расширить и эту конструкцию:

if условие then begin

Оператор 1;

Оператор n;

end

else begin

Оператор 1;

Оператор n;

end;

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

if условие then

begin

Оператор 1;

Оператор n;

end;

То есть, слово begin пишется на отдельной строке. Другой стиль выглядит иначе:

if условие then begin

Оператор 1;

Оператор n;

end;

Оба эти стиля являются классическими, какой из них применять – дело вкуса. На этой лекции будет использоваться второй стиль.

Однако и это еще не все. В предыдущем примере мы рассматривали только одно условие. Если оно верно, то выполнялся один оператор, а если нет – другой. А что, если по логике программы требуется проверить более, чем одно условие? И снова мы можем расширить эту конструкцию. Взгляните на синтаксис:

if условие 1 then оператор 1

else if условие 2 then оператор 2

else оператор 3;

Здесь, если условие 1 будет верно, конструкция выполняет оператор 1 и завершает работу. Если это условие неверно, проверяется условие 2. Если условие 2 верно, то выполняется оператор 2, и конструкция завершает работу. Если же оба условия неверны, выполняется оператор 3. Расширений else if в такую конструкцию можно вставлять сколько угодно.

Давайте теперь проанализируем часть кода из примера прошлой лекции.

If Perem2 = 0 then begin

Soobshenie;

Edit3.Text := '0';

end

else begin

Perem3 := Delenie(Perem1, Perem2);

Edit3.Text := FloatToStr(Perem3);

end;

Вам уже должно быть понятно, что если Perem2 действительно равна 0, то выполнится первый блок кода. Иначе будет выполнен второй блок кода.