Найти максимум линейного массива с помощью рекурсивной функции - 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

Объяснение кода листинга программы

Список элементов кода:

  1. Создание функции с именем max для поиска максимального значения в линейном массиве
  2. Присваивание значения переменной max внутри функции max
  3. Проверка условия: если значение переменной i равно 0, то вызывается функция max с аргументами A, 2 и A(1)
  4. Проверка условия: если значение переменной i больше UBound(A, 1), то значение переменной max присваивается значению переменной m
  5. Проверка условия: если значение элемента массива A(i) больше значения переменной m, то вызывается функция max с аргументами A, i+1 и A(i)
  6. Проверка условия: если значение элемента массива A(i) меньше или равно значению переменной m, то вызывается функция max с аргументами A, i+1 и m
  7. Создание подпрограммы с именем Test для тестирования функции max
  8. Создание массива X(1 To 5) со значениями 7, -5, 3, 12, 11
  9. Вывод значения переменной max с помощью функции Debug.Print
  10. Конец программы

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы