Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 семестр / Задачи с массивами (исправленные)

.doc
Скачиваний:
24
Добавлен:
09.04.2015
Размер:
123.9 Кб
Скачать

Часть 5. СОЗДАНИЕ ПРОГРАММС МАССИВАМИ

Начальные сведения по решению задач данной части содержатся в части 6 учебно-методического пособия «Программирование на VBA».

Приступая к решению задач этого раздела, следует вспомнить, что:

  • массив – это структура данных, представляющая собой совокупность элементов одного типа;

  • массив должен быть объявлен в разделе объявления переменных;

  • доступ к элементу массива осуществляется путем указания индекса (номера) элемента, в качестве которого используется выражение целого типа, например, целая константа или переменная типа Integer;

  • для ввода, вывода и обработки массивов удобно применять инструкции циклов (ForNext, Do While, Do Until, DoLoop While, DoLoop 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)

Ответ: Да