ВНИМАНИЕДля получения программы своего варианта пишите на наш электронный адрес proglabs@mail.ru
💡 Время нашего ответа обычно составляет не более 10 минут.

Цель работы

Приобретение навыков написания программ на VBA с использованием циклических алгоритмов.

Постановка задания (задача №1)

Задание для всех вариантов звучит так (или, возможно, немного изменено, так как могут быть разные издания учебного пособия):

Написать программу вычисления суммы (произведения) конечного числа элементов ряда с использованием цикла с параметром.

Варианты заданий

Сумма (произведение) ряда
1

$S_n = \sum\limits_{n = 1}^{50} \frac{\cos(nx) \ + \ \sin(nx)}{n \ + \ 1}$,
$x$ вводится пользователем с клавиатуры

2$P_n = \prod\limits_{n = 1}^{10} \frac{n \ \cdot \ \sin(n \ + \ 2)}{n^2 \ + \ 2}$
3$S_n = \sum\limits_{n = 1}^{25} \frac{n^3 \ + \ 5n^2 \ — \ 7n \ + \ 14 \ + \ 2\cos(n)}{n^5 \ + \ 2n^3 \ — \ 4n \ + \ 11}$
4$P_n = \prod\limits_{n = 1}^{20} \frac{n^4  \ + \ 10n^3 \ — \ 8n^2 \ + \ 15n \ — \ 2n \ + \ 7}{3n^5 \ + \ 2n^3 \ — \ n \ + \ 17}$
5$S_n = \sum\limits_{n = 1}^{50} \frac{\sin(nx) \ — \ \cos(nx)}{n^3 \ + \ 4n \ + \ 5}$,
$x$ вводится пользователем с клавиатуры
6

$P_n = \prod\limits_{n = 1}^{10} \frac{a \ + \ n}{\cos(a^n) \ \cdot \ n}$,

$a$ вводится пользователем с клавиатуры

7

$S_n = \sum\limits_{n = 1}^{100} \frac{a \ \cdot \ \sin(a^n)}{n \ + \ a}$,
$a$ вводится пользователем с клавиатуры

8

$P_n = \prod\limits_{n = 1}^{10} \frac{n^x}{n^{x + 1} \ + \ 5n}$,

$x$ вводится пользователем с клавиатуры

9$S_n = \sum\limits_{n = 1}^{50} \frac{n \ \cdot \ \sin(n)}{n \ \cdot \ \sin(n) \ + \ 5n \ + \ 4}$
10$P_n = \prod\limits_{n = 1}^{5} \frac{\cos\frac{1}{n} \ + \ n}{\cos\frac{1}{n} \ + \ n \ + \ n^2}$

Образец выполнения (вариант №1)

Условие задания

$S_n = \sum\limits_{n = 1}^{50} \frac{\cos(nx) \ + \ \sin(nx)}{n \ + \ 1}$,

$x$ вводится пользователем с клавиатуры

Решение задачи с использованием макроса на VBA

Решение задачи с использованием функции на VBA

Результаты работы программы

Поскольку интерфейс программы одинаков, то приведем обобщенные результаты.

➡ Важно понимать, что для одного и того же значения переменной $x$, как макрос, так и функция получит одинаковый результат.

РУК. Лабораторная работа №4. Вариант №1. Тестирование задачи через макрос на VBA in Excel

Тестирование через макрос

РУК. Лабораторная работа №4. Вариант №1. Тестирование задачи через функцию на VBA in Excel

Тестирование через функцию

ВНИМАНИЕДля получения макроса или функции своего варианта пишите на наш электронный адрес proglabs@mail.ru
💡 Время нашего ответа обычно составляет не более 10 минут.

Постановка задания (задача №2)

Задание для всех вариантов звучит так (или, возможно, немного изменено, так как могут быть разные издания учебного пособия):

К задаче своего варианта  необходимо написать пять программ, используя циклы с предусловием и постусловием.

Варианты заданий

Условие
1

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

2

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

3

Вычислять и выводить в ячейки рабочего листа члены арифметической прогрессии до тех пор, пока очередной член прогрессии не окажется большим $50$. Первый член арифметической прогрессии равен $2$, разность равна $5$.

4

Вычислять и выводить в ячейки рабочего листа члены геометрической прогрессии до тех пор, пока очередной член прогрессии не окажется большим $250$. Первый член геометрической прогрессии равен $3$, знаменатель равен $4$.

5

Общий член последовательности задан формулой: $a_n = \frac{n^2}{5}$. Вычислить сумму $n$ первых членов последовательности, меньших $75$.

6

Общий член последовательности задан формулой: $a_n = \frac{5n}{n^2 \ + \ 1}$. Вычислить сумму $n$ первых членов последовательности, больших $1$.

7

Общий член последовательности задан формулой: $a_n = \frac{n}{5} \ + \ 2n \ + \ 1$.

Суммировать первые $n$ членов последовательности, до тех пор, пока сумма не окажется большей $100$. Вывести значение суммы и последнего $n$-го члена последовательности.

8

Общий член последовательности задан формулой: $a_n = \frac{n}{3} \ + \ n \ + \ 4$.

Вычислять произведение первых $n$ членов последовательности до тех пор, пока произведение не окажется большим $1000$. Вывести значение произведения и последнего $n$-го члена последовательности.

9

Первый член арифметической прогрессии равен $-50$, разность равна $7$. Вывести на в ячейки рабочего листа все члены данной арифметической прогрессии, меньшие нуля.

10

Первый член арифметической прогрессии равен $90$, разность равна  $-8$. Вычислить сумму всех положительных членов данной арифметической прогрессии.

Образец выполнения (вариант №1)

Условие задания

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

Решение задачи с использованием макросов на VBA

Всего было закодировано $5$ различных макросов для всех видов циклов с пред- и постусловием.

Результаты работы программы

Программа имеет следующий интерфейс:

Интерфейс программы. РУК. Лабораторная работа №4. Задача №2. VBA in Excel

Для тестирования задачи необходимо последовательно запустить каждый из созданных нами ранее $5$ макросов:

Список из 5 макросов

Покажем результаты работы программы только при запуске макроса «While — Wend», так как результаты для других макросов будут абсолютно аналогичными.

Будем последовательно вводить следующие числа: $2$, $5$, $4$, $3$, $1$. При вводе числа $1$ программа прекратит свое исполнение и отобразит результат в соответствующей ячейке.

Каким должен быть ответ? Наша цель — найти произведение введенных чисел, то есть ответ будет равен — $2 \ \cdot \ 5 \ \cdot \ 4 \ \cdot \  3 = 120$.

Тестирование макроса While-Wend

В конечном итоге, после последовательного запуска всех макросов, в ячейки электронной таблицы будет выведен следующий результат:

Конечный результат отработки всех макросов

💡 Делаем вывод, что все макросы отработали успешно и все заданные циклы с пред- и постусловием отработали корректно.

ВНИМАНИЕДля получения $5$ процедур своего варианта пишите на наш электронный адрес proglabs@mail.ru
💡 Время нашего ответа обычно составляет не более 10 минут.