Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
часть2.doc
Скачиваний:
81
Добавлен:
03.05.2015
Размер:
130.05 Кб
Скачать

Задание №1

Даны три действительных числа. Напишите процедуру для решения задачи согласно варианту. Для выполнения процедуры измените созданную вами форму.

Варианты заданий

  1. Количество пар равных между собой чисел.

  2. Количество положительных нечетных чисел.

  3. Произведение и сумму ненулевых чисел.

  4. Сумму положительных чисел, кратных 5.

  5. Количество пар равных по абсолютному значению между собой чисел.

  6. Среднее арифметическое ненулевых чисел.

  7. Сумму отрицательных чисел из диапазона от -10 до -1.

  8. Количество и произведение тех чисел, которые при делении на 7 дают остаток 1.

  9. Количество пар взаимно противоположных чисел.

  10. Среднее арифметические чисел, больших 1, но меньших 10.

Тема №2: «Оператор выбора»

За счёт вкладывания одного условного оператора в другой, конструкция усложняется и становится тяжёлой для восприятия. В подобных случаях хорошей альтернативой оператору Ifслужит оператор выбораSelect Case, который позволяет выбрать одно из нескольких возможных продолжений программы. Оператор Select Case удобно использовать, когда в зависимости от значения некоторого выражения, имеющего конечное множество допустимых значений, необходимо выполнить разные действия. Он также относится к условным операторам, но имеет другой вид:

Select Case <Выражение>

Case <3начение 1>

<оператор 1>

[Case <3начение N>

<оператор N>]

[Case Else

<оператор N+1,]

End Select

Вначале вычисляется выражение. Полученное значение последовательно сравнивается со всеми значениями в предложениях Case. Если получено равенство, т.е. Выражение = 3начение, то вы­полняются действия после соответствующего предложения Case. Если Выражение не совпадает ни с одним значением, то выполняется оператор, стоящий после Case Else.

Тип Значений должен совпадать с типом проверяемого Выражения.

Пример:

Select Case A

Case l

В = "А равно 1"

Case 2

В = "А равно 2"

Case Else

В = "Переменная А не равна 1 или 2"

End Select

В области Значение можно указать не одно, а диапазон значений.

Если в области Значениенаходится условие, то необходимо использовать ключевое словосочетаниеCase Is <условие>.

Пример:

Select Case Range("B 1")

Case ""

Range("Bl") = 0

Case Is > 100

Range ("Bl") = 100

Case 8 to 16

Range("Bl") = 0

End Select

Пример 2.

Разработайте приложение для регистрации уча­стников межвузовской конференции. Приложение запрашивает фа­милию участника, город (выбирается из списка; если нет в списке, то можно ввести в текстовом окне), должность (выбирается из списка: профессор, доцент, старший преподаватель, преподаватель, асси­стент, студент), затем из введенных данных формирует текстовую строку (например, "Иванов В.А., доцент, Хабаровск") и заносит ее в список. В приложении должна быть предусмотрена возможность удаления строки из списка. Для этого:

1) добавьте к проекту форму;

2) разместите на форме 3 элемента "Надпись", 1 элемент "Поле" (для ввода фамилии), 2 элемента "Список" (первый - для выбора должности, второй - для формирования результата - списка участников), 1 элемент "Поле со списком" (комбинированное окно для ввода или выбора города из списка) и 2 элемента "Кнопка" (первый – для занесения строки в список, второй - для удаления отмеченной строки из списка);

3) измените значения свойств элементов так, чтобы форма имела следующий вид:

4) напишите код процедуры для обработки события Activate формы, которое происходит, когда форма становится активной. Процедура заполняет спи­сок ListBox1. Метод Additem добавляет строку в список. Добавьте в список должности.

Private Sub UserForm_Activate()

ListBox1.AddItem "Профессор"

ListBox1.AddItem "Доцент"

5) напишите код процедуры для обработки события Initializeформы, которое происходит, когда форма инициализируется. Процедура заполняет поле со спи­ском ComboBox1. Добавьте в поле со списком 4 города.

Private Sub UserForm_ Initialize ()

ComboBox1.AddItem "Москва"

6) напишите код процедуры для обработки события Click элемен­та "Кнопка" с именем CommandButtonl. Предусмотрите в макросе обработку следующих ситуаций:

а) если не введена фамилия:

If TextBox1 = "" Then _

MsgBox "Вы не ввели фамилию": Exit Sub

б) если не выбра­на в списке должность или не указан город. Свойство ListIndex содержит порядковый номер выбранной в списке строки. Строки в списке нумеруются, начиная с 0. Если не выбрана ни одна строка, свойство ListIndex имеет значение -1.

index = ListBox1.ListIndex

If index = -1 Then _

MsgBox "Вы забыли выбрать должность": Exit Sub

7) для определения того, какое значение было выбрано из списка ListBox1 воспользуйтесь оператором выбора:

Select Case index

Case 0: mes = "Профессор"

Case 1: mes = "Доцент"

End Select

8) занесите введенное в поле TextBox1, выбранное из спискаListBox1 и из поля со спискомComboBox1 значения в списокListBox2 с помощью метода AddItem.

9) для удаления выбранного пункта из списка используется метод RemoveItem Index. Параметр index указывает на порядковый номер удаляемого пункта и является обязательным.

Ind = ListBox2.ListIndex

ListBox2.RemoveItem (Ind)

Предусмотрите ситуацию, когда не отмечена строка в списке при удалении.