Решение. Схема пользовательского интерфейса:
Схема пользовательского интерфейса: Значения аргумента, задаваемые с помощью списка: -1.5, 0.5, 2. Диапазон значений аргумента, задаваемый с помощью полосы прокрутки: [-2…2]. Свойства элементов пользовательского интерфейса, задаваемые с помощью окна Propeties. приведены в табл. 15. Таблица 15 Свойства элементов управления (пользовательского интерфейса)
Алгоритм (блок-схема) решения задачи: Процедура обработки щелчка по кнопке CommandButton1: Процедура обработки изменения значения полосы прокрутки ScrollBar1: Процедура обработки загрузки (отображения) формы UserForm1: Программные модули: Модуль пользовательской формы UserForm1 Private Sub CommandButton1_Click() ' Процедура обработки щелчка (Click) по кнопке ' по имени CommandButton1 (создается контекстной командой ' View Code для кнопки CommandButton1 формы UserForm1) Dim x As Double ' Объявление переменной для аргумента Dim y As Double ' Объявление переменной для функции If OptionButton1.Value = True Then ' Проверка выбора первого способа ввода аргумента ' с помощью переключателя OptionButton1 x = CDbl(ListBox1.Value) ' Считывание текущего значения (Value) из списка ListBox1 ' в переменную x с преобразованием к типу вещественное число Else ' Вариант второго способа ввода аргумента, когда не выбран ' переключатель OptionButton1, а значит, выбран OptionButton2 x = ScrollBar1.Value / 10 ' Считывание текущего значения (Value) из полосы прокрутки ' ScrollBar1 в переменную x с делением на 10 для перевода ' в диапазон задаваемых чисел End If Select Case x Case Is < 0 y = x + 1 Case Is <= 1 y = Sqr(1 - x * x) Case Else y = 0 End Select MsgBox "В x = " & x & " y = " & y End Sub ' Завершение объявления процедуры CommandButton1_Click
Private Sub ScrollBar1_Change() ' Объявление процедуры обработки изменения (Change) значения ' в полосе прокрутки по имени ScrollBar1 (создается контекстной ' командой View Code для объекта ScrollBar1) Label1.Caption = ScrollBar1.Value / 10 ' Считывание в подпись (Caption) объекта надписи (Label1) ' значения из полосы прокрутки ScrollBar1 ' с делением на 10 для перевода в диапазон задания аргумента End Sub ' Завершение объявления процедуры ScrollBar1_Change
Private Sub UserForm_Activate() ' Объявление процедуры при активации или отображении ' (Activate) формы пользовательского интерфейса (UserForm) OptionButton1.Value = True ' Начальный выбор переключателя OptionButton1 ListBox1.AddItem "-1,5" ' Добавление элемента-значения в список по имени ListBox1 ListBox1.AddItem "0,5" ListBox1.AddItem "2" ListBox1.ListIndex = 0 ' Начальный выбор первого элемента-значения в списке ScrollBar1.Max = 20 ' Задание максимального значения, устанавливаемого ' в полосе прокрутки: в 10 раз больше верхней границы ' диапазона аргумента ScrollBar1.Min = -20 ' Задание минимального значения, устанавливаемого ' в полосе прокрутки: в 10 раз больше нижней границы ' диапазона аргумента ScrollBar1.SmallChange = 1 ' Задание шага изменения значения полосы прокрутки ScrollBar1 ScrollBar1.Value = 0 ' Задание начального значения полосы прокрутки ScrollBar1 Label1.Caption = ScrollBar1.Value / 10 ' Считывание в подпись (Caption) объекта надписи (Label1) ' значения из полосы прокрутки ScrollBar1 ' с делением на 10 для перевода в диапазон задания аргумента End Sub ' Завершение объявления процедуры UserForm_Activate Результаты работы программы:
|