
- •Практическое задание № 1. Знакомство с vba
- •Практическое задание № 2. Линейное программирование
- •Практическое занятие № 3. Программирование ветвлений
- •Практическая работа № 4. Программирование повторений
- •Практическая работа № 5. Работа с массивами
- •6. Практическая работа № 6. Процедуры и функции
- •7. Практическое занятие № 7. Файлы. Последовательный доступ
- •8. Практическое занятие № 8. Файлы с произвольным доступом
- •Задания самостоятельной работы
- •1. Линейное программирование
- •2. Программирование ветвлений
- •3. Программирования циклов
- •4. Массивы
- •5. Файлы
- •Список литературы
Практическая работа № 5. Работа с массивами
Задание.
Найдите значение максимального элемента одномерного массива |
Массив – это совокупность нескольких переменных одного типа, которые могут принимать одинаковые или различные значения, объединенных одним общим именем (идентификатором) и идентифицируемых (адресуемых) вычисляемым индексом.
Различают статические и динамические массивы. Границы статических массивов устанавливаются на этапе разработки и могут изменяться только в новой версии программы. Динамические массивы изменяют свои границы в ходе выполнения программы.
Компонентами массива могут быть не только простейшие данные, но и структурные, в том числе массивы. В этом случае мы получаем массив массивов – многомерный массив. Для индексации элементарных компонент в этом случае может потребоваться два, три и более индексов.
Для решения этой задачи мы будем использовать две локальные процедуры – в первой введём элементы массива, а во второй – находить максимальный элемент, а также его вывод.
Блок-схема:
|
Наша блок-схема разбита на два блока: 1) ввод элементов массива, 2) нахождение максимального элемента. Каждый блок представляет собой отдельную программу (процедуру), которая выполняет определённую операцию. Для заполнения массива можно использовать цикл с предусловием или с постусловием.
|
Откройте приложение MS Excel.
Выполните команду СервисàМакросРедактор Visual Basic или нажмите <Alt+F11>.
Добавьте форму (команда Insert UserForm).
Для изменения размеров формы используйте указатель мыши помещённый в правый нижний угол окна Формы(UserForm).
Разработайте пользовательский интерфейс, расположив на форме с помощью панели инструментов управления (ViewToolBox), следующие объекты управления: Label (Метка), TextBox (Текстовое поле), CommandButton (Командная кнопка), ListBox (Список).
В окне Properties (Свойства) для каждого объекта управления установить свойства, приведённые в таблице 4.
Таблица 4
Элемент управления |
Свойства |
Значения |
UserForm |
Caption |
Нахождение максимального элемента |
Label1 |
Caption |
Число элементов |
TextBox1 |
Name |
txtRazmer |
Label2 |
Caption |
Массив |
ListBox1 |
Name |
lstMassiv |
Label3 |
Caption |
Максимальный элемент |
TextBox2 |
Name |
txtMax |
CommadButton1 |
Name |
cmdVvodMassiva |
Caption |
Ввод массива |
|
CommadButton2 |
Name |
cmdMaxElement |
Caption |
Максимальный элемент |
Примерный интерфейс программы может выглядеть так:
Код программы:
Dim Massiv() As Single, Size As Integer
Private Sub cmdVvodMassiva_Click()
Dim i As Integer
Size = Val(txtSize.Text)
ReDim Massiv(Size)
i = 1
Do While i <= Size
Massiv(i) = Val(InputBox("Массив(" + Str(i) + ")=","Ввод массива"))
lstMassiv.AddItem "A(" + Str(i) + ")=" + Str(Massiv(i))
i = i + 1
Loop
End Sub
Private Sub cmdMaxElement_Click()
Dim i As Integer
Max! = Massiv(1)
i = 1
Do Until i > Size
If Massiv(i) > Max Then Max = Massiv(i)
i = i + 1
Loop
txtMax.Text = Str(Max)
End Sub
Задайте массив из 15 элементов и посмотрите как работает программа.
Измените циклы в программе первый сделайте используя ключевое слово «Until» (с постусловием), а второй с ключевым словом «While» (с предусловием).
Измените, код программы так, что бы она искала минимальный элемент в массиве.
Сохраните файл под именем «Нахождение максимального элемента».