![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Sardukar |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Alexander Репутация: ![]() ![]() ![]() |
Всем добрый вечер. Надеюсь обращаюсь туда)
Суть проблемы, к сожалению у меня некоторые проблемы с созданием скриптов (мозг не так заточен), не могу написать скрипт на алгоритм. Алгоритм бинарного поиска, с поиском ключа. Как пример> есть ряд чисел {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 она всегда конфликтит, что-то не нравиться. З.з.ы если кто-то рискнёт помочь, отчёт не должен быть столь ясным, должен быть ввод чисел, ключа(кстати если его нет то соответсвенно ответ что ключа нет). просто вычисление чентра, сравнение ключа и в какую сторону множества переходим)) Всем спасибо за внимание. Сообщение отредактировано: Sardukar - 27.11.2007 22:20 |
![]() ![]() |
Sardukar |
![]()
Сообщение
#2
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Alexander Репутация: ![]() ![]() ![]() |
For Гость
мда, пару раз замечал что к данным 2 выражениям применяют команду type смысл которых не понял, в данном случае их не дали...хотя, возможно что этого куска нехватает
По теме как пробовал вызывать, в силу своей необразованности так »
Зы, исходник потерял, нету данных по переменной "n X". Как видишь, ПРАВИЛЬНО вставлять в программу я не умею эти скрипты) Если научишь уму, буду благодарен. To Lapp 2. иногда путаю термины. Для меня скрипт это html/css код страницы. В то время как программа, это конкретный файл запускаемый, или код программы, которые в последствии можно запустить. 3. Тоесть можно сказать что от Pascal уже пошёл Turbo Pascal и т.д.? |
Гость |
![]()
Сообщение
#3
|
Гость ![]() |
Раз у Вас работа с числами, то поменять тип данных на integer Параметр count из процедуры BSearch можно удалить. Верхняя граница у Вас будет N. Иначе непонятна цель ввода в процедуру этой константы. В отделе объявления переменных X станет типа DataArray. Процедура должна быть объявлена в разделе объявлений, например после объявления переменных. В теле программы должен идти ее вызов. Естесственно, после набивания исходного массива значениями. Что-то типа вот такого.
Чесгря, RTFM. В смысле, а не стОит ли купить и почитать книжку по синтаксису языка? Я, конечно, понимаю, что для специалиста важнее знать алгоритмы, чем реализации языка. Но. Хоть какое-то базовое представление о языке, на котором пишешь, имеет смысл иметь. Цитата 3. Тоесть можно сказать что от Pascal уже пошёл Turbo Pascal и т.д.? TP - это реализация Паскаля от фирмы Борланд. |
Гость |
![]()
Сообщение
#4
|
Гость ![]() |
<..>, как говорят наши американские братья. Как написано выше параметр count из процедуры можно удалить. Вместо него использовать константу N. Если не удалять, то в основной программе должна присутствовать еще одна переменная, котоой присвоено значение N и которую передавать в процедуру.
Сообщение отредактировано: Lapp - 28.11.2007 15:47 |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 18:46 |