
- •Основы алгоритмизации и программирования на языке высокого уровня visual basic 6.0
- •Оглавление
- •Первое знакомство с Visual Basic
- •Практические рекомендации по разработке и отладке программ
- •Основные понятия программирования Переменные
- •Имена переменных
- •Типы данных
- •Объявление переменной
- •Область действия переменных
- •Присвоение значения переменной
- •Стандартные функции
- •Программные модули
- •Процедуры
- •Лабораторная работа №1. Линейный алгоритм
- •Решение задач линейной структуры
- •Ввод данных через диалоговые окна
- •Inputbox(“комментарий к текстовому полю”, “заголовок окна”,”значение по умолчанию”)
- •Вывод результата через окно сообщений.
- •Ввод и вывод данных через текстовые поля.
- •Лабораторная работа №2. Разветвляющийся алгоритм и его реализация на языке Visual Basic 6.0
- •Лабораторная работа №3. Циклический алгоритм и его использование в решении задач
- •Цикл с параметром
- •Цикл с предусловием
- •Блок-схема
- •Лабораторная работа №4. Использование циклического алгоритма для итерационных процессов в решении задач
- •Блок-схема
- •Программный код кнопки «Запуск»
- •Лабораторная работа №5. Обработка массивов в среде Visual Basic 6.0
- •Блок-схема
- •Список литературы:
Блок-схема
Рис. 24 Блок-схема
алгоритма создания одномерного массива
Для реализации циклического алгоритма, создающего массив, используем оператор FOR-NEXT (с параметром).
Форма должна иметь следующие объекты: три командные кнопки, два поля списков для вывода элементов исходного массива и отсортированного массива (Рис.25).
ListBox
Рис 25. Внешний вид формы
Создадим программный код. Объявим одномерный динамичный массив А() и переменные, используемые в программных кодах обеих кнопок в модуле General (Declarations)
Dim А(), I As Integer, n As Integer
‘ Программный код кнопки «Создание»
Private Sub Command1_Click()
n = Val(InputBox("Введите число элементов в массиве", "Размерность массива"))
‘ Укажем размерность
ReDim a(n) As Single
For I = 1 To n
a(I) = Val(InputBox("a(i)=", "Ввод элементов массива"))
List1.AddItem Str(a(I))
Next I
End Sub
Программный код кнопки «Сортировка» создан с использованием следующего принципа: в цикле каждый предыдущий элемент массива А(I) сравнивается со следующим А(J) и, если его значение меньше, то элементы меняются местами с помощью промежуточной переменной d, временно сохраняющей значение элемента А(I).
Private Sub Command2_Click()
Dim J As Integer, D As Single
For I = 1 To n - 1
For J = I + 1 To n
If А(I) < А(J) Then
D = А(I)
А(I) = А(J)
А(J) = D
End If
Next J
Next I
For I = 1 To n
List2.AddItem Str(А(I))
Next I
End Sub
Пример 2.
Создать двумерный массив F( 5 , 7 ) случайных вещественных чисел на интервале [-2,5]. Найти:
произведение отличных от нуля элементов главной диагонали;
максимальный элемент в каждом столбце;
количество элементов, значения которых находятся в интервале [-1 ; 2]
Решение:
Создайте форму достаточно большого размера, т.к. все результаты обработки будут выводиться на форму методом Print. На форме разместите две командные кнопки «Пуск» и «Выход».
Для создания массива используем датчик случайных чисел RND. Чтобы последовательность случайных чисел не повторялась, используем оператор Randomize Timer.
Программный код:
Dim F(1 to 5, 1 to 7) As Single, i As Integer, j As Integer
Randomize timer
‘ Цикл по строкам
For i=1 to 5
‘ Цикл по столбцам
For j=1 to 7
F(i,j)=-2+RND(1)*7
‘ округление до трех знаков после запятой
F(i,j)=Round(F(i,j),3)
Print F(i,j),
Next j
Next i
‘ Произведение элементов главной диагонали массива
Dim p As Single
P=1
For i=1 to 5
For j=1 to 7
If F(i,j) = 0 Then goto 1
If i = j Then p=p* F(i,j)
1 Next j
Next i
Print “Произведение элементов главной диагонали массива”; p
‘ Нахождение максимального элемента в столбце.
Dim Max As Single
For j = 1 to 7
Max = F(1,j)
For I = 2 to 5
If F(i,j) > Max Then Max = F(i,j)
Next i
Print “Максимальный элемент в ”; j; “ столбцe ”; Max
Next j
‘ Подсчет элементов из интервала [-1, 2]
Dim k As Integer
k=0
For i=1 to 5
For j=1 to 7
If F(i,j) > -1 Then
If F(i,j) < 2 Then k=k+1
End If
Next j
Next i
Print “Элементов из интервала [ -1, 2]”; k
Задание для самостоятельного выполнения.
Найти среднее арифметическое максимального и минимального элементов массива A(4,7).