ЦЕЛЬ РАБОТЫ
1. Приобретение навыков алгоритмизации и написания программ обработки массивов данных.
2. Приобретение навыков ввода-вывода информации с использованием элемента TextBox ().
3. Использование элементов MSFlexGrid.
4. Область видимости переменных. Переменные уровня модуля.
5. Приобретение навыков составления блок-схем алгоритмов обработки массивов.
6. Реализация алгоритма вычислительного процесса на языке Visual Basic.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1. Получить вариант и выбрать задачи из выданной таблицы.
2. Изучить основные свойства объекта MSFlexGrid.
3. Выбрать команду Components (Компоненты) контекстного меню Панели элементов управления. На экране появится диалоговое окно Components. В списке Controls (Элементы управления) найти элемент Microsoft FlexGrid control 6.0 (MSFlexGrid), и установить флажок слева от этого элемента. Нажмите кнопку ОК.
4. Изучить правила составления алгоритмических конструкций для обработки массивов.
5. Разработать интерфейс форм frmMain и frmRezalt с примерным видом, где размерность массива должна вводиться в текстовом окне.
Внешний вид экранной формы frmMain:
Внешний вид экранной формы frmRezalt:
ТЕКСТ ПРОГРАММЫ
Код модуля mdlMain
Public X(), Y() As Single ' Объявление динамических массивов
' как глобальные переменные
Public N, k As Integer ' Объявление целых глобальных переменных
Public Sub Vvod() ' Объявление глобальной процедуры Vvod, которая
' присваивает значения элементам массива
Randomize ' Инициализирует генератор случайных чисел,
' чтобы при каждом запуске приложения
' генерировались различные случайные числа
For k = 1 To N ' Объявление цикла для перебора
' всех элементов массива
X(k) = CInt(Rnd() * 10000 * (-1) ^ k) / 100 ' Ввод значений массива Х
Y(k) = CInt(Rnd() * 10000 * (-1) ^ k) / 100 ' Ввод значений массива Y
' CInt() - округляет числа по правилам округления
' Rnd() - генерирует числа от 0 до 1
' (-1)^k - разрешает вводить положительные (при парных k)
'и отрицательные (при непарных k) элементы массива
'Генерированное число множится на 10000, изменяет или
'нет знак. Потом оно округляется до целого и
'делится на 100, т.е. все числа будут в диапазоне
'от -100 до + 100 и содержит два знаки после запятой
Next ' Конец цикла
End Sub ' Конец глобальной процедуры Vvod
Код первой формы frmMain
Private Sub cmdStart_Click() ' Объявление локальной процедуры
' cmdStart_Click, которая выполняется
' при однократном нажатии на
' командную кнопку cmdStart
N = Val(txt.Text) ' Присвоение переменной N значения, которое
' вводится в текстовом окне txt
ReDim X(N), Y(N) As Single ' Переопределение размерности массивов
' Х и Y соответственно до введенного N
Call Vvod ' Вызов глобальной процедуры Vvod,
' которая присваивает значения
' элементам массива
Me.Hide ' Команда убирает с экрана
' текущую форму
Load frmRezalt ' Команда загружает форму frmRezalt
frmRezalt.Show ' Команда отображает форму frmRezalt
' на экран
End Sub ' Конец локальной процедуры
' cmdStart_Click
Private Sub cmdEnd_Click() ' Объявление локальной процедуры
' cmdEnd_Click(), которая выполняется
' при однократном нажатии на
' командную кнопку cmdEnd
End ' Команда завершает выполнение
' программы
End Sub ' Конец локальной процедуры
' cmdEnd_Click()