Опубликован: 04.07.2006 | Доступ: свободный | Студентов: 5579 / 686 | Оценка: 4.11 / 3.96 | Длительность: 11:08:00
Лекция 2:

Управление ходом выполнения программ. Примеры типовых алгоритмов

Практическая работа 15. Нахождение максимума (численности населения городов с выводом соответствующего названия города)

Задание: создать список названий городов, создать список соответствующих численностей населения. Найти максиальную численность населения и соответствующее название города. Последовательность действий:

  1. создать на форме:
    • 2 командные кнопки (Command1 и Command2 (Caption = MAX)), рис. 2.7,
    • 2 текстовых поля (txtName, txtNum) для вывода отдельных текущих названий городов и численностей населения городов соответственно, 4 поля Label (2 из них - для вывода всех названий городов и численностей населения городов соответственно и 2 (вверху формы) - для надписей), текстовое поле (Text1) для вывода названий городов, см. процедуры Command1_Click () и Command2_Click () и рис. 2.7
  2. ввести код, данный ниже и стартовать программу. Последовательным нажатием первой командной кнопки создать массив названий городов. 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
Нахождение максимальной численности населения с выводом соответствующего названия города

Рис. 2.7. Нахождение максимальной численности населения с выводом соответствующего названия города
Константин Новков
Константин Новков

Лекция 3: 2

Для создания возможности использования объектов файловой системы нужно подключить библиотеку DLL, содержащую эти объекты: меню Разработать > Ccылки > Microsoft Scriptlet Component (сделать щелчок на соответствующем элементе управления CheckBox).

Не могу найти меню Разработать (Develop)>Links и т.д.

антонина квасова
антонина квасова