Всем добрый вечер. Надеюсь обращаюсь туда)
Суть проблемы, к сожалению у меня некоторые проблемы с созданием скриптов (мозг не так заточен), не могу написать скрипт на алгоритм. Алгоритм бинарного поиска, с поиском ключа.
Как пример>
есть ряд чисел {2,4,5,6,8,10,12,14,16,17,18,20,22,24,25,27,28,30,31} Ключ=16
Метод основан на выделении центра этого множества, или массив, кому как угодно.
формулы:
Ц(центр)=[n/2]+1 если множество нечётное
Ц=[n/2] если множество чётное
n=количество чисел в множестве, в данном случае n=19 нечётно
решение
1. Ц=[19/2]+1=10
сравниваем с ключом
K10~K
17~16 » множество разделилось, идём в левую половину
{2,4,5,6,8,10,12,14,16,}
2. Ц=[9/2]+1=5
K5~K
8~16 » вправо
{10,12,14,16}
3. Ц=[4/2]+1=3
K3~K (на самом деле K8)
14~16 »вправо
{16}
4. Ц=ключ остался один соответвенно Ц=1
K1~K (K9)
16~16 »ключ найден
З.ы. ЭТО ТОЛЬКО ПРИМЕР ЗАДАЧИ НА АЛГОРИТМ!
Кто может помочь в данном вопросе?:D И помочь с осуществлением скрипта, если честно то скриптов то много, но к сожалению они довольно часто высокого уровня и мудрённости + во многих присутствует команда процедуры (Procedure) которая меня уже достала, ибо с моим TP7.1 она всегда конфликтит, что-то не нравиться.
З.з.ы если кто-то рискнёт помочь, отчёт не должен быть столь ясным, должен быть ввод чисел, ключа(кстати если его нет то соответсвенно ответ что ключа нет).
просто вычисление чентра, сравнение ключа и в какую сторону множества переходим))
Всем спасибо за внимание.