2 семестр / Задачи с массивами (исправленные)
.docЧасть 5. СОЗДАНИЕ ПРОГРАММС МАССИВАМИ
Начальные сведения по решению задач данной части содержатся в части 6 учебно-методического пособия «Программирование на VBA».
Приступая к решению задач этого раздела, следует вспомнить, что:
-
массив – это структура данных, представляющая собой совокупность элементов одного типа;
-
массив должен быть объявлен в разделе объявления переменных;
-
доступ к элементу массива осуществляется путем указания индекса (номера) элемента, в качестве которого используется выражение целого типа, например, целая константа или переменная типа Integer;
-
для ввода, вывода и обработки массивов удобно применять инструкции циклов (For…Next, Do While, Do Until, Do…Loop While, Do…Loop Until).
ВАРИАНТЫ ЗАДАНИЙ
1. Составьте программу на языке VBA, которая определяет минимальный элемент и его номер из одномерного массива целых чисел. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <> 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 0 |
Неверно введено n |
2. Введите размерность массива n: 3 Массив: (-1 -7 5) |
Минимальный элемент –7, его номер 2 |
2. Составьте программу на языке VBA, которая определяет количество нецелыx чисел в одномерном массиве вещественных чисел. Программа должна проверять правильность введенных пользователем данных и, если они неверные
( n <= 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 0 |
Неверно введено n |
2. Введите размерность массива n: 5 Массив: (-1 -7.5 5 3 3.33) |
Количество нецелых чисел: 2 шт. |
3. Составьте программу на языке VBA, которая определяет сумму целыx чисел в одномерном массиве вещественных чисел. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 0 |
Неверно введено n |
2. Введите размерность массива n: 5 Массив: (-1 -7.5 5 3 3.33) |
Сумма целых чисел: 7 шт. |
4. Составьте программу на языке VBA, которая количество чисел в одномерном массиве, которые делятся на заданное число m. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 0 или m<=1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 0 Введите заданное число m: 2 |
Неверно введено n или m |
2. Введите размерность массива n: 5 Введите заданное число m: 1 |
Неверно введено n или m |
3. Введите размерность массива n: 5 Введите заданное число m: 3 Массив: (3 1 6 0 5) |
Таких чисел 3 шт. |
5. Составьте программу на языке VBA, которая вычисляет количество ненулевых элементов в одномерном массиве из n чисел. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 0 |
Неверно введено n |
2. Введите размерность массива n: 5 Массив: (-1 0 5 0 3.33) |
Количество ненулевых чисел: 2 шт. |
6. Составьте программу на языке VBA, которая вычисляет сумму L квадратов отрицательных элементов одномерного массива. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 0 |
Неверно введено n |
2. Введите размерность массива n: 5 Массив: (-1 3 -2 -5 4 ) |
Сумма: 30 |
7. Составьте программу на языке VBA, которая вычисляет количество пар равных соседних элементов в одномерном массиве. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 0 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (-1 -1 -1 -2 4 4 2) |
Всего пар: 3 |
8. Составьте программу на языке VBA, которая в массиве положительных вещественных чисел определяет количество тех, из которых извлекается квадратный корень. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 0 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 3 1 2 0 4 2) |
Таких чисел: 3 |
9. Составьте программу на языке VBA, которая выводит максимальный элемент и его номера в массиве. Программа должна проверять правильность введенных пользователем данных и, если они неверные (n <= 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 0 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 8 -1 -2 8 6 1) |
Максимальный: 8 Его номер: 2, 5 |
10. Составьте программу на языке VBA, которая определяет среднее квадратичное ( ) элементов массива. Программа должна проверять правильность введенных пользователем данных и, если они неверные (n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 4 -1 -2 8 6 1) |
Среднее квадратичное: 11,2249 |
11. Составьте программу на языке VBA, которая определяет максимальный элемент и меняет его местами с первым в одномерном массиве из n элементов.
Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 4 -1 -2 8 6 1) |
Максимальное: 8 Новый массив: (8 4 -1 -2 2 6 1) |
12. Составьте программу на языке VBA, которая ”разворачивает” одномерный массив из n элементов в обратном порядке. Программа должна проверять правильность введенных пользователем данных и, если они неверные (n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 4 -1 -2 8 6 1) |
Новый массив: (1 6 8 -2 -1 4 2) |
13. Составьте программу на языке VBA, которая вычисляет количество нулевых элементов массива и выводит их номера. Программа должна проверять правильность введенных пользователем данных и, если они неверные (n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 4 0 -2 0 6 1) |
Нулей: 2 Их номера: 3 5 |
14. Составьте программу на языке VBA, которая вычисляет количество элементов массива, которые заканчиваются на “6” и выводит их номера. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 66 0 -2 0 26 1) |
Таких чисел: 2 Их номера: 2 6 |
15. Составьте программу на языке VBA, которая сортирует по убыванию одномерный массив размерностью n элементов. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 4 0 -2 0 6 1) |
Новый массив: (6 4 2 1 0 0 -2) |
16. Составьте программу на языке VBA, которая определяет количество
четных элементов, стоящих на нечетных местах в массиве неотрицательных чисел. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 4 3 2 0 6 1) |
Таких чисел: 2 |
17. Составьте программу на языке VBA, которая заменяет нулями нечетные элементы массива, стоящие на четных местах. размерностью n элементов. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 1), выдавать сообщение об ошибке. В массиве – n положительных элементов.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 3 3 2 4 1 1) |
Новый массив: (2 0 3 2 4 0 1) |
18. Составьте программу на языке VBA, которая меняет местами элементы массива, стоящие на нечетных и четных местах. В массиве четное число элементов.
Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 0 или n - нечетное), выдавать сообщение об ошибке. В массиве – n положительных элементов.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 3 |
Введите четное n |
2. Введите размерность массива n: -1 |
Неверно введено n |
3. Введите размерность массива n: 8 Массив: (2 3 3 2 4 1 1 0) |
Новый массив: (3 2 2 3 1 4 0 1) |
19. Составьте программу на языке VBA, которая определяет, насколько максимальный элемент массива больше минимального. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 3 3 2 4 1 1) |
Разница между 4 и 1: 3 |
20. Составьте программу на языке VBA, которая определяет, сколько минимальных элементов содержит массив. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 2), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 2 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 4 3 2 4 1 1) |
Минимальных: 2 |
21. Составьте программу на языке VBA, которая вычисляет количество
положительных, отрицательных и нулевых элементов в одномерном массиве из n чисел. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 4 0 2 -4 -1 1) |
Положительных: 4 Отрицательных: 2 Нулей: 1 |
22. Составьте программу на языке VBA, которая вычисляет количество
четных и нечетных элементов в одномерном массиве из n неотрицательных чисел. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 4 0 1 4 1 8) |
Четных: 5 Нечетных: 2 |
23. Составьте программу на языке VBA определяет сумму квадратных корней из неотрицательных элементов массива размерностью n элементов. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (9 4 0 1 -4 1 36) |
Получилось: 13 |
24. Составьте программу на языке VBA, которая заменяет элементы массива из n элементов, равные m, числом l. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Введите m: 3 Введите l: 2 Массив: (3 5 0 3 -4 1 3) |
Новый массив: (2 5 0 2 -4 1 2) |
25. Составьте программу на языке VBA, которая вычисляет произведение P
отрицательных элементов, стоящих на четных местах в одномерном массиве длиной n элементов. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 4 0 -1 4 -1 8) |
P = 1 |
26. Составьте программу на языке VBA, которая возводит в квадрат
отрицательные элементы массива длиной n элементов. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 4 0 -1 4 -1 8) |
Новый массив: (2 4 0 1 16 1 8) |
27. Составьте программу на языке VBA, которая вычисляет количество пар
знакочередующихся соседних элементов в одномерном массиве ненулевых элементов. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 1 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 4 1 -1 4 -1 8) |
Ответ: 4 |
28. Составьте программу на языке VBA, которая вычисляет количество элементов в одномерном массиве, попадающих в интервал [a;b]. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n <= 0, a>b), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 0 |
Неверно введено n |
2. Введите размерность массива n: 7 Введите a: 5 Введите b: 2 |
Неверно введены a или b |
3. Введите размерность массива n: 7 Введите a: 2 Введите b: 5 Массив: (2 4 1 -1 4 -1 8) |
Ответ: 3 |
29. Составьте программу на языке VBA, которая определяет номер
последнего отрицательного элемента в одномерном массиве размерностью n
элементов. Программа должна проверять правильность введенных пользователем данных и, если они неверные (n < 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 0 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 4 1 -1 4 -1 8) |
Ответ: 6 |
30. Составьте программу на языке VBA, которая определяет симметричность массива относительно центрального элемента. Программа должна проверять правильность введенных пользователем данных и, если они неверные (n < 1), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
1. Введите размерность массива n: 0 |
Неверно введено n |
2. Введите размерность массива n: 7 Массив: (2 4 1 -1 4 -1 8) |
Ответ: Нет |
3. Введите размерность массива n: 7 Массив: (2 3 4 -1 4 3 2) |
Ответ: Да |