Найти максимум линейного массива с помощью рекурсивной функции - QBasic
Формулировка задачи:
Найти максимум линейного массива с помощью
рекурсивной функции очень легко. Весь код забирает
функция. Это программа - пример выше сказанного.
Решение задачи: «Найти максимум линейного массива с помощью рекурсивной функции»
textual
Листинг программы
Function max(A() As Double, Optional i As Integer = 0, Optional m As Double = 0) As Double If i = 0 Then max = max(A, 2, A(1)) ElseIf i > UBound(A, 1) Then max = m ElseIf A(i) > m Then max = max(A, i + 1, A(i)) Else max = max(A, i + 1, m) End If End Function Sub Test() Dim X(1 To 5) As Double X(1) = 7 X(2) = -5 X(3) = 3 X(4) = 12 X(5) = 11 Debug.Print max(X) End Sub
Объяснение кода листинга программы
Список элементов кода:
- Создание функции с именем
max
для поиска максимального значения в линейном массиве - Присваивание значения переменной
max
внутри функцииmax
- Проверка условия: если значение переменной
i
равно 0, то вызывается функцияmax
с аргументамиA
, 2 и A(1) - Проверка условия: если значение переменной
i
больше UBound(A, 1), то значение переменнойmax
присваивается значению переменнойm
- Проверка условия: если значение элемента массива A(i) больше значения переменной
m
, то вызывается функцияmax
с аргументамиA
, i+1 и A(i) - Проверка условия: если значение элемента массива A(i) меньше или равно значению переменной
m
, то вызывается функцияmax
с аргументамиA
, i+1 и m - Создание подпрограммы с именем
Test
для тестирования функцииmax
- Создание массива X(1 To 5) со значениями 7, -5, 3, 12, 11
- Вывод значения переменной
max
с помощью функции Debug.Print - Конец программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д