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

Цель работы

Освоить алгоритмы обработки массивов в среде VBA.

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

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

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

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

Постановка задачи
1

В одномерном массиве из $10$ целых чисел найти минимальный и максимальный элементы массива и заменить первый элемент массива суммой минимального и максимального элементов.

2

Дан одномерный массив из $15$ действительных чисел. Найти среднее арифметическое элементов массива и определить порядковый номер первого элемента, меньшего среднего арифметического.

3

Дан одномерный массив из $15$ целых чисел. Найти максимальный и минимальный элементы массива и вычислить произведение их порядковых номеров.

4

Исходный массив содержит $15$ действительных чисел. Найти среднее арифметическое элементов массива, на которое разделить все элементы исходного массива

5

Исходный массив содержит $15$ целых отрицательных и положительных чисел. Найти максимальный и минимальный элементы массива и вычислить их произведение.

6

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

7

В одномерном массиве $Х$, содержащем $10$ целых чисел, найти сумму и количество элементов, удовлетворяющих условию $15 \lt X_{i} \lt 28$.

8

В одномерном массиве из $15$ целых чисел найти минимальный и максимальный элементы, вычислить их сумму.

9

Дан массив из $15$ действительных чисел. Найти среднее арифметическое элементов массива и вычислить сумму всех элементов, больших среднего арифметического.

10

В одномерном массиве, содержащем $15$ целых чисел, найти максимальный, и все элементы разделить на максимальный.

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

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

В одномерном массиве из $10$ целых чисел найти минимальный и максимальный элементы массива и заменить первый элемент массива суммой минимального и максимального элементов.

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

Закодируем $3$ процедуры, каждую из которых можно будет вызвать с помощью макроса:

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

В итоге мы создали следующие макросы:

Перечень макросов. Лабораторная работа №5. Задача №1. РУК. VBA in Excel

Перечень доступных макросов

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

ОписаниеРезультат
1Интерфейс программыИнтерфейс программы. Лабораторная работа №5. Задача №1. РУК. VBA in Excel
2Ввод элементов исходного массива (числа вводились случайным образом с клавиатуры)
Входные данные. Лабораторная работа №5. Задача №1. РУК. VBA in Excel
3Обработка через статический массивОбработка через статический массив. Лабораторная работа №5. Задача №1. РУК. VBA in Excel
4Обработка через динамический массив

Обработка через динамический массив. Лабораторная работа №5. Задача №1. РУК. VBA in Excel

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

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

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

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

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

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

Дана целочисленная прямоугольная матрица. Определить количество строк, не содержащих ни одного нулевого элемента.

2

Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента.

3

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

4

Дана целочисленная квадратная матрица. Определить произведение элементов в тех строках, которые не содержат отрицательных элементов.

5

Дана целочисленная квадратная матрица. Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов.

6

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

7

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

8

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

9Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент. 
10
Дана целочисленная прямоугольная матрица. Найти номер первого из столбцов, не содержащих ни одного отрицательного элемента.

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

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

Дана целочисленная прямоугольная матрица. Определить количество строк, не содержащих ни одного нулевого элемента.

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

Так как в условии ничего не было сказано о способе решения и об ограничениях, то решим данную задачу с использованием статического двумерного массива размером $3 \ \times \ 5$.

В итоге нам потребуется закодировать $2$ процедуры:

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

➡ Процедура №2 автоматизирует процесс уборки прошлых результатов, что позволяет более быстро проводить тестирование макросов.

В итоге мы создали следующие макросы:

Перечень макросов. Лабораторная работа №5. Задача №2. РУК. VBA in Excel

Перечень доступных макросов

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

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