Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Word отчет Сокуренко бейсик.doc
Скачиваний:
2
Добавлен:
20.12.2018
Размер:
715.78 Кб
Скачать

Задача 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

Print

nm = 1

For i = 1 To n

If x(i) > x(nm) Then nm = i

Next i

Print "Номер максимального элемента"; nm

End Sub

Реалізація проекту

  1. Запустити на виконання VB для створення нового проекту.

  2. Ввести заголовок форми Задача 6.5.

  3. Створити кнопку Выполнить задание.

  4. Увести код процедури, яка обробляє подію клацання на кнопку Выполнить задание.

  5. Зберегти форму і проект у підкаталозі папки студента на диску.

  6. Запустити програму на виконання і зробити обчислення з комплектом вихідних даних.

Аналіз проекту

Для виконання обчислень у правій частині оператора привласнення використовуються функції CSng() та CInt(), які перетворюють рядкові значення на тип Single і Integer відповідно.

У коді виконується явний опис змінних через наявність оператора Option Explicit. Оператор Option Base 1 вказує на те, що нумерація елементів масиву Х починається з 1.

Для реалізації циклічного обчислення використовується оператор For…Next.

Для реалізації розгалуження застосовується скорочена форма умовного оператора.

Результат розрахунку друкується на форму за допомогою оператора Print.

Виконання програми й аналіз отриманих результатів

Результат розв’язання задачі залежить від початкових даних. Для перевірки працездатності використовувалися дані перевірки правильності алгоритму (тестування). Приклад такої перевірки наведено на малюнку вище. Отримані результати співпадають з результатами перевірки алгоритму.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]