![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Практическая работа 12. Создание процедуры Sub
Решается задача деления городов на группы в зависимости от соответствующей численности населения, которая задаeтся как набор случайных чисел. Рассматриваются 2 варианта: · деление на группы с использованием блока Select Case, · в блоках Case используется вызов процедуры (Call mList(i, k)). Последовательность действий: 1. создать на форме объекты, данные на рис. 2.3 o 2 элемента управления ListBox (слева), содержащие списки названий городов и численности населения. Их идентификаторы: lstName, lstNum. Список из 20 названий, см. рис. 2.3 (Athen - Helsinki) вводится в поле свойстваList объекта lstName (окно свойств). После ввода каждого названия использовать клавиши CTRL + Enter, в конце ввода - клавишу Enter. Oбразуется список, индексация проводится с 0, o 2 массива (каждый из 4-х элементов) объектов: lstNameGr(0) - lstNameGr(3) и lstNumGr(0) - lstNumGr(3)(справа вверху), в которые будет выводиться результат деления численности населения городов на группы. В поле свойства List каждого объекта - элемента массива нужно ввести несколько нулей (поле списка представляет собой элемент массива и если при обращении к j+1 элементу j элемент не определен, то появится сообщение об ошибке), o элемент управления List1 (внизу), в который заносится информация, позволяющая проверить, обработан ли весь исходный список и указывающая, сколько городов содержится в каждом групповом списке, o 2 объекта CommandВutton; свойствам Caption присвоить значение Select Case и Call mList(i, k), 2. ввести код, данный ниже. Переменная j используется для индексации элемeнтов списков названий городов и численностей населения, а переменные i1, i2, i3, i4, i5 - для индексации численностей населения и названий городов в списках групп. 5-я группа создана для списка названий городов и соответствующих численностей населения, не попавших в предыдущие 4 группы. Во второй строке кода Form_Load () проводится проверка названий городов: " If lstName.List(j) > = " A" Then: ". Код буквы А - наименьший и для всех названий городов задаeтся численность населения; если список названий закончился, то численности присваивается значение -1. 3. стартовать проект, сделать щелчок на командной кнопке Select Case, наблюдать результат. Анализ блоков Case показывает, что код аналогичен; при организации работы блоков используются переменные j, i1, i2, i3, i4, i5 и индексы элементов массивов к(0, 1, 2, 3) элементов управления ListBox, например: lstName(0).List(i1) = lstName.List(j) Создадим процедуру Sub mList(i As Integer, k As Integer), переменные i (i1, i2, i3, i4, i5) и k(0, 1, 2, 3) будем передавать как аргументы. Создание процедуры 4. ввести код процедуры Command2_Click(), 5. стартовать проект, сделать щелчок на кнопке Call mList(i, k), наблюдать результат, рис. 2.3 Private Sub Command2_Click()Dim i1 As Integer, i2 As Integer, i3 As Integer, i4 As IntegerDim i5 As Integerj = 0: i1 = 0: i2 = 0: i3 = 0: i4 = 0: i5 = 0Do Until lstNum.List(j) < = 0Select Case Val(lstNum.List(j))Case Is < 100000: i5 = i5 + 1: lst1.List(5) = " i5=" & i5Case Is < 500000: Call mList(i1, 0)Case Is < 1000000: Call mList(i2, 1)Case Is < 1500000: Call mList(i3, 2)Case Is < 2000000: Call mList(i4, 3)Case Is > = 2000000: i5 = i5 + 1: lst1.List(5) = " i5=" & i5End Selectj = j + 1LoopEnd SubРис. 2.3. Деление городов на группы в зависимости от соответствующей численности населения
|