Методические подходы к понятию условного оператора

Разделы: Информатика


Как правило, первые проблемы возникают при объяснении условного оператора. Рассмотрим несколько вариантов изучения данной темы на языке программирования 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;

Представленное объяснение материала было апробировано в Оренбургском Дворце Творчества Детей и Молодежи, и все без исключения учащиеся усвоили предложенную тему и рационально применяли полученные знания, умения и навыки при создании проектов.