Скачиваний:
0
Добавлен:
27.09.2023
Размер:
464.76 Кб
Скачать

Задание №1

Постановка задачи

Заполнить в памяти ЭВМ матрицу:

Входные данные: m – количество строк матрицы, целая переменная;

n – количество столбцов матрицы, целая переменная.

Выходные данные: D – матрица заданного вида, массив целых переменных.

Математическая модель

где 1≤i≤m с шагом 1; 1≤j≤n с шагом 1.

Разработка алгоритма

Разработка визуальной части проекта

Код приложения

Private Sub Command1_Click()

Dim m As Integer, n As Integer, i As Integer, j As Integer, D() As Integer

m = InputBox("Введите количество строк")

n = InputBox("Введите количество столбцов")

ReDim D(1 To m, 1 To n)

Print "D="

For i = 1 To m

For j = 1 To n

If i = j Then

D(i, j) = i

Else

D(i, j) = i + 1

End If

Print D(i, j) & " ";

Next

Print

Next

End Sub

Отладка программы

Ручной расчёт

D2 3=2+1=3

D6 6=6

Задание №2

Постановка задачи

Пересчитать элементы вектора M размерности n по правилу: Mk=(Mk+2)/(Mk-2), при Mk≠2.

Проанализировать выполнение программы на примере:

M={2; 0; 3; 10; -1; 6; 1; 2}

Входные данные: n – размерность вектора, целая переменная;

M – исходный вектор, массив вещественных переменных.

Выходные данные: M – пересчитанный вектор, массив вещественных переменных.

Математическая модель

где 1≤k≤n с шагом 1.

Разработка алгоритма

Разработка визуальной части проекта

Код приложения

Private Sub Command1_Click()

Dim M() As Single, n As Integer, k As Integer

n = InputBox("Введите размерность вектора")

ReDim M(1 To n)

Print "Исходный M={ ";

For k = 1 To n

M(k) = InputBox("M(" & k & ")=")

Print M(k) & " ";

Next

Print "}"

Print "Пересчитанный M={ ";

For k = 1 To n

If M(k) <> 2 Then

M(k) = (M(k) + 2) / (M(k) - 2)

End If

Print M(k) & " ";

Next

Print "}"

End Sub

Отладка программы

Ручной расчёт

Mk=3 => Mk=(3+2)/(3-2)=5

Mk=10 => Mk=(10+2)/(10-2)=1,5

Соседние файлы в папке Программный элемент заполнение