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

Цель работы

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

Постановка задания (условный оператор)

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

Написать подпрограмму, которая выводит в первом случае в окно сообщения, во втором – в ячейку листа Excel сообщение «Точка с заданными координатами не принадлежит заштрихованной области», если точка, заданная координатами $\{х; у\}$ не принадлежит заштрихованной области, в противном случае вывести сообщение «Точка с заданными координатами принадлежит заштрихованной области».

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

ГрафикГрафик
16
27
38
49
510

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

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

Алгоритм решения задачи (математическая модель)

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

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

Очевидно, что заданный фрагмент графика можно расчленить на 2 составные части: левую и правую.

Анализ заданной заштрихованной области. РУК. VBA. Excel. Лабораторная работа №3

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

ФрагментГеометр. представлениеМатематическое описание
ЛевыйЧасть окружности, которая существует только в 4-ой четверти декартовой системы координат.

$x^2 + y^2 = R^2$ — уравнение окружности с центром в начале координат.

Из графика функции видно, что $R = 6$.

Так как окружность существует только в 4-ой четверти, то необходимо добавить следующие ограничения:

  • $x \leq 0$
  • $y \geq 0$

Так как нам требуется проверить попадание точки внутрь этого фрагмента, то окончательные условия для этого будут такими:

$\begin{cases} x^2 + y^2 \leq 6^2, \\ x \leq 0, \\ y \geq 0 \end{cases}$

ПравыйЧасть окружности, которая существует только в 1-ой четверти декартовой системы координат.

$x^2 + y^2 = R^2$ — уравнение окружности с центром в начале координат.

Из графика функции видно, что $R = 4$.

Так как окружность существует только в 1-ой четверти, то необходимо добавить следующие ограничения:

  • $x \geq 0$
  • $y \geq 0$

Так как нам требуется проверить попадание точки внутрь этого фрагмента, то окончательные условия для этого будут такими:

$\begin{cases} x^2 + y^2 \leq 4^2, \\ x \geq 0, \\ y \geq 0 \end{cases}$

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

➡ Следовательно, получим окончательную версию математической модели, благодаря которой можно проверить попадание точки в заданный интервал:

$\left[ \begin{gathered} \left\{ \begin{gathered} x^2 + y^2 \leq 6^2, \\
x \leq 0, \\ y \geq 0 \end{gathered} \right. \\ \\ \left\{ \begin{gathered}
x^2 + y^2 \leq 4^2, \\ x \geq 0, \\ y \geq 0 \end{gathered} \right.
\\ \end{gathered} \right.$

💡 В теории математики такую запись называют совокупностью систем.

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

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

ТестРезультаты
1Точка с заданными координатами $\{x; y\}$ принадлежит заштрихованной областиРУК. Лабораторная работа №3. Тестируем случай, когда точка с заданными координатами принадлежит заданной области
2Точка с заданными координатами $\{x; y\}$ не принадлежит заштрихованной областиРУК. Лабораторная работа №3. Тестируем случай, когда точка с заданными координатами не принадлежит заданной области
ВНИМАНИЕДля получения процедуры, вызываемой через макрос, своего варианта пишите на наш электронный адрес proglabs@mail.ru

Постановка задания (оператор выбора)

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

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

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

Условие задачи
1

В ячейку вводятся числа от $1$ до $4$, соответствующее: $1$ – миллиграмм, $2$ – грамм, $3$ – тонна, $4$ — центнер. С помощью диалогового окна считывается масса $М$ в соответствующих единицах измерения и выводится ее значение в килограммах.

2

В ячейку вводятся числа от $1$ до $3$, соответствующее: $1$ – радиус, $2$ – диаметр, $3$ – длина окружности. С помощью диалогового окна считывается значение соответствующего элемента окружности и вычисляется ее площадь. Например, если введено «$1$», то считывается значение радиуса, используя которое необходимо вычислить площадь окружности.

3

В ячейку вводятся числа от $1$ до $3$, соответствующее: $1$ – окружность, $2$ – прямоугольник, $3$ – трапеция. Нужно вычислить площадь соответствующей фигуры, введя для этого значения необходимых элементов. Например, если введено «$3$», то нужно ввести значение длин оснований трапеции и ее высоту, используя которые вычислить площадь.

4

В ячейку вводятся числа от $1$ до $4$, соответствующее: $1$ – синус, $2$ – косинус, $3$ – тангенс, $4$ – котангенс. С помощью диалогового окна считывается значение соответствующей функции для некоторого угла a, для которого необходимо найти значения всех остальных тригонометрических функций. Например, если введено «$1$», то вводится значение , а затем вычисляются значения .

5

В ячейку вводятся числа от $1$ до $3$, соответствующее одному из элементов равнобедренного прямоугольного треугольника: $1$ – катет, $2$ – гипотенуза, $3$ – площадь. С помощью диалогового окна считывается значение соответствующего элемента, используя которое вычисляются все остальные элементы. Например, если введено «$1$», то считывается значение катета, а затем находится гипотенуза и вычисляется площадь треугольника.

6

В ячейку вводятся числа от $1$ до $3$, соответствующее одному из элементов равностороннего треугольника: $1$ – длина стороны, $2$ – периметр, $3$ – площадь. С помощью диалогового окна считывается значение соответствующего элемента, используя которое нужно вычислить значения остальных элементов. Например, если введено число «$1$», то вводится длина стороны треугольника и с помощью этого значения вычисляются периметр и площадь треугольника.

7

В ячейку вводятся числа от $1$ до $4$, соответствующее одному из элементов квадрата: $1$ – длина стороны, $2$ – длина диагонали, $3$ – периметр, $4$ – площадь. С помощью диалогового окна считывается значение соответствующего элемента, с помощью которого вычисляются все остальные элементы. Например, если введено число «$2$», то с клавиатуры вводится длина диагонали квадрата, используя которую необходимо найти длину стороны, периметр и площадь квадрата.

8

В ячейку вводятся числа от $1$ до $3$, соответствующее: $1$ – прямой круговой цилиндр, $2$ – конус, $3$ – шар, $4$ – прямоугольный параллелепипед. Нужно вычислить объем соответствующей фигуры, введя для этого значения необходимых элементов. Например, если введено число «$2$», то нужно ввести с клавиатуры высоту конуса и радиус его основания и вычислить объем фигуры.

9

В ячейку вводятся числа от $1$ до $4$, соответствующее одному из элементов куба: $1$ – длина ребра, $2$ – длина диагонали боковой грани, $3$ – площадь боковой грани, $4$ – объем. С помощью диалогового окна считывается значение соответствующего элемента, используя которое нужно вычислить значения остальных элементов куба. Например, если введено число «$3$», то с клавиатуры вводится значение площади боковой грани куба, с помощью этого значения нужно вычислить длину ребра, длину диагонали боковой грани и объем куба.

10

В ячейку вводятся числа от $1$ до $4$, соответствующее: $1$ – миллиметр, $2$ – сантиметр,  $3$ – дециметр, $4$ – километр. С помощью диалогового окна считывается длина $L$ в соответствующих единицах измерения и выводится ее значение в метрах.

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

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

В ячейку вводятся числа от $1$ до $3$, соответствующее: $1$ – радиус, $2$ – диаметр, $3$ – длина окружности. С помощью диалогового окна считывается значение соответствующего элемента окружности и вычисляется ее площадь. Например, если введено «$1$», то считывается значение радиуса, используя которое необходимо вычислить площадь окружности.

Алгоритм решения задачи (математическая модель)

💡 Главное назначение математической модели — показать нам, как связаны между собой следующие величины:

  • Радиус — площадь окружности.
  • Диаметр — площадь окружности.
  • Длина окружности — площадь окружности.
Графическое представлениеМатематическая формула
1Радиус окружности. РУК. Лабораторная работа №3. VBA in Excel

$S_{круга} = PI \cdot R^2$, где

$PI$ — константа, равная примерно $3.1415$;
$R$ — радиус окружности.

2Диаметр окружности. РУК. Лабораторная работа №3. VBA in Excel

$D = 2 \cdot R \rightarrow R = \frac{D}{2}$

$S_{круга} = PI \cdot R^2 = PI \cdot (\frac{D}{2})^2$

$S_{круга} = PI \cdot \frac{D^2}{4}$, где $PI$ — константа, равная примерно $3.1415$;
$D$ — диаметр окружности.

3Длина окружности. РУК. Лабораторная работа №3. VBA in Excel

$L = 2 \cdot PI \cdot R \rightarrow R = \frac{L}{2 \cdot PI}$

$S_{круга} = PI \cdot R^2 = \\ = PI \cdot (\frac{L}{2 \cdot PI})^2 = PI \cdot \frac{L^2}{2^2 \cdot PI^2}$

$S_{круга} = \frac{L^2}{4 \ \cdot \ PI}$, где

$PI$ — константа, равная примерно $3.1415$;
$L$ — длина окружности.

➡  Владея этой информацией, мы теперь без труда сможем вычислить площадь окружности (или площадь круга)!

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

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

ТестРезультаты
1Интерфейс программы (Excel)Интерфейс программы. Лабораторная работа №3. Вариант №2. ВУК. VBA in Excel
2Задан радиус окружности (R)Тест. Задан радиус окружности. Лабораторная работа №3. Вариант №2. ВУК. VBA in Excel
3Задан диаметр окружности (D)Тест. Задан диаметр окружности. Лабораторная работа №3. Вариант №2. ВУК. VBA in Excel
4Задана длина окружности (L)Тест. Задана длина окружности. Лабораторная работа №3. Вариант №2. ВУК. VBA in Excel
5
Ошибочный ввод
Тест. Ошибочный ввод. Лабораторная работа №3. Вариант №2. ВУК. VBA in Excel
ВНИМАНИЕДля получения процедуры, вызываемой через макрос, своего варианта пишите на наш электронный адрес proglabs@mail.ru