Программный элемент поиск / 17 (2)
.docxЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ №6
«ПРОГРАММНЫЙ ЭЛЕМЕНТ ПОИСК»
1.1 Словесное описание задачи:
Найти и поменять местами наибольшие элементы одномерных массивов A и B размерности M. Полученные векторы напечатать.
Для отладки программы контрольный пример выбрать самостоятельно.
1.2 Описание постановки задачи
Состав входных и выходных данных:
Входные данные: M – переменная целого типа, {A} – массив вещественных чисел, {B} – массив вещественных чисел.
Выходные данные: {A} – массив вещественных чисел, {B} – массив вещественных чисел..
1.3 Математическое описание задачи: iA=1 iB=1 mA=A1 mB=B1 Если Ai>mA, то iA=i; mA=Ai где i=2, 3, 4, … M Если Bi>mB, то iB=i; mB=Bi где i=2, 3, 4, … M AiA=mB BiB=mA
1.4 Схема алгоритма решения задачи:
1.5 Листинг кода программы:
Private Sub Command1_Click() Dim A() As Single, B() As Single, mA As Single, mB As Single Dim iA As Integer, iB As Integer, i As Integer, M As Integer M = InputBox("M=") ReDim A(1 To M), B(1 To M) Print "Исходные векторы:" Print "{A}="; For i = 1 To M A(i) = InputBox("A(" & i & ")=") Print A(i), Next Print Print "{B}="; For i = 1 To M B(i) = InputBox("B(" & i & ")=") Print B(i), Next Print iA = 1 iB = 1 mA = A(1) mB = B(1) For i = 2 To M If A(i) > mA Then iA = i mA = A(i) End If If B(i) > mB Then iB = i mB = B(i) End If Next A(iA) = mB B(iB) = mA Print "Пересчитанные векторы:" Print "{A}="; For i = 1 To M Print A(i), Next Print Print "{B}="; For i = 1 To M Print B(i), Next Print End Sub
1.6 Выполнение проекта:
2.1 Словесное описание задачи:
Найти и напечатать значения элементов матрицы P размерности M × N, превышающих величину S.
Для отладки программы контрольный пример выбрать самостоятельно.
2.2 Описание постановки задачи
Состав входных и выходных данных:
Входные данные: M – переменная целого типа, N – переменная целого типа, {P} – массив вещественных чисел, S – переменная целого типа.
Выходные данные: Pij – переменная вещественного типа.
2.3 Математическое описание задачи:
Если Pij > S, то напечатать Pij, где i=1, 2, … M; j=1, 2, … N.
2.4 Схема алгоритма решения задачи:
2.5 Листинг кода программы: Private Sub Command1_Click()
Dim M As Integer, N As Integer, P() As Single
Dim i As Integer, j As Integer, S As Integer, Flag As Boolean
M = InputBox("M=")
N = InputBox("N=")
ReDim P(1 To M, 1 To N)
Print "P="
For i = 1 To M
For j = 1 To N
P(i, j) = InputBox("P(" & i & ", " & j & ")=")
Print P(i, j),
Next
Next
S = InputBox("S=")
Print "Элементы больше " & S & ":"
Flag = False
For i = 1 To M
For j = 1 To N
If P(i, j) > S Then
Print P(i, j)
Flag = True
End If
Next
Next
If Flag = False Then
Print "Отсутствуют эл. >S"
End If
End Sub
2.6 Выполнение проекта: