Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Производная алгоритмическая структура Поиск по ключу

Поиск

 

Используется для поиска местоположения элементов массива в соответствии с условием поиска, заданного выражением:

 

<Элемент массива> <Операция отношения> <Ключ поиска>

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

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

2. Организуется циклический вычислительный процесс: цикл или цикл в цикле. Телом цикла служит структура Развилка, определяющая условие, в соответствии с которым должны быть найдены элементы массива. Если значение элемента массива удовлетворяет условию поиска, то значение его индексов выводится на визуальное устройство или сохраняется в вычислительной среде.

Если условие поиска ложно, осуществляется переход к следующему элементу массива.

3. В алгоритме предусматриваются действия, которые выполняются, если условие поиска окажется ложным для всех элементов массива. В этом случае вводится понятие "Флажок".

"Флажок" – это переменная, которая, как правило, может принимать два значения: True (Истина) или False (Ложь). Перед началом циклического вычислительного процесса "Флажку" присваивается начальное значение, допустим, False. В теле цикла в случае, когда значение условия поиска станет истинным, "Флажку" присваивается новое значение, допустим, True.

После окончания циклического вычислительного процесса проверяется значение "Флажка": если "Флажок" изменил своё значение, значит, условие поиска было выполнено хотя бы один раз, если нет, то условие поиска не было выполнено ни разу.

 

П р и м е ч а н и е. Если условие поиска задано точным равенством (=), то типы элементов массива и ключа поиска должны быть одинаковыми, допускающими сравнение (Byte, Integer, Long, String).

 

Пример 4.

Разработать информационную технологию, позволяющую определить индексы элементов квадратной матрицы А произвольной размерности m´ т, расположенных на главной диагонали, значения которых равны ключу поиска (k), задаваемому вводом.

 

Входные данные: m – целое число;

A=[aij], , – массив целых чисел;

k – целое число.

Выходные данные: значения найденных индексов или сообщение об их отсутствии.

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

flag = Ложь;

для i = 1..m, если aii = k, то flag = Истина и вывод i;

eсли flag = Ложь, то вывод сообщения.

 
 

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

 

 

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

Private Sub Form_Activate()

Dim m As Integer, i As Integer, j As Integer, k As Integer

Dim flag As Boolean, a() As Integer

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

ReDim a(1 To m, 1 To m)

For i = 1 To m

For j = 1 To m

a(i,j) = InputBox("a(" & i & "," & j & ")")

Next

Next

k = InputBox("Введите значение ключа поиска")

flag = False

For i = 1 To m

If a(i,i) = k Then

flag = True

Print "Индекс элемента =" & i

End If

Next

If flag = False Then

MsgBox "Элементов со значением " & k & " нет"

End If

Print “Значения элементов матрицы A:”

For i=1 To m

Print

For j=1 To m

Print a(i,j);

Next

Next

End Sub



Поделиться:


Последнее изменение этой страницы: 2016-12-10; просмотров: 482; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.120.59 (0.011 с.)