Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
работа с массивами.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.24 Mб
Скачать

Решение

Этап 1. Математическая часть

Алгоритм записан на естественном языке

  1. Const n = 20

  2. i = 1

  3. Если i <= n, то шаг 4, иначе шаг 7

  1. Ввести a(i)

  2. i = i + 1

  3. шаг 3

  4. Max = a(1)

  5. k = 1

  1. i = 1

  2. Если i <= n, то шаг 11, иначе шаг 14

  3. Если Max < a(i), то Max = a(i)

k = i, иначе шаг 12

  1. i = i + 1

  2. шаг 10

  3. Вывести Max, k

Этап 2. Ввод данных в таблицу Excel

В ячейки А1:A20 вводятся элементы массива a(i).

Этап 3. Определение переменных

Константа n = 20, размер массива а(20)

Вводится: массив a(i) (Single).

Выводятся (результат): Max (максимальное значение массива, (Single)), k (номер максимального значения массива, Integer).

Промежуточные переменные: i – счетчик цикла (Integer).

Этап 4. Написание процедуры

На рабочем листе Лист1 при помощи Элементов управления создать элемент Кнопка (СommandBatton1).

Переименовать Кнопку в режиме конструктора. Вызвать контекстное меню ПКМ  Свойства  закладку Alhpabetic  Caption  в Поле ввода ввести новое название кнопки Максимальное число и его номер.

Написать Процедуру-Событие для Кнопки «Максимальное число и его номер»:

Private Sub CommandBatton1_Click()

'Декларация констант -

'n количество элементов массива

Const n As Integer = 20

'Декларация переменных

Dim a(1 To n) As Single

Dim Max As Single

Dim i As Integer

Dim k As Integer

'Ввод массива из ячеек A1:A20

Range("a1").Activate

For i = 1 To n

a(i) = Cells(i, 1).Value

Next i

'Поиск максимального элемента

'и его номера

Max = a(1)

k = 1

For i = 1 To n

If Max < a(i) Then

Max = a(i)

k = i

End If

Next i

'Вывод полученных результатов

Range("C1").Value = "Максимальный элемент равен " & Max

Range("C2").Value = "Номер Максимального элемента равен " & k

End Sub

Э тап 5. Выполнение.

Перейти на рабочий лист (ViewMicrosoft Excel или Alt+F11). Выйти из режима Конструктора. Нажать Кнопку «Максимальное число и его номер». В ячейке С1 появится результат «Максимальный элемент равен 15», в С2  «Номер Максимального элемента равен 18» (рис.3).

Этап 6. Переименование листа. Навести курсор на закладку Лист1, правой клавишей мыши (ПКМ) вызвать контекстное меню, выбрать пункт Переименовать, удалить старое название листа и с клавиатуры набрать новое Максимум, нажать Enter.

Упражнения для самостоятельной работы к лабораторной работе № 1

1. Дан вектор a(20) найти минимальный элемент и максимальный элемент этого вектора, вывести номера этих элементов.

2. Дан вектор a(15). Посчитать количество положительных, отрицательных и нулевых элементов в этом векторе.

3. Дан вектор a(25). Вывести номер шестого ненулевого элемента массива и перового отрицательного элемента.

4.1. Угол между векторами. Найти угол (в градусах) между векторами A(xa,ya,za) и B(xb,yb,zb), используя формулу .

4.2. Угол между векторами. Найти угол (в градусах) между векторами A(n) и B(n), используя формулу .

Примечание 2. В VBA: Arccos(X) = Atn(-X /Sqr(-X * X + 1)) + 2 * Atn(1).

Примечание 3. αрад =α◦π/180◦