ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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

Массив: ç

÷

ç

÷

è5

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

ç

- 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

Сумма равна –7

A = ç

÷

ç

-1

0

÷

è

ø

æ1

B = ç

÷

ç

2

1

÷

è

ø

39