Регистрация
Войти
Стать экспертом Правила
Информатика

1. Даны 2 массива a и b каждый из 12 элементов.Найти R = pi*b(i)/a(max)
ЗАдание 4

ОТВЕТЫ
1. Даны 2 массива a и b каждый из 12 элементов.Найти R=pi*b(i)/a(max)
Function Zadanie20683579(A, B)
    max = A(0)
    for i = LBound(A, 1) To UBound(A, 1)
        if max lt; A(i) then max = A(i)
    next

    R = 1
    for i = LBound(B, 1) To UBound(B, 1)
        r = r * B(i)
    next

    Zadanie20683579 = r / max
End Function

Function RandomArray(n, max)
    ReDim A(n)

    Randomize
    for i = LBound(A, 1) To UBound(A, 1)
        A(i) = max * Rnd
    next

    RandomArray = A
End Function

Msgbox Zadanie20683579(RandomArray(12, 50), RandomArray(12, 50))
Нужно найти
\displaystyle R=\frac{\displaystyle \prod_{i=1}^nb_i}{\min(a_i)} \ , \ n=12, \ i=1,2\dots n
Пусть элементы массива а располагаются в первой строке текущего листа, а элементы массива b - во второй строке. Тип данных не указан, поэтому будем считать их для общности вещественными.
Процедуру поместим в этот же лист, что позволит нам не ссылаться на лист при помощи Worksheets().

А теперь сама процедура

Sub Ex4_1()
    Const n = 12
    Dim p As Double, max As Double, i As Integer, R As Double
    Dim a(1 To n) As Double, b(1 To n) As Double
    For i = 1 To n
        a(i) = Cells(1, i)
        b(i) = Cells(2, i)
    Next i
    Собственно вычисление и вывод
    p = b(1): max = a(1)
    For i = 2 To n
        p = p * b(i)
        If a(i) gt; max Then max = a(i)
    Next i
    R = p / max
    MsgBox "R=" + Str(R)
End Sub
144
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам