VBA.Разработать макро функцию с одним параметром n, который рассчитываться по указному...

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

VBA.Разработать макро функцию с одним параметром n, который рассчитываться по указному ниже выражению(n > = 1). В функции нельзя использовать
оператор IF.
n^2 + (n +1)^2 + ... +(2n)^2
Написать программный код. Если что, то это только первый курс, поэтому не надо мудрить супер крутой код. :)


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

И еще: VBA сейчас изучают во многих школах, так что "только первый курс" - это не повод говорить про суперкрутой код.

0

И последнее: тут для вычисления суммы этой IF не нужен... даже в принципе. Обычный оператор цикла.

0

Во многих, но не в моей. Так что говорю про свою конкретную ситуацию.

0

Если вы знаете как должен выглядеть этот код, то напишите его. Буду благодарен.

0

Знаю, но писать не буду - негде. В поле комментария не выйдет, а в поле для ответа - он будет неполный, потому что блок-схему рисовать мне сто лет не снилось.

0

напишите в самом VBA и пришлите скриншот.

0

Прислать куда? Вам в личную почту? Это выходит за рамки Сервиса. Вы сами себе осложнили получение ответа требованием этой блок-схемы. Весь макрос - шесть строчек кода...

0

Просить рисовать блок-схему элементарного цикла с накоплением суммы... по-моему, это чересчур. Этому учат в школе на первых двух-трех занятиях по изучению основ алгоритмизации.

0

Разве вы не можете прикрепить файл при ответе? Без блок схемы.

0

Вы в задании просите блок--схему. Если её не дать, ответ будет неполный и его удалят.

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

Сначала получим формулу, которую требуется реализовать в теле функции.

\displaystyle F=n^2+(n+1)^2+(n+2)^2+...+(2n)^2= \\ 
(n+0)^2+(n+1)^2+(n+2)^2+...+(n+n)^2 =\sum_{i=0}^n(n+i)^2

Теперь можно легко написать код соответствующей функции

Function F(n As Integer) As Double
    Dim s As Double, i As Integer
    s = 0
    For i = 0 To n
        s = s + (n + i) ^ 2
    Next i
    F = s
End Function

Sub Test()
    MsgBox "F(10)=" + Str(F(10))
End Sub

(150k баллов)
0

Спасибо!

0

Пожалуйста