Вычислить функцию с неопределенным числом параметров - VB

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

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

Требуется вычислить функцию y = max(a, b, c, ... ) где a, b, c, ... - целые числа а y - максимальное из этих чисел. Причем некоторые числа могут быть заданы в явном виде (например вместо "a" может стоять 11). Кроме того число параметров (чисел) есть величина неопределенная. Логика, размышления и решение: Например в языке Си есть такое понятие как "перегрузка функций". В Бейсике этого нет, однако и он не лаптем щи хлебает. Нам ли сыновьям славного Бейсика уступить выскочке Си! Я подумал: а почему бы не подсунуть Бейсику Троянского коня. Суть дела опирается на следующую аксиому (формулировка великого gehh). Аксиома: Строковая переменная заменит 1000 параметров. в самом деле, если ввести x$="a b c d e", то будут и волки сыты и овцы целы. Один параметр заменяет все!! Следующая программа решает эту задачу
Успехов вам всем!

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

textual
Листинг программы
Private Sub Form_Load()
    Dim Max11 As Long, Max12 As String
 
    Max11 = Max1(Array(1, 5, 3, 7, 8, 6, 5))
    Max12 = Max2(Array("a", "v", "z", "w"))
End Sub
 
' Так быстрее
Private Function Max1(v As Variant) As Variant
    Dim x As Variant, i As Long
    For Each x In v
        If i Then
            If x > Max1 Then Max1 = x
        Else: Max1 = x: i = True
        End If
    Next
End Function
Private Function Max2(v As Variant) As Variant
    Dim i As Long
    For i = 0 To UBound(v)
        If i Then
            If v(i) > Max2 Then Max2 = v(i)
        Else: Max2 = v(i)
        End If
    Next
End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

7   голосов , оценка 3.857 из 5