Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Алгоритмическая структура «Ветвление».

Поиск

Условный оператор.

В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в алгоритмическую структуру «ветвление» входит условие, в зависимости от выполнения или невыполнения которого реализуется та или иная последовательность команд.

Блок-схема алгоритмической структуры «ветвление» имеет следующий вид:

 


Рис. 78 Блок-схема алгоритмической структуры «ветвление»

Средством ветвления в программеявляется условный оператор. Условный оператор проверяет заданное условие и в зависимости от результата проверки выполняет то или иное действие.

Структура условного оператора имеет следующий вид:

If <условие> then <оператор 1> else <оператор 2>,

где If, then, else – зарезервированные слова (если, то, иначе);

<условие> - произвольное выражение логического типа;

<оператор 1>, <оператор 2> - любые операторы языка Delphi.

Условный оператор if работает следующим образом. Сначала проверяется условие. Условие – выражение логического типа, оно может принимать следующие значения: True – истина или False – ложь. Если условие истинно, то выполняется оператор, следующий за словом then. На этом выполнение оператора if заканчивается, то есть инструкции, следующие за else, не будут выполнены. Если условие ложно, то выполняется оператор, следующий за словом else.

На практике часто используется укороченная структура условного оператора, в которой не предусмотрено действие при невыполнении условия:

If <условие> then <оператор 1>

Рассмотрим пример проекта, в котором применяется условный оператор.

 

Пример.Составить проект, в котором требуется ввести два вещественных числа. Программа сравнивает эти числа и выводит результат сравнения.

 

Создадим графический интерфейс окна подобно тому, как изображено на рис. 79. Для ввода чисел используем два текстовых поля Edit1 и Edit2. Сравнение осуществляется при нажатии на кнопку Button1. Результат сравнения будем выводить в надпись Label3.

 

Рис. 79 Окно проекта сравнения двух чисел.

 

Введем следующие дополнительные переменные: а – первое число, b – второе число. Если первое число больше второго, то нужно присвоить свойству Caption y надписи строчку ‘Первое число больше второго’. Если это условие не выполняется, то в надпись выводится строка ‘Второе число больше первого’.

Блок-схема алгоритма сравнения двух чисел будет следующей:

 

 
 

 

 


Рис. 80 Блок-схема условного оператора

 

Условный оператор в данном проекте запишется следующим образом:

If a>b then Label3.Caption:=’Первое число больше второго’

else Label3.Caption:=’Второе число больше первого’;

 

Текст обработчика события OnClick для кнопки «Сравнить» будет таким:

 

procedure TForm1.Button1Click(Sender: TObject);
var a,b: real;
begin
a:= StrToFloat (Edit1.Text);
b:= StrToFloat (Edit2.Text);
if a>b then Label3.Caption:=’Первое число больше второго’
else Label3.Caption:=’Второе число больше или равно первому’;
end;

 

Рис. 81 Работающее приложение

 

Данный проект можно реализовать и с помощью укороченной структуры условного оператора:

 

procedure TForm1.Button1Click(Sender: TObject);
var a,b: real;
begin
a:= StrToFloat (Edit1.Text);
b:= StrToFloat (Edit2.Text);
if a>b then Label3.Caption:=’Первое число больше второго’;
ifa<bthen Label3.Caption:=’Второе число больше первого’;
ifa=bthen Label3.Caption:=’Числа равны’;
end;

 

Если в зависимости от выполнения или невыполнения условия необходимо выполнить несколько операторов, то их заключают в операторные скобки begin … end.

If <условие> then

Begin

<оператор 1>;

<оператор 2>;

….

<оператор n>;

End

«Оператор» в условном операторе может быть любым, в том числе и условным оператором. В таких случаях возникают конструкции со вложенными условиями типа:

If <условие1> then

If <условие2> then

If <условие3> then

<оператор>;

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

Пример.Составить проект, в котором требуется ввести три целых числа. Программа должна опередить максимальное из этих чисел.

 

Создадим графический интерфейс окна, подобно тому, как изображено на рис. 82.

 

Рис. 82 Графический интерфейс проекта

 

Введем дополнительные переменные: X – 1 число, Y – 2 число, Z – 3 число. Текст обработчика события OnClick для кнопки будет следующим:

 

procedure TForm1.Button1Click(Sender: TObject);
var X, Y, Z: integer;
begin
X:=StrToInt(Edit1.Text);
Y:=StrToInt(Edit2.Text);
Z:=StrToInt(Edit3.Text);
if (X>Y) and(X>Z) then Edit4.Text:=IntToStr(X) + ‘- максимальное число’;
if (Y>X) and(Y>Z) then Edit4.Text:=IntToStr(Y) + ‘- максимальное число’;
if (Z>X) and(Z>Y) then Edit4.Text:=IntToStr(Z) + ‘- максимальное число’;
end;


Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 649; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.210.36 (0.006 с.)