Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на вопросы с 1-35.docx
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
1.79 Mб
Скачать
  1. Производная алгоритмическая структура поиск.

Используется для нахождения местоположения элементов в массиве или их знач. в соответствии с условием поиска.

  1. Поиск максимума - нах. макс. значения элемента матем. функции, либо макс. знач. и индексы элемента массива

  2. Поиск Минимума - находит мин. знач. аналогичных элементов и их показ.

  3. Поиск по ключу – наз. значения таких элементов матем. функции или индексов таких элементов массива, которые равны заданной величине, называемой ключом поиска

Поиск максимума

Особенности алгоритма:

  1. Создается дополнительная переменная, в которой будет формироваться значение максимального элемента. Начальным значением может быть 1-й элемент массива (либо очень малое целое число, например )

  2. Если необходимо, создается переменная для хранения индексов, определяющих местоположение максимального элемента в массиве. Их значение задается индексом начального элемента

  3. Организуется циклич. процесс, телом которого служит структура «Развилка» с одной ветвью.

  4. Если очередной элемент массива превышает значение, хранящееся в дополнительной переменной, то он замещает это значение. В противоположном случае перех. к следующему элементу массива без изменения доп. переменной. Тоже касается и индексов элемента.

Пример 1.

Разработать алгоритм программы нахождения макс. элемента вектора А размерности n и его пор. номер

Входные данные:

n-размерность вектора, целое число

А-вектор, массив веществ. чисел

Вых. данные:

М-макс. эл. вещ. число

К-размер. макс. элемента, целое

Съема алгоритма:

Начало

n, A

A

M=a1

K=1

i=2

i<=n

ai>M

M=ai

K=i

i=i+1

M,K

Конец

Код:

Private Sub Command1_Click()

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

n=InputBox(“n=”) Re Dim A (1 To n)

For i= 1 To n

A(i)=InputBox(“A(“&i&”)=”) Print A(i)

Next

Print

M=A(1)

K=1

For i=2 To n

If A(i)=M Then

M=A(i)

K=i

End if

Next

Print M,K

End Sub

Поиск минимума.

Разраб. нах. минимального элемента в каждом столбце матрицы А размерности m×n. Каждое из них поменять местами с первым элементом этого столбца

Входные данные: m,n,A

Выходные данные: Матрицы А до перераб. и после

Начало

n, A,B

A, B

Min=a1

i=1

i<=n

i=i+1

ai<Min

bi<Min

Min

Min=bi

Min=ai

Конец

Код:

Private Sub Command1_Click()

Dim i As Integer, n As Integer Dim A() As Single, B() As Single, Min As Single

n=InputBox(“введите размерность векторов”) Re Dim A (n) Re Dim B (n)

Print “Вектор А” For i=1 To n

A(i)=InputBox(“Введите эл. вектора А”) Print A

Next Print Print“Вектор B” For i=1 To n

B(i)=InputBox(“Введите эл. вектора B”) Print B(i);

Next

Min=A(1)

For i=1 To n

if A(i)<Min Then

Min=A(i)

End if

if B(i)<Min Then

Min=B(i)

End if

Next

Print

Print “Мин. эл. Min=”&Min

End Sub