Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Else begin




Then begin

Else begin

End

Then begin

< послідовність команд 1>

< послідовність команд 2>

end;

(англ. if – якщо, then – тоді, else – інакше)

Є в Delphi й команда неповного розгалуження:

If <логічний вираз>

<послідовність команд >

end;

Виконання команди повного розгалуження відбувається так: обчислюється значення логічного виразу; якщо це значення true, то виконується послідовність команд 1 і після цього виконується команда, наступна за командою розгалуження; якщо це значення false, то виконується послідовність команд 2 і після цього виконується команда, наступна за командою розгалуження.

Виконання команди неповного розгалуження відбувається так: обчислюється значення логічного виразу; якщо це значення true, то виконується послідовність команд і після цього виконується команда, наступна за командою розгалуження; якщо це значення false, одразу виконується команда, наступна за командою розгалуження.

Звертаємо вашу увагу:

  • якщо після ключових слів Then і Else слідують тільки по одній команді, то операторні дужки begin і end можна не ставити;
  • перед Else ставити крапку з комою не можна.

 

Якщо записати в Delphi фрагмент програми розв’язування задачі 1 (блок-схема відповідного алгоритму наведена на рис. 2.46), то він виглядатиме так:

a:= StrToFloat(Edit1.Text);

b:= StrToFloat(Edit2.Text);

c:= StrToFloat(Edit3.Text);

d:= StrToFloat(Edit4.Text);

x:= c–d;

If x = 0

Then Label1.Caption:= 'Вираз значення не має: д ілення на нуль'

y:= a–b;

z:= y/x;

Label1.Caption:= FloatToStr(z);

end;

Звертаємо вашу увагу: обчислення значення виразу можна було б записати не двома командами, а однією: z:= (a–b)/x.

 

Логічний вираз у команді розгалуження може бути простим або складеним. Складені логічні вирази утворюються з простих шляхом використання розглянутих у попередньому пункті операцій кон’юнкції (and), диз’юнкції (or), заперечення (not). Порядок виконання цих операцій в Delphi такий самий, як і в математичній логіці.

 

Наведемо приклад задачі з використанням складених логічних виразів.

Задача 4. Обчислити значення заданої функції

 

Фрагмент програми для розв’язування цієї задачі виглядатиме так:

x:= StrToFloat(Edit1.Text);

If (x > –3) and (x <5)

Then y:= 2*x – 12

Else y:= 7 – 8*x;

Label1.Caption:= FloatToStr(y);

 

 

Команда розгалуження в Delphi може містити в собі іншу команду розгалуження. Ось як виглядатиме команда розгалуження для алгоритму, наведеному на рис. 2.49:

If x = у

Then Label1.Caption:= 'Числа рівні'

Else If x > у

Then Label1.Caption:= 'Перше число більше'

Else Label1.Caption:= 'Перше число менше';

Перемикачі та прапорці

Для реалізації розгалуження в проекті можна використати такі елементи керування як перемикачі та прапорці. Працюючи з текстовими і графічними редакторами, редактором презентацій, іншими програмами, ви неодноразово бачили, що при виборі перемикача всередині з’являється позначка , а при виборі прапорця – позначка .

Нагадаємо, що з групи перемикачів може бути вибраний тільки один, а в групі прапорців позначка може бути встановлена або на одному з них, або на кількох, або на жодному. Перемикачі призначені для того, щоб у ході виконання проекту вибрати один з можливих варіантів. Наприклад, установити для певної властивості об’єкта одне значення з деякого визначеного набору значень. Прапорці призначені для того, щоб у ході виконання проекту вибрати або один з можливих варіантів, або кілька. Наприклад, установити значення однієї або кількох властивостей об’єкта з деякого визначеного набору властивостей.

Для розміщення на формі перемикача потрібно встановити вказівник на рядок TRadioButton (англ. radio button – кругла кнопка) вікна Tool Palette і двічі клацнути ліву кнопку миші, а для розміщення прапорця – встановити вказівник на рядок TCheckBox (англ. check box – коробка для перевірки) і також двічі клацнути ліву кнопку миші.

Перемикач і прапорець мають більшість властивостей, які ми розглядали для форми, поля, кнопки і напису, та ще деякі, серед яких розглянемо властивість Checked (англ. checked – вибраний), яка може набувати одне з двох значень True або False і яка визначає, встановлена позначка в даному об’єкті чи ні (вибраний цей об’єкт чи ні). Тому значення цієї властивості можна використовувати в команді розгалуження замість логічного виразу.

 

Розглянемо, як можна використати перемикачі для реалізації розгалуження в проекті.

Нехай, наприклад, потрібно в ході виконання проекту змінювати значення тільки однієї з таких властивостей форми: або заголовок, або колір, або розміри.

Для цього розмістимо на формі кнопку і три перемикачі (рис. 2.51). При розміщенні перемикачів на формі для кожного з них за замовчуванням встановлюється значення властивості CheckedFalse. До запуску проекту змінимо у першого перемикача значення цієї властивості на True. Після цього на формі він виглядатиме вибраним (рис. 2.51). Таким він буде і після запуску проекту на виконання.

Створимо процедуру для опрацювання події OnClick кнопки, і до її тексту помістимо таку команду:




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 408; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.