Как правило, первые проблемы возникают при объяснении условного оператора. Рассмотрим несколько вариантов изучения данной темы на языке программирования Delphi. Примеры взяты из элективного курса “Объектно-ориентированное программирование на языке Delphi”.
Считаем эффективным объяснение этого вопроса вместе с изучением компонентов классов TCheckBox (флажки) и TRadioButton (переключатели). Предположим, что ученики уже разобрали свойства классов TMemo (многострочный текстовый редактор).
Важным методическим приемом является акцент на использование флажков в среде программирования на этапах выбора собственного решения (да/нет или да/нет/не уверен). В последнем случае флажок устанавливается, но выглядит блекло. Это решение отражается в свойстве State компонента, доступном как для чтения так и для записи. State может быть 3 типов:
- Установлен (Checked)
- Не установлен (Unchecked)
- Не уверен (Alignment)
При активизации двойным щелчком мыши CheckBox1 появится процедура TForm1.CheckBox1Click(Sender: TObject);
Задача: При установке флажка текст в Метке1 должен становиться жирным.
Procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked=true then Label1.font.Style:=font.style+[fsbold]
else Label1.font.Style:=font.style-[fsbold]
end;
То есть, если (if) флажок установлен, (then) текст в Метке1 должен становиться жирным, (else) а при повторном нажатии на флажок – обычным.
Можно сделать вывод, что Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом, дадим определение. Условный оператор - средство ветвления вычислительного процесса.
Структура условного оператора в общем виде:
IF <УСЛОВИЕ> THEN <ОПЕРАТОР №1> ELSE <ОП.2>;
где IF, THEN, ELSE - ЗАРЕЗЕРВИРОВАННЫЕ СЛОВА (если, то, иначе)
<условие> - произвольное выражение логического типа,
<операторы> - любые операторы, т.е. действия.
Далее можно разъяснить алгоритм работы условного оператора:
1. Вычисляется <условие>.
2. Если оно TRUE (истина), то выполняется оператор 1, а оператор 2 пропускается.
3. Если результат - FALSE (ложь), наоборот <оп.1> пропускается, а выполняется <оп.2>.
На основе переключателей (TRadioButton) можно рассмотреть так называемое неполное ветвление, когда активна только одна из ветвей оператора. Напомним, что переключатели предназначены для выбора одного из нескольких взаимоисключающих решений. На форме помещаются по меньшей мере два таких компонента. Они могут иметь только два состояния, определяемых свойством Checked.
Задача: При установке переключателей текст в Метке1 должен становиться желтым либо красным.
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
if RadioButton1.Checked=true then Label1.Font.Color:=clyellow
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
if RadioButton2.Checked=true then Label1.font.Color:=clred
end;
Структура неполного ветвления в общем виде:
IF <УСЛОВИЕ> THEN <ОПЕРАТОР>;
Для облегчения работы с оператором на начальном этапе работы с ним, рассмотрим таблицу:
<Условие> | <Оператор> |
a>0 | k:=0; k:=k+1: //количество |
a<0 | s:=0; s:=s+a; //сумма |
a=0 | p:=1; p:=p*a; //произведение |
… | … |
В структуру условного оператора
IF <УСЛОВИЕ> THEN <ОПЕРАТОР №1> ELSE <ОП.2>;
вместо <УСЛОВИЕ> и <ОПЕРАТОР> вставляем нужные поля таблицы. В предлагаемые столбцы, можно вводить какие угодно условия и операторы, необходимые для решения задачи.
Задача: создать простейший текстовый процессор, содержащий переключатели цвета шрифта, флажки для определения стиля.
Рассмотрим применение таблицы для первого случая, когда необходимо текст в многострочном редакторе сделать жирным при установке флажка и обычным при повторном нажатии.
<Условие> | <Оператор> |
CheckBox1.checked | Memo1.Font.Style:=Memo1.Font.Style+[fsBold] |
Memo1.Font.Style:=Memo1.Font.Style-[fsBold] |
Вставив условия и операторы в шаблон получим:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.checked then
Memo1.Font.Style:=Memo1.Font.Style+[fsBold]
else
Memo1.Font.Style:=Memo1.Font.Style-[fsBold]
end;
Представленное объяснение материала было апробировано в Оренбургском Дворце Творчества Детей и Молодежи, и все без исключения учащиеся усвоили предложенную тему и рационально применяли полученные знания, умения и навыки при создании проектов.