Найти максимум линейного массива с помощью рекурсивной функции - QBasic

Узнай цену своей работы

Формулировка задачи:

Найти максимум линейного массива с помощью рекурсивной функции очень легко. Весь код забирает функция. Это программа - пример выше сказанного.
Листинг программы
  1. DECLARE FUNCTION MAX! (a!(), n!)
  2. CLS
  3. RANDOMIZE TIMER
  4. n = 12
  5. DIM a(1 TO n)
  6. FOR i = 1 TO n
  7. a(i) = INT(90 * RND)
  8. PRINT a(i);
  9. NEXT i
  10. PRINT : PRINT
  11. PRINT MAX(a(), n)
  12. END
  13. FUNCTION MAX (a(), n)
  14. IF n = 1 THEN
  15. MAX = a(1)
  16. ELSE
  17. b = MAX(a(), n - 1)
  18. IF b < a(n) THEN MAX = a(n) ELSE MAX = b
  19. END IF
  20. END FUNCTION

Решение задачи: «Найти максимум линейного массива с помощью рекурсивной функции»

textual
Листинг программы
  1. Function max(A() As Double, Optional i As Integer = 0, Optional m As Double = 0) As Double
  2.     If i = 0 Then
  3.        max = max(A, 2, A(1))
  4.     ElseIf i > UBound(A, 1) Then
  5.        max = m
  6.     ElseIf A(i) > m Then
  7.        max = max(A, i + 1, A(i))
  8.     Else
  9.        max = max(A, i + 1, m)
  10.     End If
  11. End Function
  12.  
  13. Sub Test()
  14. Dim X(1 To 5) As Double
  15.     X(1) = 7
  16.     X(2) = -5
  17.     X(3) = 3
  18.     X(4) = 12
  19.     X(5) = 11
  20.     Debug.Print max(X)
  21. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы