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

0 голосов
42 просмотров

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


image

Информатика (99 баллов) | 42 просмотров
0

Недостаточно информации: не указан язык, непонятны условные обозначения, что такое a(max), как изменяется i.

0

язык visual basic через excel

0

Окей, с заданием понятно всё, а на каком языке программирования реализовать?

Дано ответов: 2
0 голосов
Правильный ответ

Нужно найти
\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) > max Then max = a(i)
    Next i
    R = p / max
    MsgBox "R=" + Str(R)
End Sub

(150k баллов)
0 голосов

' 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 < 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))

(55.0k баллов)