- •Лабораторный практикум
- •5 Часть
- •Visual Basic. Основы программирования
- •Дмитров 2012
- •Содержание
- •Предисловие
- •Массивы данных
- •Статические массивы
- •Динамические массивы
- •Массивы объектов
- •Создание и использование вызываемых процедур и функций
- •ПроцедурыSub
- •Функции
- •Рекурсивные процедуры и функции
- •Лабораторно-практические работы лабораторно-практическая работа № 1
- •Лабораторно-практическая работа № 2
- •Лабораторно-практическая работа № 3
- •Лабораторно-практическая работа № 4
- •Лабораторно-практическая работа № 5
- •Лабораторно-практическая работа № 6
- •Лабораторно-практическая работа № 7
- •Лабораторно-практическая работа № 8
- •Лабораторно-практическая работа № 9
- •1 Часть
- •2 Часть
- •Лабораторно-практическая работа № 10
- •Лабораторно-практическая работа № 11
- •1 Часть
- •2 Часть
- •Задания для самостоятельного выполнения
Лабораторно-практическая работа № 2
Тема: Статические массивы данных.
Цель: Получить навыки использования двумерных массивов данных
Порядок выполнения
Установите на форме следующие объекты и измените им свойства:
-
Объект
Свойство
Значение
Командные кнопки
Name
Cmd1
Caption
Заполнение
Name
Cmd2
Caption
Min и Max в строке
Name
Cmd3
Caption
Преобразовать
Графические окна
Name
PicMassiv
Name
PicMassiv0
Name
PicMin
Name
PicMax
Приведите свою форму в соответствие с образцом
В разделе общих объявлений объявите массив
Dim Mas(4, 6) As Integer
В окне кода процедуры обработки события Clickдля объектаCmd1набрать:
PicMassiv.Cls
For i = 0 To 4
For j = 0 To 6
Mas(i, j) = Int(Rnd * 10)
PicMassiv.Print Mas(i, j); " ";
Next j
PicMassiv.Print
Next i
В окне кода процедуры обработки события Clickдля объектаCmd2 набрать
PicMax.Cls
PicMin.Cls
For i = 0 To 4
Max = Mas(i, 0)
Min = Mas(i, 0)
For j = 0 To 6
If Max < Mas(i, j) Then Max = Mas(i, j)
If Min > Mas(i, j) Then Min = Mas(i, j)
Next j
PicMax.Print Max
PicMin.Print Min
Next i
Проверьте работу программы. Измените программы так, чтобы она определяла также максимальные и минимальные значения для каждого столбца, а также сумму значений каждого столбца.
В окне кода процедуры обработки события Clickдля объектаCmd3 набрать
'поменять местами первый и последний столбец
For i = 0 To 4
s = Mas(i, 0)
Mas(i, 0) = Mas(i, 6)
Mas(i, 6) = s
Next
'вывести массив после перестановки столбцов
PicMassiv0.Cls
For i = 0 To 4
For j = 0 To 6
PicMassiv0.Print Mas(i, j); " ";
Next j
PicMassiv0.Print
Next i
Проверьте работу программы. Измените программу так, чтобы местами менялись значения первой и последней строки.
Добавьте на форму еще одну командную кнопку (Cmd4) и графическое окно (PicMas2). При щелчке по новой кнопке заполнить массив 5 на 5 по следующему правилу: значения элементов главной диагонали равны0, ниже главной диагонали –1, выше главной диагонали равны–1. Для этого объявите массив и в окне кода процедуры обработки событияClickдля объектаCmd4 набрате
PicMas2.Cls
For i = 1 To 5
For j = 1 To 5
If i > j Then mas2(i, j) = 1
If i < j Then mas2(i, j) = -1
If i = j Then mas2(i, j) = 0
PicMas2.Print mas2(i, j); " ";
Next j
PicMas2.Print
Next i
Проверить работу программы.
Лабораторно-практическая работа № 3
Тема: Динамические массивы данных.
Цель: Получить навыки использования динамического массива данных
Порядок выполнения
Установите на форме следующие объекты и измените им свойства:
-
Объект
Свойство
Значение
Рамки
Name
Frame1
Caption
Укажите кол-во студентов
Name
Frame2
Caption
(отсутствует)
Visible
False
Командные кнопки
Name
Cmd1
Caption
Переопредеить массив
Name
Cmd2
Caption
Добавить в массив
Текстовые окна
Name
TxtKol
Name
TxFamt
Name
TxtName
Список
Name
List1
Остальные объекты - метки
Приведите свою форму в соответствие с образцом
В разделе общих объявлений набрать:
Dim student() As String
Dim x, n As Integer
В окне кода процедуры обработки события Load для объекта Form набрать
Frame2.Caption = "Студент N " + Str(n + 1)
В окне кода процедуры обработки события Click для объекта Cmd1 набрать
x = Val(TxtKol.Text)
ReDim student(x) ‘ переопределение размера массива
List1.Clear
Frame2.Visible = True
Frame1.Visible = False
n = 0
В окне кода процедуры обработки события Click для объекта Cmd2 набрать
If n < x Then
student(n) = TxtFam.Text + " " + TxtName.Text
TxtFam.Text = ""
TxtName.Text = ""
n = n + 1
Frame2.Caption = "Студент N " + Str(n + 1)
If n = x Then
Frame2.Caption = ""
MsgBox "Массив заполнен полностью"
Frame2.Visible = False
Frame1.Visible = True
For i = 0 To n - 1
List1.AddItem student(i)
Next i
End If
End If
Проверьте работу программы