Методичка по информационным технологиям
.pdf91
какую площадь листьев картофеля съедят M колорадских жуков. Смогут ли N личинок колорадского жука уничтожить такую же площадь листьев? Если нет, то сколько еще останется?
3.У мужчин объем крови составляет 77 мл/кг веса, а у женщин - 65 мг/кг. Нормальное количество эритроцитов в 1 мл крови взрослого мужчины - 4,4 млн, а взрослой женщины - 5 млн. Известны ПОЛ, ВЕС и ОБЩЕЕ КОЛИЧЕСТВО эритроцитов пациента. Определить, в норме ли у него эритроцитов. Если нет, то на сколько ниже или выше нормы?
4.Эвглена движется в воде со скоростью 150 мкм в секунду. Рассчитайте, преодолеет ли она расстояния в N мм за M секунд? Если нет, то сколько еще останется?
5.Среднее артериальное давление определяется по формуле:
Где АДсист. = (1,7 * возраст) + 83 , АДдиаст. = (1,6 * возраст) + 42 Известы АДсист. АДдиаст. пациента в возрасте M лет. Определите, соответствует ли оно норме? Если нет, то на сколько оно ниже или выше нормы?
6.Скорость движения воды по сосудам одного дерева равна N см3 в час на 1 см2 поперечного сечения древесины, другого дерева скорость равна M. В каком дереве и во сколько раз скорость больше.
7.Длиной всего 3мм блоха может взлететь на высоту 20 см, а расстояние от стартовой площадки до места приземления составляет 35 см. Подсчитайте, на какую высоту и на какое растояние мог бы подпрыгнуть человек с такими же способностями, рост которого N, и человек с ростом M. И кто из них прыгнет выше и дальше.
8.У некоторых рыб оглушающих добычу или отпугивающих врага разряды постоянного электрического тока могут иметь напряжение 400 В и силу тока около 2А. Подсчитайте, какова может быть мощность электрического разряда рыбы? Определите, достаточно ли производимого рыбами электрического тока, чтобы лампочка N Вт вспыхивала?
9.В соответствии с приведенной ниже таблицей определите уровень физиологического состояния пациента, если известны его пол и значение УФС.
Уровень УФС |
Шкала регрессии |
|
|
|
|
|
Мужчины |
Женщины |
Низкий |
0,225 - 0,375 |
0,157 - 0,260 |
Ниже среднего |
0,376 - 0,525 |
0,261 - 0,365 |
|
|
|
Средний |
0,526 - 0,675 |
0,366 - 0,475 |
|
|
|
Выше среднего |
0,676 - 0,825 |
0,525 - 0,576 |
|
|
|
92
Высокий |
0,826 и более |
0,576 и более |
|
|
|
10.Яичный индекс птицы – это отношение массы яйца к массе тела птицы в процентах. Нам известны масса некоторой птицы и масса некоторого яйца. Может ли это яйцо принадлежать данной птице.
11.Для огорода коэффициент полезности одной полевой мыши равен ПМ (ПМ<0), а коэффициент полезности одного крота - ПК (ПК>0). За лето кошка съедает КМ полевок и КК кротов. Полезна ли кошка на огороде?
Тема 11. Элементы управления
Элементы управления представляют собой графические объекты, помещаемые в форму для отображения или ввода данных, выполнения действий или облегчения чтения формы. Данные объекты включают надписи, поля со списками, переключатели и флажки, кнопки и многое другое. Элементы управления позволяют пользователю запускать макросы или веб-сценарии путем нажатия, установки или выбора соответствующих элементов управления.
Элемент |
Кнопка |
|
|
|
Назначение |
|
|
|
|
управления |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Label |
|
Позволяет |
|
создавать |
заголовки |
|
элементов |
||
|
управления, |
которые |
не имеют |
собственных |
|||||
(надпись) |
|
||||||||
|
встроенных заголовков |
|
|
|
|
||||
|
|
|
|
|
|
||||
|
|
|
|||||||
TextBox |
|
Окно редактируемого текста свободной формы |
|||||||
|
для |
ввода |
данных. |
Может |
быть |
одно- и |
|||
(текстовое поле) |
|
||||||||
|
многострочным |
|
|
|
|
||||
|
|
|
|
|
|
||||
|
|
|
|||||||
ComboBox |
|
Объединяет окно редактирования и окно списка |
|||||||
(поле со |
|
|
|
|
|
|
|
|
|
списком) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
ListBox |
|
Отображает |
список |
значений, |
из |
которых |
|||
(список) |
|
пользователь может сделать выбор |
|
|
|||||
|
|
|
|||||||
CheckBox |
|
Стандартный флажок, который используется для |
|||||||
|
выбора |
|
вариантов, |
не |
|
являющихся |
|||
(флажок) |
|
|
|
||||||
|
взаимоисключающими |
|
|
|
|
||||
|
|
|
|
|
|
||||
|
|
|
|||||||
OptionButton |
|
Стандартная кнопка-переключатель. Используется, |
|||||||
|
когда |
пользователю необходимо сделать выбор |
|||||||
(переключатель) |
|
||||||||
|
между "включено/выключено" |
|
|
|
|||||
|
|
|
|
|
|||||
|
|
|
|||||||
ToggleButton |
|
Выключатели служат для той же цели, что и |
|||||||
|
флажки, |
но |
выводят установки |
в |
виде кнопки, |
||||
(выключатель) |
|
||||||||
|
находящейся в "нажатом" или "отжатом" состоянии |
||||||||
|
|
||||||||
|
|
|
|
||||||
Frame |
|
Визуально |
и логически объединяет некоторые |
||||||
|
элементы |
|
управления |
(особенно |
флажки, |
||||
(рамка) |
|
|
|||||||
|
переключатели и выключатели) |
|
|
|
|||||
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Элемент |
Кнопка |
|
Назначение |
|
|
|
|
управления |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
Используется для выполнения таких действий, как |
|
|||
|
CommandButton |
|
Cancel (Отмена), Save (Сохранить), Ok и т.д. Когда |
|
|||
|
|
пользователь щелкает по кнопке, выполняется VBA- |
|
||||
|
(кнопка) |
|
|
||||
|
|
процедура, закрепленная за данным элементом |
|
||||
|
|
|
|
||||
|
|
|
управления |
|
|
|
|
|
|
|
|
|
|||
|
TabStrip |
|
Состоит из области, в которую следует помещать |
|
|||
|
|
другие элементы управления (такие, как текстовые |
|
||||
|
(набор вкладок) |
|
|
||||
|
|
поля, флажки и т.д.) |
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|||
|
MultiPage |
|
Состоит из нескольких страниц. Можно выбрать |
|
|||
|
|
любую из |
них, щелкнув |
по соответствующей |
|
||
|
(набор страниц) |
|
|
||||
|
|
вкладке |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ScrollBar |
|
Позволяет |
выбирать |
линейное |
значение, |
|
|
(полоса |
|
аналогичное тому, как это можно сделать при |
|
|||
|
прокрутки) |
|
помощи счетчика |
|
|
|
|
|
|
|
|
|
|||
|
|
|
Специальная разновидность текстового поля. |
|
|||
|
SpinButton |
|
Используется для ввода последовательных величин, |
|
|||
|
(счетчик) |
|
которые заведомо находятся в определенном |
|
|||
|
|
|
интервале значений (число, дата и т.п.) |
|
|||
|
|
|
|
|
|
||
|
Image |
|
Выводит на форме графическое |
изображение |
|
||
|
|
любом из следующих форматов: *.bmp, *.cur, *.gif, |
|
||||
|
(рисунок) |
|
|
||||
|
|
*.ico, *.jpg, *.wmf |
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
Установка свойств элемента управления |
|
|
|
|
Для установки свойств элемента управления вручную при его конструировании необходимо выделить элемент управления и нажать кнопку Свойства (Properties) панели инструментов Элементы управления (Control ТоoolBох). На экране отобразится диалоговое окно Свойства (Properties). Вручную при помощи этого окна обычно устанавливается свойство Caption, возвращающее отображаемый текст элемента управления. Кроме того, можно внести изменения в параметры свойства Font, устанавливающее шрифт выводимого на поверхности кнопки текста. Свойство Shadow устанавливает, отображается ли элемент управления с тенью или без нее. Можно задать цвет фона и текста и др.
94
Редактор кода
После установки свойств элемента управления или формы переходят к написанию кода, связанного с ними. Особое место в этом коде занимают процедуры обработки событий. У каждого элемента управления есть целый набор событий, обрабатывающих те или иные действия. Приведем некоторые из них:
Click |
Щелчок |
|
|
DblClick |
Двойной щелчок |
|
|
GotFocus |
Кнопка в фокусе |
|
|
LostFocus |
С кнопки снят фокус |
|
|
Change |
Изменение состояния |
Код обработки события записывается на листе модуля. Для активизации модуля в том месте, где надо ввести код по обработке события, связанного с выделенным элементом управления, или отредактировать уже написанный код достаточно нажать кнопку Исходный текст (View Code) панели инструментов Элементы управления (Control Toolbox). Это активизирует модуль с именем Лист1, т. е. модуль, относящийся к рабочему листу, на котором создана кнопка. Вся рабочая книга, а также каждый рабочий лист, диаграмма или форма имеют связанные с ними модули кода.
95
Влевой верхней части модуля кода находится раскрывающийся список с именами объектов, для которых в данном модуле создаются процедуры обработки событий. В этом списке также представлен раздел модуля Общая часть (General), где описываются переменные и константы уровня модуля.
Вправой верхней части модуля кода находится раскрывающийся список с именами событий, связанных с данным объектом.
Задание 51. Процедуры перелистывания рабочих листов с использованием элементов управления.
ПЕРВЫЙ СПОСОБ
1.Создайте новую рабочую книгу с листами Оглавление, Май, Июнь и Июль.
2.Откройте панель Элементы управления в меню Вид, Панели инструментов.
3.С помощью кнопки создайте на рабочем листе Оглавление три КНОПКИ. По умолчанию создаваемые кнопки имеют имена Кнопка 1, Кнопка 2 и Кнопка 3, которые выводятся в поле имен и на поверхности кнопок.
96
4.Щелкнув правой кнопкой мыши кнопку с именем Кнопка1 выберите из меню
Объект, Кнопка, Редактировать и исправьте надпись с Кнопка 1 на Май. Эта операция изменяет только надпись, но не имя кнопки (оно будет прежним, и именно оно будет выводиться в поле имен).
5.Замените имена у двух оставшихся кнопок на Июнь и Июль соответственно.
6.Дважды щелкнув левой кнопкой мыши на кнопку Май, раскройте редактор VBA и введите текст событийной процедуры Click объекта CommandButton:
Private Sub CommandButton1_Click()
‘ активировать лист Май
Sheets("Май").Activate End Sub
7.Повторите эти действия для кнопок Июнь и Июль, введя для каждой следующие процедуры:
Private Sub CommandButton2_Click()
Sheets("Июнь").Activate
End Sub
Private Sub CommandButton3_Click()
Sheets("Июль").Activate
End Sub
В этих процедурах использовался метод Activate. Это метод активизирует объект, в данном случае — рабочий лист Sheets.
97
ВТОРОЙ СПОСОБ
1.С помощью кнопки Переключатель создайте на рабочем листе Оглавление три ПЕРКЛЮЧАТЕЛЯ.
2.Щелкнув правой кнопкой мыши первый переключатель выберите из меню
Объект, Кнопка, Редактировать и исправьте надпись на Май.
3.Замените имена у двух оставшихся Переключателей на Июнь и Июль соответственно.
4.Дважды щелкнув левой кнопкой мыши на кнопку Май, раскройте редактор VBA и введите текст событийной процедуры Click объекта OptionsButton:
Private Sub OptionsButton1_Click()
‘ активировать лист Май
Sheets("Май").Activate End Sub
5.Повторите эти действия для переключателей Июнь и Июль, введя для каждой следующие процедуры:
Private Sub OptionsButton2_Click()
Sheets("Июнь").Activate
End Sub
Private Sub OptionsButton3_Click()
Sheets("Июль").Activate
End Sub
ТРЕТИЙ СПОСОБ
98
1.С помощью кнопки Поле со списком создайте на рабочем листе соответствующий объект.
2.Пока этот список пуст. Нужно его заполнить.
3.Дважды щелкнув левой кнопкой мыши на списке, раскройте редактор VBA и введите текст событийной процедуры Change объекта ComboBox
Private Sub ComboBox1_Change()
‘ Заполнить список значениями из массива
ComboBox1.List = Array("Май", "Июнь", "Июль")
‘ Проверить значение выбранного элемента и активировать соответствующий лист
If ComboBox1.Text = "Май" Then Sheets("Май").Activate If ComboBox1.Text = "Июнь" Then Sheets("Июнь").Activate If ComboBox1.Text = "Июль" Then Sheets("Июль").Activate
End Sub
В этих процедурах использовалось свойство List (список элементов ComboBox) и свойство Text (выбранный элемент ComboBox).
Задание 52. Работа с пользовательскими формами
Для создания диалоговых окон, разрабатываемых приложений в VBA, используются формы. Редактор форм является одним из основных инструментов визуального программирования. Форма в проект добавляется с помощью команды Вставка,
Форма (Insert, Form) или нажатием кнопки Вставить UserForm (Insert UserForm). В
99
результате на экран выводится незаполненная форма с панелью инструментов
Панель элементов (Toolbox)
Используя панель инструментов Панель элементов из незаполненной формы, можно сконструировать любое требуемое для приложения диалоговое окно.
1.Переименуйте рабочий лист, задав имя «Гербарий» и в первой строке оформите шапку.
2.Создайте кнопку Ввод данных через форму.
3.Теперь нужно создать форму для ввода данных:
4.Запустите редактор VBA и добавьте форму, выполнив команду Вставка,
Форма (Insert, User Form). Откроется окно дизайнера форм Form designer, в
котором будет представлено пустое серое окно формы (по умолчанию она будет называться UserForm1) и рядом — Toolbox, панель с набором элементов управления.
5.Теперь на этой форме нужно разместить все нужные нам элементы управления:
100
Label
TextBox
Frame
ChekBox
ComboB ox
TextBox |
|
SpinButton |
|
OptionButton |
|
|
|
|
|
6.После того, как форма создана, приступаем к написанию процедур обработки событий. Двойной щелчок левой кнопкой мыши на самой форме и любом из объектов формы, раскрывает окно редактора VBA. Здесь можно писать процедуры обработки событий для любого из объектов.
7.При вызове (активизации) формы должны быть заданы начальные значения для всех полей. Поэтому нужно описать событийную процедуру Activate для нашей формы, в которой зададим все исходные значения:
Private Sub UserForm_Activate() With UserForm1
.ComboBox1.List = Array("Прямостоячий", "Стелющийся", "Вьющийся")
.ComboBox1.Text = ""
.TextBox1.Text = ""
.TextBox2.Text = ""
.TextBox3.Text = ""
.CheckBox1.Value = False
.CheckBox2.Value = False
.SpinButton1.Min = 1