Содержание
Тема курсовых работ унифицирована для всех обучающихся: «Разработка алгоритмов и программ обработки массивов данных».
Цель курсовой работы: разработать алгоритмы и программы создания и обработки матриц на VBA.
Варианты заданий на курсовую работу
18. Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов. Найти след матрицы, суммируя элементы одномерного массива. Преобразовать исходную матрицу по правилу: четные строки разделить на полученное значение, нечетные оставить без изменения.
Требования и методические указания по структуре, содержанию и выполнению работы
Задачи курсовой работы:
- Разработать алгоритм и программу создания матрицы на VBA с использованием генератора случайных чисел.
- Разработать алгоритм и программу обработки матрицы на VBA согласно варианта, выданного преподавателем.
Многомерные массивы
Для описания многомерных массивов (имеющих несколько индексов) используются конструкции, аналогичные рассмотренной. Отличие состоит в том, что указывается несколько границ, через запятую.
Примеры:
Dim А(4, 4) As Byte
Dim В(1 То 5, -5 То -1) As Byte
В данных примерах объявленные массивы А И В являются двумерными и содержат одинаковое количество элементов, равное 5 х 5 = 25.
Двумерный массив аналогичен прямоугольному диапазону ячеек таблицы Excel (при стиле ссылок R1C1) и матрице в математике.
Обращение к элементу многомерного массива осуществляется при помощи имени массива и индексов, перечисленных через запятую.
Примеры обращений:
A(i, j + 1) = 17
В(2, -3) =25.5
b = С(К, 25)
Максимальное число «измерений» массива очень велико — 60.
Ввод-вывод матриц.
Ввод матриц из ячеек таблицы:
Dim А(1 to 3, 1 to 4) As Integer
Dim i,j As Integer
For i=1 To 3
For j=1 To 4
A(i,j)=Cells(i,j) ‘вводятся, начиная с ячейки А1
Next
Next
Вывод матриц в ячейки таблицы:
Dim А(1 to 3, 1 to 4) As Integer
Dim i,j As Integer
For i=1 To 3
For j=1 To 4
Cells(i+4,j)= A(i,j) ‘вводятся, начиная с ячейки А5
Next
Next
Динамические массивы используются в том случае, когда количество элементов массива заранее неизвестно, а определяется в процессе выполнения программы. По окончании работы с динамическим массивом можно освободить память, которую он занимает. Это важно для задач, требующих большого объема оперативной памяти.
Описание динамического массива осуществляется в два этапа.
- Объявляется массив с использованием оператора Dim, но без указания размерности. Признаком массива являются скобки после его имени.
- В нужном месте программы описывается данный массив с указанием размерности при помощи оператора ReDim, причем в качестве границ можно использовать не только целые числа, но и арифметические выражения. Важно, чтобы к моменту выполнения оператора ReDim все переменные в этих арифметических выражениях имели числовые значения.
Пример:
Sub ДинамическийМассив()
Dim А() As Byte ‘объявление массива
Dim М As Integer
Dim N As Integer
M = 3
ReDim A(-5 To M^2) ‘указание размерности
For N = -5 To M^2
A (N) = N + 30
Next
ReDim A(5) ‘указание размерности
N = 0
Do
A(N) = N^3
N = N + 1
Loop Until N^2 > 10
End Sub
При помощи оператора ReDim можно задавать любые размерности массива.
Пример:
Dim arrA() As Byte
ReDim arrA(l, 1) ‘двумерный массив
arrA (0, 0) = 13
arrA (l, 1) = 14
Для решения многих математических задач требуются массивы случайных чисел.
Пример. Программа, рассчитывающая 10 случайных чисел от 0 до 1, имеет вид:
Sub СлучайныеЧисла()
Dim N As Long
Dim I As Long
Dim S() As Single
ActiveSheet.Cells.Clear ‘Очистка активного листа
N = 10
ReDim S(1 To N)
Randomize
For I = 1 To N
S (I) = Rnd
Next I
End Sub
Случайные числа рассчитываются с помощью функции Rnd. В данном случае обращение к ней производится в цикле For…Next.
Перед серией обращений к функции Rnd должен находиться оператор Randomize.
СОДЕРЖАНИЕ ОТЧЕТА
Общая часть должна включать:
- Титульный лист.
- Введение. Описывается актуальность разработки, цели и задачи курсовой работы.
- Описание алгоритма создания и обработки матрицы любым способом (блок-схема, на естественном языке, с помощью комментариев).
Специальная часть должна включать:
- Тексты программ на VBA.
- Результаты работы программ (минимум два тестовых результата).
Заключение. Указываются задачи, которые решены в курсовой работе и цели, которые достигнуты.
Библиографический список.
Отзывы
Отзывов пока нет.