Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Верстальнику: замінити після Початок блок-ромб на блок-прямокутник
Звертаємо вашу увагу: в алгоритмі розв’язування задачі 2 виконання або невиконання тих чи інших команд алгоритму залежить від того, в яку купку попаде фальшива монета. Наприклад, якщо при першому зважуванні терези будуть не в рівновазі, то команда «Узяти третю купку монет» не буде виконана. Але якщо монети розподілити на купки по-іншому, то може статися так, що при першому зважуванні терези будуть у рівновазі, і тоді не буде виконана команда «Узяти легшу купку монет». Розгалуження в Delphi Команда повного розгалуження в Delphiмає такий загальний вигляд: If <логічний вираз> Then begin < послідовність команд 1> End Else begin < послідовність команд 2> end; (англ. if – якщо, then – тоді, else – інакше) Є в Delphiй команда неповного розгалуження: If <логічний вираз> Then begin <послідовність команд > end; Виконання команди повного розгалуження відбувається так: обчислюється значення логічного виразу; якщо це значення true, то виконується послідовність команд 1 і після цього виконується команда, наступна за командою розгалуження; якщо це значення false, то виконується послідовність команд 2 і після цього виконується команда, наступна за командою розгалуження. Виконання команди неповного розгалуження відбувається так: обчислюється значення логічного виразу; якщо це значення true, то виконується послідовність команд і після цього виконується команда, наступна за командою розгалуження; якщо це значення false, одразу виконується команда, наступна за командою розгалуження. Звертаємо вашу увагу:
Якщо записати в 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 := 'Вираз значення не має: ділення на нуль' Else begin 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). При розміщенні перемикачів на формі для кожного з них за замовчуванням встановлюється значення властивості Checked – False. До запуску проекту змінимо у першого перемикача значення цієї властивості на True. Після цього на формі він виглядатиме вибраним (рис. 2.51). Таким він буде і після запуску проекту на виконання. Створимо процедуру для опрацювання події OnClick кнопки, і до її тексту помістимо таку команду: If RadioButton1.Checked Then Form1.Caption := ‘Заголовок змінений’ |
||
Последнее изменение этой страницы: 2018-05-30; просмотров: 197. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |