Лекция 3: 2 Для создания возможности использования объектов файловой системы нужно подключить библиотеку DLL, содержащую эти объекты: меню Разработать > Ccылки > Microsoft Scriptlet Component (сделать щелчок на соответствующем элементе управления CheckBox). Не могу найти меню Разработать (Develop)>Links и т.д. |
Опубликован: 04.07.2006 | Уровень: для всех | Доступ: свободно
Лекция 2:
Управление ходом выполнения программ. Примеры типовых алгоритмов
Практическая работа 15. Нахождение максимума (численности населения городов с выводом соответствующего названия города)
Задание: создать список названий городов, создать список соответствующих численностей населения. Найти максиальную численность населения и соответствующее название города. Последовательность действий:
- создать на форме:
- 2 командные кнопки (Command1 и Command2 (Caption = MAX)), рис. 2.7,
- 2 текстовых поля (txtName, txtNum) для вывода отдельных текущих названий городов и численностей населения городов соответственно, 4 поля Label (2 из них - для вывода всех названий городов и численностей населения городов соответственно и 2 (вверху формы) - для надписей), текстовое поле (Text1) для вывода названий городов, см. процедуры Command1_Click () и Command2_Click () и рис. 2.7
- ввести код, данный ниже и стартовать программу. Последовательным нажатием первой командной кнопки создать массив названий городов. Cделать щелчок на второй командной кнопке.
(General) (Declarations) ' описание массива названий городов; здесь - целых чисел Dim citiesName(20) As String ' описание массива численностей населения городов Dim citiesNum(20) As Long Dim k As Integer ' переменая к используется в процедуре Command1_Click(), ' поэтому не должна описываться как Static Private Sub Form_Load() Dim j As Integer ' создание массива численностей; здесь название города - это ' значение переменной-счетчик For j = 1 To 9 citiesNum(j) = Int(Rnd * 10000000 + 1) txtNum = citiesNum(j): txtName = j ' вывод численностей населения в поле Label3 Label3 = Label3 & " " & citiesNum(j) Label4 = Label4 & " " & j ' вывод названий городов в поле ' Label4 Next j citiesNum(j) = -1 ' признак конца маcсива txtNum = citiesNum(j) txtName = j End Sub ' последовательным нажатием командной кнопки создать ' массив названий городов citiesName(k) Private Sub Command1_Click() k = k + 1 ' если численность населения больше 0, то заполнить массив ' названий городов и вывести данные в текстовые поля If citiesNum(k) > 0 Then txtNum.Text = citiesNum(k): citiesName(k) = k txtName.Text = citiesName(k) Else ' иначе вывести сообщение: "Список городов исчерпан" txtName.Text = "Список городов исчерпан" txtName.BackColor = vbGreen End If ' название города, в котором нет населения ( 10) вывести в ' текстовое поле Text1.Text = "k = " & k End Sub ' с помощью поцедуры Command1_Click() созданы названия ' городов, ранее созданы соответствующие численности ' населения: масивы - citiesNum() и citiesName(). Процедура ' Command2_Click() обеспечивает поиск максимума ' численности населения и названия соответствующего ' города Private Sub Command2_Click() ' maxNum - переменная для хранения максимальной ' численности населения Dim maxNum As Long ' maxName - переменная для хранения названия города с ' максимальной численностью населения Dim maxName As String If citiesNum(1) <= 0 Then txtName = "Массив пуст": GoTo 100 ' пусть максимальным будет первый элемент массива maxNum = citiesNum(1) maxName = citiesName(1) ' начиная с к = 2 проводится сравнение элементов массива с ' максимальным значением k = 2 ' если масcив численности населения не пуст, сравнить ' (последовательно) текущий элемент с максимальным. Если ' он больше текущего максимума, то сделать его ' максимальным; в текстовое поле вывести ' соответствующее значение 20 If citiesNum(k) > 0 Then If citiesNum(k) > maxNum Then maxName = citiesName(k): maxNum = citiesNum(k) Text1.Text = "k=" & k: k = k + 1: GoTo 20 Else ' вывод максимальной численности, вывод названия ' города с максимальной численностью населения txtNum.Text = maxNum txtName.Text = maxName End If 100 End Sub