ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.07.2025
Просмотров: 487
Скачиваний: 0
æ 7 |
0 |
- 4 |
ö |
Матрица : |
|||
7 |
0 |
2 |
|||||
ç |
7,7 |
÷ |
|||||
Матрица: ç11 5 |
÷ |
11 |
2 |
7,7 |
|||
ç |
3 |
2 |
÷ |
||||
è 3 |
ø |
2 |
3 |
2 |
|||
23. Составьте программу на языке VBA, которая сортирует по возрастанию одномерный массив размерностью n элементов. Программа должна проверять правильность введенных пользователем данных и, если они неверные (n ≤ 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
||
1. |
Введите размерность |
1. |
Неверно введено n |
массива n: 0 |
|||
2. |
Введите размерность |
2. |
Массив: –2 0 1,7 7 |
массива n: 4 |
|||
Массив: (1,7 0 7 |
− 2) |
||
24. Составьте программу на языке VBA, которая выполняет перестановку нулевых строк в верхнюю часть двумерного массива An×m и вычисляет
количество таких строк. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n ≤ 0, m ≤ 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
|||
1. Введите количество |
1. Неверные исходные данные |
|||
строк массива n: 0 |
||||
Введите количество |
||||
столбцов массива m: 5 |
||||
2. Введите количество |
2. Нулевых строк нет |
|||
строк массива n: 2 |
||||
Введите количество |
||||
столбцов массива m: 3 |
||||
æ1 |
1,4 |
0 |
ö |
|
Массив: ç |
÷ |
|||
ç |
5 |
0 |
÷ |
|
è0 |
ø |
|||
3. Введите количество |
3. Массив: |
|||
æ0 |
0 |
ö |
||
ç |
0 |
0 |
÷ |
|
строк массива n: 4 |
ç |
÷ |
||
ç |
1 |
3 |
÷ |
|
ç |
÷ |
|||
ç |
1 |
1,5 |
÷ |
|
è |
ø |
|||
Введите количество |
Таких строк 2 |
|||
столбцов массива m: 2 |
||||
35
æ1 |
1,5ö |
||
ç |
0 |
0 |
÷ |
ç |
÷ |
||
Массив: ç |
1 |
3 |
÷ |
ç |
÷ |
||
ç |
0 |
0 |
÷ |
è |
ø |
||
25. Составьте программу на языке VBA, которая вычисляет произведение P отрицательных элементов с четными индексами в одномерной матрице A длиной n элементов. Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n ≤ 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
||||
1. |
Введите размерность |
1. |
Неверно введено n |
||
матрицы n: –7 |
|||||
2. |
Введите размерность |
2. |
Отрицательных элементов с четными |
||
матрицы n: 3 |
индексами нет |
||||
Матрица: (1 |
2,1 |
− 5) |
|||
3. |
Введите размерность |
3. |
Произведение отрицательных элементов |
||
матрицы n: 6 |
с четными индексами равно 10 |
||||
Матрица: (1 |
− 2 |
5 0,5 2 |
− 5) |
||
26. Составьте программу на языке VBA, которая из двумерной матрицы An×m определяет строки, в которых отсутствуют отрицательные элементы.
Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n ≤ 0,m ≤ 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
|
1. Введите количество |
1. Неверные исходные данные |
|
строк матрицы n: 0 |
||
Введите количество |
||
столбцов матрицы m: 0 |
||
2. Введите количество |
2. Таких строк нет |
|
строк матрицы n: 2 |
||
Введите количество |
||
столбцов матрицы m: 2 |
||
æ-1 - 3ö |
||
Матрица: ç |
÷ |
|
ç |
÷ |
|
è 4 |
- 5ø |
|
3. Введите количество |
3. 1-я строка не содержит отрицательных |
|||
строк матрицы n: 4 |
элементов |
|||
Введите количество |
3-я строка не содержит отрицательных |
|||
столбцов матрицы m: 2 |
элементов |
|||
æ |
1 |
5 |
ö |
|
ç |
- 3,1 |
1 |
÷ |
|
ç |
÷ |
|||
Матрица: ç |
0 |
0 |
÷ |
|
ç |
÷ |
|||
ç |
-1 |
2 |
÷ |
|
è |
ø |
|||
36
27. Составьте программу на языке VBA, которая вычисляет количество пар знакочередующихся соседних элементов в одномерном массиве. Программа должна проверять правильность введенных пользователем данных и, если они неверные (n ≤ 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
|||||
1. |
Введите размерность |
1. Неверно введено n |
||||
массива n: 0 |
||||||
2. |
Введите размерность |
2. 2 пар(а, ы) знакочередующихся соседних |
||||
массива n: 6 |
элементов |
|||||
Массив: (−1,1 0 |
1 − 2 |
− 2 |
5) |
|||
28. Составьте |
программу |
на |
языке VBA, которая определяет |
элемент |
||
седловой точки и |
его |
индексы |
в |
двумерном массиве An×m (седловая |
точка – |
|
элемент массива, который является наименьшим в строке и наибольшим в столбце). Программа должна проверять правильность введенных пользователем данных и, если они неверные (n ≤ 0, m ≤ 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
|
1. Введите количество |
1. Неверные исходные данные |
|
строк массива n: –1 |
||
Введите количество |
||
столбцов массива m: 1 |
||
2. Введите количество |
2. Седловой точки нет |
|
строк массива n: 2 |
||
Введите количество |
||
столбцов массива m: 2 |
||
æ1 |
2ö |
|
Массив: ç |
÷ |
|
ç |
÷ |
|
è5 |
1ø |
|
3. Введите количество |
3. Седловая точка: |
||||
строк массива n: 3 |
3 (2 строка, 2 столбец) |
||||
Введите количество |
|||||
столбцов массива m: 4 |
|||||
æ1 |
2,2 |
0 |
- 2 |
ö |
|
ç |
6 |
3 |
4 |
8 |
÷ |
Массив: ç |
÷ |
||||
ç |
6 |
- 5 |
5 |
0 |
÷ |
è |
ø |
||||
29. Составьте программу на языке VBA, которая определяет номер последнего отрицательного элемента в одномерной матрице размерностью n элементов. Программа должна проверять правильность введенных пользователем данных и, если они неверные (n ≤ 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
||
1. |
Введите размерность |
1. |
Неверно введено n |
матрицы n: 0 |
|||
2. |
Введите размерность |
2. |
Отрицательных элементов нет |
матрицы n: 2 |
|||
37
Матрица: (2 1,5) |
||||
3. Введите размерность |
3. Номер последнего отрицательного |
|||
матрицы n: 4 |
элемента равен 3 |
|||
Матрица: (1,5 |
− 4 − 2,6 |
2) |
||
30. Составьте |
программу |
на |
языке VBA, которая |
определяет |
симметричность квадратной матрицы |
An×n относительно главной |
диагонали. |
||
Программа должна проверять правильность введенных пользователем данных и, если они неверные ( n ≤ 0), выдавать сообщение об ошибке.
Исходные данные: |
Результат: |
|||||
1. Введите размерность |
1. Неверно введено n |
|||||
матрицы n: 0 |
||||||
2. Введите размерность |
2. Матрица не симметрична относительно |
|||||
матрицы n: 3 |
главной диагонали |
|||||
æ 1 |
2 |
5 |
ö |
|||
ç |
0 |
7,7 |
÷ |
|||
Матрица: ç11 |
÷ |
|||||
ç |
3 |
9 |
- 2 |
÷ |
||
è |
ø |
|||||
3. Введите размерность |
3. Матрица симметрична относительно |
|||||
матрицы n: 4 |
главной диагонали |
|||||
æ 1 |
- 4 1,1 |
1ö |
||||
ç |
- 4 |
0 |
0 |
5 |
÷ |
|
ç |
÷ |
|||||
Матрица: ç |
1,1 |
0 |
2 |
9 |
÷ |
|
ç |
÷ |
|||||
ç |
1 |
5 |
9 |
7 |
÷ |
|
è |
ø |
|||||
Часть 6. СОЗДАНИЕ ПРОГРАММ С ФУНКЦИЯМИ
Начальные сведения по решению задач данной части содержатся в части 7 учебно-методического пособия «Программирование на VBA».
Приступая к решению задач этого раздела, следует вспомнить, что:
üпередавать данные в функцию с помощью аргументов можно по ссылке
ипо значению;
üсреди выполняемых инструкций функции не обязательно должна быть инструкция присваивания значения функции (хотя рекомендуют ее использовать).
1. Напишите процедуру на языке VBA, которая вычисляет число сочетаний |
||||
Cmn = |
n! |
. Вычисление факториала оформить в виде функции (Факториалом |
||
m!(n - m)! |
||||
числа n называется произведение целых чисел от 1 до n: n!=1×2×K×n . Например,
0!= 1, 1!=1, 3!= 6 ).
Исходные данные: |
Результат: |
n=4, m=2 |
Число сочетаний равно 6 |
2. Составьте процедуру на |
языке VBA, которая вычисляет периметр |
треугольника, построенного по трем точкам. Вычисление длины стороны оформить в виде функции.
Исходные данные: Результат:
38
A(0,0), B(3,0), C(0,−4) Периметр треугольника равен 12,00 (ед.)
3. |
Напишите процедуру |
на языке VBA для нахождения функции |
||||
f (x) = |
sin2 (x) |
. Вычисление sinn (x) оформить в виде функции. |
||||
sin3(x) + |
2 |
|||||
Исходные данные: |
Результат: |
|||||
x=3 |
f (3) = 0,0099 |
|||||
4. Напишите процедуру на языке VBA для вычисления произведения Max( A) × Max(B) , где Max( A) (Max(B)) - максимальный элемент в одномерной
матрице A (B) длиной 6 элементов. Вычисление максимального элемента из матрицы оформить в виде функции.
Исходные данные: |
Результат: |
||||||||
A = (1 |
0 − 6 |
4 |
1,4 |
3) |
Произведение равно 8,2000 |
||||
B = (−1 |
2,1 −1 |
− 4 |
1,1 0,6) |
||||||
5. |
Напишите |
процедуру на |
языке VBA для нахождения функции |
||||||
f (a,b) = |
ab |
. Вычисление показательной функции оформить в виде функции. |
|||||||
4 |
a |
b |
|||||||
+ 5 |
|||||||||
Исходные данные: |
Результат: |
||||||||
a=2, b=3 |
f (2,3) = 0,05673758865 |
||||||||
6. Напишите процедуру на языке VBA, которая определяет взаимное расположение 3-х прямых на плоскости заданных по точке и угловому коэффициенту (l1 : y = k × x + b). Определение взаимного расположение 2-х
прямых оформить в виде функции (должна возвращать True – прямые параллельные (совпадают), False – прямые пересекаются).
Исходные данные: |
Результат: |
Коэффициенты прямых: |
1 и 2 параллельны, 1 и 3 пересекаются, |
k1 =1, |
b1 =1 |
2 и 3 |
пересекаются |
|||||
k2 =1, |
b2 = 5 |
|||||||
k3 = 2, |
b3 = −6 |
|||||||
7. |
Напишите |
процедуру |
на языке |
VBA для нахождения функции |
||||
f (x) = |
cos(x + 4) |
. Вычисление cos(x + a) оформить в виде функции. |
||||||
cos(x − 7) − 5 |
||||||||
Исходные данные: |
Результат: |
|||||||
x=2 |
f (2) = −0,203583866 |
|||||||
8. Напишите процедуру на языке VBA для вычисления суммы определителей 2-х квадратных матриц 2-го порядка. Вычисление определителя 2- го порядка оформить в виде функции.
Исходные данные: |
Результат: |
||||
æ 1 |
2ö |
Сумма равна –7 |
|||
A = ç |
÷ |
||||
ç |
-1 |
0 |
÷ |
||
è |
ø |
||||
æ1 |
5ö |
||||
B = ç |
÷ |
||||
ç |
2 |
1 |
÷ |
||
è |
ø |
||||
39