- •Visual Basic for Applications
- •1. Основы языка программирования Visual Basic 5
- •1. Основы языка программированияVisualBasic
- •1.1. Общие сведения оVisualBasic
- •1.2. Среда vb, инструментальные средства. Разработка проектов
- •1.3. Типы данных. Константы и переменные
- •1.4. Операции
- •1.5. Ввод и вывод данных
- •1.6. Управляющие операторы
- •1.7. Массивы
- •1.8. Примеры программ работы с числами
- •1.9. Обработка строк. Примеры
- •1.10. Математические вычисления. Другие операторы и функции
- •1.11. Процедуры и функции. Примеры
- •1.12. Работа с файлами
- •2. ОсновыVba
- •3. Практические задания
- •3.1. Практическое задание №1. Знакомство сVba
- •3.2. Практическое задание №2. Линейное программирование
- •3.3. Практическое занятие №3. Программирование ветвлений
- •3.4. Практическая работа №4. Программирование повторений
- •3.5. Практическая работа №5. Работа с массивами
- •3.6. Практическая работа №6. Процедуры и функции
- •3.7. Практическое занятие №7. Файлы. Последовательный доступ
- •3.8. Практическое занятие №8. Файлы с произвольным доступом
- •Задания самостоятельной работы
- •4.1. Линейное программирование
- •4.2. Программирование ветвлений
- •4.3 Программирования циклов
- •4.4. Массивы
- •4.5. Файлы
- •5. Задания для контрольной работы
- •5.1. Для студентов очной формы обучения
- •5.1.1. Линейное программирование
- •5.1.2. Программирование ветвлений
- •5.1.3. Программирование циклов
- •5.1.4. Массивы
- •5.2. Для студентов заочной формы обучения
- •Список литературы
3.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» (с предусловием)
Измените, код программы так, что бы она искала минимальный элемент в массиве
Сохраните файл под именем «Нахождениемаксимальногоэлемента»