Программирование на BASIC / Visual Basic / Лабораторные работы8 / 5_5 - 5_6 (VBA)
.docЛабораторная работа №5_5. Разработка функций обработки многочленов, векторов и матриц на VBA
Многочлен n-ой степени Pn(x)=anxn+an-1xn-1+an-2xn-2+ ...+a1x+a0 можно представить в следующем виде Pn(x)=(...((an x+an-1)x+an-2)x+...+a1)x+a0 (схема Горнера). Как видно, многочлен Pn(x) задается массивом коэффициентов a0, a1,..., an-1, an Поэтому обработка многочленов сводится к обработке одномерных массивов.
Примеры функций обработки многочленов
-
функция вычисления значения многочлена Pn(x) в точке Х0
Public Function ЗНАЧЕНИЕ_ПОЛИНОМА_В_ТОЧКЕ(A As Variant, X)
Dim M As Integer
Dim I As Integer
M = A.Columns.Count
P = A(1)
For I = 2 To M
P = P * X + A(I)
Next I
ЗНАЧЕНИЕ_ПОЛИНОМА_В_ТОЧКЕ = P
End Function
Задания
На VBA составить функции, позволяющие:
-
вычислить значение многочлена Pn(x) в точке x0 по схеме Горнера;
-
найти коэффициенты производной от полинома Pn(x), т.е. найти многочлен Rn-1= (Pn(x))'
-
найти коэффициенты первообразной от полинома Pn(x);
-
найти коэффициенты k-ой производной от полинома Pn(x);
-
найти коэффициенты k-ой первообразной от полинома Pn(x);
-
найти сумму (разность) двух полиномов Pn(x) и Qm(x);
-
найти произведение двух полиномов Pn(x) и Qm(x);
-
найти скалярное произведение двух n-мерных векторов X и Y;
-
найти произведение матрицы на вектор;
-
найти произведение (сумму) двух матриц;
-
найти сумму элементов каждой строки (столбца) матрицы;
-
найти строку и столбец матрицы, на пересечении которых находится минимальный (максимальный) элемент матрицы;
-
найти строку и столбец матрицы, которые содержат наибольшее число нулевых элементов;
-
найти строку (столбец) матрицы с максимальной (минимальной) суммой элементов;
-
найти среднее арифметическое (среднее геометрическое) положительных элементов матрицы;
-
найти сумму (количество) элементов верхнего (нижнего) правого (левого) треугольника квадратной матрицы порядка n.
Лабораторная работа №5_6. Разработка функций обработки строк и текстовой информации на VBA
Примеры функций обработки строк
-
функция подсчета количества символа пробел в строке
Public Function CountSpace(s As String) As Integer
Dim i As Integer
Dim p As Integer
p=0
For i = 1 To Len(s)
If Mid(s, i, 1) = " " Then
p = p + 1
End If
Next
CountSpace = p
End Function
Задания
На VBA составить функции, позволяющие:
-
Сформировать строку длины N (N — четное), которая состоит из чередующихся символов C1 и C2, начиная с C1.
-
Дана строка. Получить строку, содержащую те же символы, но расположенные в обратном порядке.
-
Дана строка S и число N. Преобразовать строку S в строку длины N следующим образом: если длина строки S больше N, то отбросить первые символы, если длина строки S меньше N, то в ее начало добавить символы "." (точка).
-
Даны два числа: N1 и N2, и две строки: S1 и S2. Получить из этих строк новую строку, объединив N1 первых символов строки S1 и N2 последних символов строки S2.
-
Даны две строки: S1 и S2. Проверить, содержится ли строка S2 в строке S1. Если да, то вывести номер позиции, начиная с которой S2 содержится в S1, если нет, то вывести 0.
-
Даны две строки: S1 и S2. Определить количество вхождений строки S2 в строку S1.
-
Дана строка S и символ C. Удвоить каждое вхождение символа C в строку S.
-
Даны строки S1, S2 и символ C. Перед (после) каждого вхождения символа C в строку S1 вставить строку S2.
-
Даны две строки: S1 и S2. Удалить из строки S1 первую (последнюю) подстроки, совпадающие с S2. Если таких подстрок нет, то вывести S1 без изменений.
-
Даны три строки: S1, S2, S3. Заменить в строке S1 первое вхождения строки S2 на S3.
-
Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов в строке.
-
Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, которые начинаются и заканчиваются одной и той же буквой.
-
Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, которые содержат ровно три буквы "А".
-
Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить длину самого короткого (длинного) слова.
-
Дана строка-предложение на русском языке. Вывести самое короткое (длинное) слово в предложении (если таких слов несколько, то вывести первое из них).
-
Дана строка-предложение, содержащая избыточные пробелы. Преобразовать ее так, чтобы между словами был ровно один пробел.