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

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

Примеры типовых алгоритмов

Ниже приводятся примеры некоторых типовых алгоритмов.

Практическая работа 14. Краткие примеры: нахождение экстремума, создание признака конца списка, деление элементов массива на группы, сортировка и т.д.

14а. Нахождение максимального элемента (массива).

  1. Создать на форме элементы управления CommandButton, поле списка, Label, рис. 2.5 и ввести код, данный ниже. Пояснения даны под комментариями:
    Схема формы

    Рис. 2.5. Схема формы
    Private Sub Command1_Click()
    Dim m(25) As Integer ' описание массива
    ' описание переменной для хранения максимального значения 
    Dim max As Integer 
    Dim j As Integer, i As Integer 'описание переменныx-счeтчик
    ' создание массива и вывод его элементов в поле списка
    For i = 0 To 24 
    m(i) = Int(Rnd * 40 + 1) 
    lst1.List(i) = m(i) 
    Next i
    max = m(0) ' пусть m(0) будет максимальным элементом
    For j = 1 To 24 ' поиск максимального элемента
    ' если текущий элемент массива больше текущего 
    ' максимального, то сделать его максимальным элементом
    If m(j) > max Then max = m(j) 
    Next j
    lbl1.Caption = max ' вывод результата в поле lbl1
    End Sub
  2. стартовать проект, сделать щелчок на командной кнопке.

14 в. Нахождение наибольшего из 2-х элементов, условная инструкция If ... Then ... Else

В университетах M и N число студентов x1 и x2 соответственно, стоимость обучения каждого за весь период обучения равна st1 и st2; обучение длится ja1 и ja2 лет соответственно. Определить где выше стоимость обучения за 1 год. Последовательность действий:

  • создать на форме элементы управления CommandButton и TextBox, ввести код, данный ниже:
Private Sub Command1_Click()
Dim st1 As Single, st2 As Single, ja1 As Integer, ja2 As Integer
Dim x1 As Integer, x2 As Integer
x1 = 2000 ' ввод исходных данных
x2 = 3000: ja1 = 4: ja2 = 5: st1 = 250.5: st2 = 300.7
If x1 * st1 / ja1 > x2 * st2 / ja2 Then
txt1.Text = "Университет M:" & x1 * st1 / ja1 
Else
txt1.Text = "Университет N:" & x2 * st2 / ja2 
End If
End Sub
  • стартовать проект, сделать щелчок на командной кнопке.

14с. Создание списка данных типа String, создание признака конца списка, вывод списка в массив

Задание: создать список названий футбольных клубов страны. Переписать список в массив football(j). Последовательность действий:

  1. Создать на форме элементы управления: CommandButton, 2 элемента управления ListBox, поле метки. Ввести код, данный ниже, пояснения даны под комментариями:
    (General) (Declarations)
    Dim football(20) As String ' описание массива названий клубов
    
    Private Sub Form_Load()
    Dim j As Integer, i As Integer, Аr As String 
    ' Аr - условное название клуба
    For j = 0 To 14 ' формирование списка названий клубов
    Ar = "C" ' часть условного названия клуба
    ' формирование условных названий клубов
    For i = 0 To 2 
    Ar = Ar & Int(Rnd * 10 + 1)
    Next i
    lst1.List(j) = Ar ' вывод названий в поле ListBox
    Next j
    ' создание признака конца списка. После инструкции 
    ' Next значение переменной-счётчик увеличивается на 1
    lst1.List(j) = "-1" 
    End Sub
    
    ' переписывать список в массив football(20) до тех пор, пока не 
    ' появится признак конца списка
    Private Sub Command1_Click() 
    Dim j As Integer
    j = 0
    Do Until lst1.List(j) = "-1"
    football(j) = lst1.List(j)
    lst2.List(j) = football(j)
    j = j + 1
    Loop
    lbl1.Caption = j ' определить, сколько элементов переписано
    End Sub
  2. стартовать проект, сделать щелчок на командной кнопке.
Константин Новков
Константин Новков

Лекция 3: 2

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

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

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