Задача 6.5.
Для одновимірного масива з N чисел знайти номер елемента з максимальним значенням.
Таблица переменных
Переменная |
Тип |
Имя |
Назначение |
Кол-во элементов массива |
Целый |
n |
ИД |
Номер максим. элемента |
Целый |
nm |
Результат |
Переменная цикла |
Целый |
i |
Промежут. |
Массив |
Действ. |
Х |
ИД |
Блок-схема алгоритма
.
Проверка
|
Цикл 1 |
Цикл 2 |
Цикл 3 |
Цикл 4 |
Цикл 5 |
Цикл 6 |
Цикл 7 |
Цикл 8 |
Цикл 9 |
Блок 1 |
начало |
|
|
|
|
|
|
|
|
Блок 2 |
10 |
|
|
|
|
|
|
|
|
Блок 3 |
1 2 3 4 5 4 3 2 1 0 |
|
|
|
|
|
|
|
|
Блок 4 |
nm=1; i=2 |
|
|
|
|
|
|
|
|
Блок 5 |
2>1 да |
3>2 да |
4>3 да |
5>4 да |
4>5 нет |
3>5 нет |
2>5 нет |
1>5 нет |
0>5 нет |
Блок 6 |
nm=2 |
nm=3 |
nm=4 |
nm=5 |
|
|
|
|
|
Блок 7 |
i=3 |
i=4 |
i=5 |
i=6 |
i=7 |
i=8 |
i=9 |
i=10 |
i=11 |
Блок 8 |
3<=10 да |
4<=10 да |
5<=10 да |
6<=10 да |
7<=10 да |
8<=10 да |
9<=10 да |
10<=10 да |
11<=10 нет |
Блок 9 |
|
|
|
|
|
|
|
|
Вывод 5 |
Блок 10 |
|
|
|
|
|
|
|
|
конец |
Структура даних
При розв’язанні задачі вихідними даними є кількість елементів масиву N та їх значення X(i), для введення цих значень використовується функція Inputbox. Результат виводиться за допомогою оператора Print, він друкується на форму. Результат залежить від вихідних даних, і користувач не може його довільно змінити.
Структура даних задачі подана в наступній таблиці.
-
Реквізит
Ім’я
Призначення
Кількість елементів
N
Вихідні дані
Масив
X
Вихідні дані
Номер максимального
NM
Результат
Інтерфейс з користувачем
Розв’язання задачі здійснюється за допомогою форми, наведеної нижче. У заголовку форми вказана назва додатка Задача 6.5. Обчислення виконуються при натисненні кнопки Выполнить задание. Результат розрахунку друкується на форму.
Програма
Option Explicit
Option Base 1
Dim x(10) As Single, i, n, nm As Integer
Private Sub Command1_Click()
n = CInt(InputBox("Введите количество элементов массива Х"))
Print "Массив Х"
For i = 1 To n
x(i) = CSng(InputBox("x(" & i & ")="))
Print x(i);
Next i
nm = 1
For i = 1 To n
If x(i) > x(nm) Then nm = i
Next i
Print "Номер максимального элемента"; nm
End Sub
Реалізація проекту
-
Запустити на виконання VB для створення нового проекту.
-
Ввести заголовок форми Задача 6.5.
-
Створити кнопку Выполнить задание.
-
Увести код процедури, яка обробляє подію клацання на кнопку Выполнить задание.
-
Зберегти форму і проект у підкаталозі папки студента на диску.
-
Запустити програму на виконання і зробити обчислення з комплектом вихідних даних.
Аналіз проекту
Для виконання обчислень у правій частині оператора привласнення використовуються функції CSng() та CInt(), які перетворюють рядкові значення на тип Single і Integer відповідно.
У коді виконується явний опис змінних через наявність оператора Option Explicit. Оператор Option Base 1 вказує на те, що нумерація елементів масиву Х починається з 1.
Для реалізації циклічного обчислення використовується оператор For…Next.
Для реалізації розгалуження застосовується скорочена форма умовного оператора.
Результат розрахунку друкується на форму за допомогою оператора Print.
Виконання програми й аналіз отриманих результатів
Результат розв’язання задачі залежить від початкових даних. Для перевірки працездатності використовувалися дані перевірки правильності алгоритму (тестування). Приклад такої перевірки наведено на малюнку вище. Отримані результати співпадають з результатами перевірки алгоритму.