Программный элемент заполнение / 9
.docx
Задание 1
1. Постановка задачи
Увеличить элементы первой половины одномерного массива С на элементы одномерного массива D с нечетными индексами, а элементы второй половины – на элементы массива D с четными индексами. Размерность обоих массивов – k (четное).
Входные данные:
k – размерность массива, целое число
{C} – начальный одномерный массив, вектор
{D} – одномерный массив, вектор
Выходные данные:
{C} – изменённый одномерный массив, вектор
2. Математическая модель задачи
3. Разработка алгоритма
4. Код процедуры
Private Sub Command1_Click()
Dim k As Integer, i As Integer, C() As Single, D() As Single
k = InputBox("Введите размерность")
ReDim C(1 To k), D(1 To k)
Print "Исходный вектор {C}"
For i = 1 To k
C(i) = InputBox("C(" & i & ")=")
Print C(i);
Next
Print "Вектор {D}"
For i = 1 To k
D(i) = InputBox("D(" & i & " ) = ")
Print D(i);
Next
For i = 1 To k / 2
C(i) = C(i) + D(2 * i - 1)
C(i + k / 2) = C(i + k / 2) + D(2 * i)
Next
Print "Полученный вектор {C}"
For i = 1 To k
Print C(i);
Next
End Sub
5. Отладка
Ручной счет:
C(1) = 1 + (-1) =0 C(3) = 3 + 2 = 5
C(2) = 2 + (-3) = -1 C(4) = 4 + 4 = 8
Задание 2
1. Постановка задачи
Заполнить в памяти ЭВМ матрицу следующего вида:
Входные данные:
n – размерность массива, целое число
Выходные данные:
{A} – матрица целых чисел
2. Математическая модель задачи
3. Разработка алгоритма
4. Код процедуры
Private Sub Command1_Click()
Dim n As Integer, A() As Integer, i As Integer, j As Integer
n = InputBox("Введите размерность матрицы")
ReDim A(1 To n, 1 To n)
For i = 1 To n
For j = 1 To n
If i + j < n + 1 Then
A(i, j) = 1
Else
If i + j > n + 1 Then
A(i, j) = -1
Else
A(i, j) = i * 10
End If
End If
Next
Next
For i = 1 To n
For j = 1 To n
Print A(i, j);
Next
Next
End Sub
5. Отладка
Ручной счет:
A(1,1) = 1 A(4,3) = -1
A(2,3) = 2*10=20 A(4,1) = 4*10 = 40