4.3. Оператор выбора

Как осуществляется работа алгоритма выбора в визуальной среде?

Подумай

  • Как мы выбираем нужную вещь среди многих в повседневной жизни?

Новые знания

   Оператор выбора

   Условный оператор позволяет выбрать одно из нескольких возможных продолжений программы, образующих альтернативные варианты. Параметром, по которому осуществляется выбор, служит так называемый ключ выбора (или селектор) – выражение любого типа, кроме REAL и STRING.

Построение оператора выбора

Case ключ
​выбора ​of 
​ряд выбора
else оператор
end;
​сase-случай,
​of – рабочие
​термины.



или​​

сase выражение of
​1- константа: 1- оператор;
2- константа: 2- оператор;
​…
n- константа: n- оператор;
​else оператор
end;

   Работа оператора. Сначала вычисляется значение выражения, затем находится его константа. Соответственно, после константы выполняется работа назначенного оператора и заканчивается работа оператора выбора. Может случиться, что в списке выбора не окажется константы, равной вычисленному значению ключа. В этом случае управление передается оператору, стоящему за словом ELSE.

Пример. Ниже показан код модульной программы вывода названия месяца по порядковому номеру.

​var n: byte;
​begin
​write (‘введите число от 1 до 12’);
​read (n);
​сase n of
​1,2,12: Writeln (‘Зима’);
​3..5: Writeln (‘Весна’);
​6..8: Writeln (‘Лето’);
​9..11: Writeln (‘Осень’);
​else writeln (‘Не верно’);
​end;
​end.



​​


​​​
или

procedure TForm1;
​Butt on 1Click(Sender: TObject);
​var Month: Integer;
​begin
​Month:=StrToInt(Edit1.Text);
​case Month of
​1,2,12: ShowMessage(‘Зима’);
​3..5: ShowMessage(‘Весна’);
​6..8: ShowMessage(‘Лето’);
​9..11: ShowMessage(‘Осень’);
​else ShowMessage (‘выполняется выбор
​числа между 1; 12’);
​end;
​end.

   Попробуем выполнить это задание в визуальной среде Lazarus. На рисунке 1 показан интерфейс проекта «Времена года», на следующем экране – результат проекта (рис. 2).

Рис. 1. Построение проекта
Рис. 2. Выполнение проекта

   Переключатели типа RadioButton позволяют пользователю выбрать один параметр из двух или более предлагаемых вариантов. Каждый параметр представлен одним переключателем, пользователь может выбрать только один переключатель из группы.

Таблица 1. Свойства компонентов

   Компонента CheckBox – индикатор, с помощью которого пользователь либо подключает какую-либо опцию, либо отключает. Свойства этой компоненты похожи на свойства компонент RadioButton. Вышеописанные компоненты часто используются в программах тестирования.

Практическая работа

   Используя компонент выбора, создайте небольшую программу по тестированию.
   ​Создание формы проекта показано на рисунке 3, выполнение проекта – на рисунке 4. В таблица 2 даны свойства компонентов, использованных в интерфейсе проекта.

Рис. 3. Создание проекта
Рис. 4. Выполнение проекта

Таблица 2. Свойства компонентов проекта

Код программы кнопки «Тест»

Procedure TForm1. Button1Click(Sender:TObject); {код кнопоки «>»}.
begin
        if (n=1) and (RadioButton2.Checked) and (z=0) then z:=z+1;
​​        if (n=2) and (RadioButton1.Checked) and (z<=1) then z:=z+1;
​​        if (n=3) and (RadioButton2.Checked) and (z<=2) then z:=z+1;
​end;
​​end.
procedure TForm1.Button2Click(Sender: TObject);
​begin
​Button1.Click;
​inc(n);
​if n=2 then begin

        ​edit1.text:=’ Найти оператор цикла с параметром’;
​        radiobutton1.Caption:='While';
​        radiobutton2.Caption:='Case';
​        radiobutton3.Caption:='Copy';
end;​

if n=3 then begin
        ​edit1.text:= ‘Назови функцию оператора DIV’;
        ​radiobutton1.Caption:=’Умножает’;
        ​radiobutton2.Caption:= ‘Деление нацело’;
​        radiobutton3.Caption:=’Слагает’;
end;​

if n>3 then edit2.text:=inttostr(z);
end;​
procedure TForm1.Button3 Click(Sender: TObject);
begin
        ​Button1.Visible:=True;
​        Edit1.Visible:=True;
        ​Edit2.Visible:=True;
​        GroupBox1.Visible:=True;
​        Button2.Visible:=True;
​        n:=1;
​        edit1.text:=’Найти оператор ввода’;
        ​radiobutton1.Caption:=’Write’;
        ​radiobutton2.Caption:=’Read’;
​        radiobutton3.Caption:=’Begin’;
end;​

Синтез

Прикрепите свой файл к этому заданию, нажав «Добавить свой материал».

Вопросы

  1. Какова функция оператора Сase of?
  2. Что такое Выбор параметра?
  3. Какое действие осуществляет компонента RadioButton?
  4. Какое действие выполняет компонента CheckBox? 
  5. Какова функция свойств компонента Caption?
  6. Назовите свойства компонентов выбора, какие типы компонентов вы знаете?
  7. Каковы свойства и функции компонента Alignment, и когда он применяется?
  8. Какие сходства и различия существуют между компонентами выбора в среде Lazarus и операторами выбора в языке Паскаль?
  9. Что вы знаете о «синдроме компьютерного зрения»? Выполнение каких правил позволит защитить глаза во время работы на компьютере?

Задания

Создайте проект в программируемой среде Lazarus.

Ввод

Ответ

3

Наурыз

Прикрепите свой файл к этому заданию, нажав «Добавить свой материал».

Ввод

Ответ

01

Нур-Султан

Прикрепите свой файл к этому заданию, нажав «Добавить свой материал».

Ввод

Ответ

4

заяц (қоян)

27

тигр (барыс)

Прикрепите свой файл к этому заданию, нажав «Добавить свой материал».

Ввод

Ответ

7

31

2

28

Прикрепите свой файл к этому заданию, нажав «Добавить свой материал».

Таблица 3. Традиционный казахский календарь (задание 6)

Создайте проект в визуальной среде.

Прикрепите свой файл к этому заданию, нажав «Добавить свой материал».

Өтінемін күте тұрыңыз