Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Опорный конспект по программированию (наиболее....doc
Скачиваний:
28
Добавлен:
27.10.2018
Размер:
2.51 Mб
Скачать
      1. Последовательный и двоичный поиск в массиве данных

Технология последовательного поиска применяется к неупорядоченным массивам данных и является самой простой. При ее использовании выполняется последовательный просмотр каждого значения с начала массива, пока не будет найдено искомое значение.

Двоичный поиск применяется к упорядоченным массивам данных. Одним из основных преимуществ двоичного поиска является то, что при выполнении каждого сравнения при несовпадении исключается из поиска половина оставшихся элементов.

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

Пример. Поиск задуманного числа в пределах 1000. Пусть задуманное число - 390. Первой попыткой называется число 500 (половина от 1000). Если ответ «много», то задуманное число находится в диапазоне от 1 до 499. Разбивая этот диапазон пополам, получаем серединное значение 250. Если ответ «мало», то задуманное число лежит в диапазоне от 250 до 499. Деление пополам дает результат 375. Ответ «мало» означает, что число находится в пределах 375-499. Следующая попытка будет 430, затем 400, а затем 390! Из 1000 значений найдено одно загаданное всего за шесть попыток.

На рис. 1.27 представлен алгоритм двоичного поиска числа 32 из упорядоченного множества 100 чисел.

Рис. 1.27 Алгоритм двоичного поиска числа 32 из 100.

Выводы

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

  2. В процессе моделирования следует учитывать основные составляющие компьютера:

  • процессор

  • оперативная память

  • устройства ввода-вывода

  • В процессе моделирования происходит преобразование исходных данных к искомому виду.

  • Данные вводятся в компьютер с помощью устройств ввода-вывода, хранятся в оперативной памяти и преобразуются процессором, выполняющим команды

  • Последовательность действий (команд), приводящих к искомому результату, записывается в виде алгоритма

  • Формы записи алгоритма: псевдокоды и блок-схемы

  • Сложный алгоритм должен быть разбит на простые составляющие (структурная алгоритмизация)

  • В основе любого алгоритма лежат три базовые алгоритмические структуры:

    • линейная

    • ветвящаяся,

    • циклическая.

    Вопросы для самоконтроля

    1. Поясните происхождение слова «алгоритм»

    2. Дайте определение понятию «алгоритм»

    3. Поясните основные свойства алгоритма

    4. Какими способами можно записать алгоритм?

    5. Перечислите основные графические элементы записи алгоритма и их назначение

    6. Что собой представляет базовый набор алгоритмических структур?

    7. Какие виды ветвлений Вы знаете?

    8. Какие разновидности циклов можно использовать в алгоритмах? Чем они отличаются?

    9. Каково назначение и принцип действия переменной-счетчика?

    10. Каково назначение и принцип действия переменной-аккумулятора?

    11. Как работает простейший алгоритм «пузырьковой» сортировки?

    12. Каково назначение вложенных циклов?