Схема алгоритма двоичного поиска

First - адрес начала просматриваемой части.

Last - адрес конца просматриваемой части

Текст программы

Uses crt;

VarX:array[1..10000] of integer;

isk,i,n,adr,First,Last:integer;

Begin

write(' Введите число элементов в массиве - n '); readln(n);

write(' Введите элементы массива Х '); for i:=1 to n do read(X[i]); writeln;

write(' Введите искомое число'); readln(isk);

First:=1; Last:=n;

while First <= Last do

begin

adr:=(First+Last) div 2;

if isk=X[adr] then begin writeln('Yes! isk = ',isk,' adr = ',adr); exit; end;

else if isk<X[adr] then Last:=adr-1

else First:=adr+1;

end;

writeln(' Not found');

End.

Типовое задание

 

Разработать алгоритмы и программы решения задачи поиска в массиве упорядоченных записей из ЛПР№14 по заданным полям, с использованием алгоритмов линейного и двоичного поиска.

 

 

Варианты самостоятельных заданий

В а р и а н т 1

Список упорядочен по возрастанию года издания.

Разработать алгоритмы и программы линейного поиска всех книг, изданных до 1960 года и двоичного поиска в 1965 с выводом найденных записей на экран.

В а р и а н т 2

Список упорядочен по убыванию цены товара.

Разработать алгоритмы и программы линейного поиска всех товаров, имеющих цену меньше 20000 руб. и двоичного поиска 30000 руб. с выводом найденных записей на экран.

В а р и а н т 3

Список упорядочен по наименованию пунктов отправления (по алфавиту).

Разработать алгоритмы и программы линейного поиска рейсов, вылетающих из всех пунктов, наименование которых начинается с буквы "К" и двоичного поиска с буквы "А" с выводом найденных записей на экран.

В а р и а н т 4

Список упорядочен по возрастанию года рождения.

Разработать алгоритмы и программы линейного поиска всех граждан из списка, родившихся до 1950 года и двоичного поиска в 1952 с выводом найденных записей на экран.

В а р и а н т 5

Список упорядочен по убыванию цены товара.

Разработать алгоритмы и программы линейного поиска и двоичного поиска всех товаров, цена которых не превышает 15000 руб., и двоичного поиска товара, цена которого равна 15600 руб. с выводом найденных записей на экран.

В а р и а н т 6

Список упорядочен по убыванию года рождения.

Разработать алгоритмы и программы линейного поиска всех студентов, родившихся до 1979 года и двоичного поиска в 1980 с выводом найденных записей на экран.

В а р и а н т 7

Список упорядочен по убыванию года издания.

Разработать алгоритмы и программы линейного поиска книг, изданных до 1990 года и двоичного в 1999 с выводом найденных записей на экран.

В а р и а н т 8

Список упорядочен по возрастанию года издания.

Разработать алгоритмы и программы линейного поиска книг, изданных после 2004 года и двоичного в 2000 с выводом найденных записей на экран.

В а р и а н т 9

Список упорядочен по возрастанию номеров рейсов.

Разработать алгоритмы и программы линейного поиска всех рейсов с номерами большими, чем 50 и двоичного с номером 38 с выводом найденных записей на экран.

В а р и а н т 10

Список упорядочен оп убыванию года рождения.

Разработать алгоритмы и программы линейного поиск всех граждан, родившихся до 1970 года и двоичного в 1979 с выводом найденных записей на экран.

В а р и а н т 11

Список упорядочен по убыванию года издания.

Разработать алгоритмы и программы линейного поиска книг, изданных до 1950 и двоичного в 1960 году с выводом найденных записей на экран.

В а р и а н т 12

Список упорядочен по возрастанию цены.

Разработать алгоритмы и программы линейного поиска товаров, имеющих цену не меньше 20000 руб. и двоичного равную 30000 с выводом найденных записей на экран.

В а р и а н т 13

Список упорядочен по полю "Пункт назначения" (по алфавиту).

Разработать алгоритмы и программы линейного поиска рейсов, вылетающих в города, начинающиеся с буквы "В", и двоичного с "С", с выводом найденных записей на экран.

В а р и а н т 14

Список упорядочен по убыванию года рождения.

Разработать алгоритмы и программы линейного поиска всех граждан из списка, родившихся до 1980 года и двоичного в 1990 с выводом найденных записей на экран.

 

 

В а р и а н т 15

Список упорядочен по возрастанию цены.

Разработать алгоритмы и программы линейного поиска всех товаров, имеющих цену, не меньше 25000 руб. и двоичного равных 20000 с выводом найденных записей на экран.

В а р и а н т 16

Список упорядочен по убыванию года рождения.

Разработать алгоритмы и программы линейного поиска всех студентов, родившихся до 1989 года и двоичного в 1990 с выводом найденных записей на экран.

В а р и а н т 17

Список упорядочен по возрастанию года издания.

Разработать алгоритмы и программы линейного поиска книг, изданных после 1990 года и двоичного в 1987 с выводом найденных записей на экран.

В а р и а н т 18

Список упорядочен по полю "Шифр" (по алфавиту).

Разработать алгоритмы и программы линейного поиска книг, поле шифр которых начинаются с буквы " Т" и двоичного с буквы " Р" с выводом найденных записей на экран.

В а р и а н т 19

Список упорядочен по убыванию номеров рейсов.

Разработать алгоритмы и программы линейного поиска всех рейсов с номерами меньшими, чем 100 и двоичного равных 110 с выводом найденных записей на экран.

В а р и а н т 20

Список упорядочен по возрастанию года рождения.

Разработать алгоритмы и программы линейного поиска всех граждан, родившихся после 1970 г. и двоичного в 1967 с выводом найденных записей на экран.

В а р и а н т 21

Список упорядочен по возрастанию года издания.

Разработать алгоритмы и программы линейного поиска всех книг, изданных после 2001 года и двоичного в 1996 с выводом найденных записей на экран.

В а р и а н т 22

Список упорядочен по убыванию цены товара.

Разработать алгоритмы и программы линейного поиска всех товаров, имеющих цену больше 100 руб. и двоичного равную 50 с выводом найденных записей на экран.

В а р и а н т 23

Список упорядочен по наименованию пунктов отправления (по алфавиту).

Разработать алгоритмы и программы линейного поиска рейсов, вылетающих из всех пунктов, наименование которых начинается с буквы "В" и двоичного с буквы "Л" с выводом найденных записей на экран.

В а р и а н т 24

Список упорядочен по возрастанию года рождения.

Разработать алгоритмы и программы линейного поиска всех граждан из списка, родившихся после 1977 года и двоичного в 1975 с выводом найденных записей на экран.

В а р и а н т 25

Список упорядочен по убыванию цены товара.

Разработать алгоритмы и программы линейного поиска всех товаров, цена которых превышает 30 руб., и двоичного равной 40 с выводом найденных записей на экран.

В а р и а н т 26

Список упорядочен по убыванию года рождения.

Разработать алгоритмы и программы линейного поиска всех студентов, родившихся после 1990 года и двоичного в 1985 с выводом найденных записей на экран.

В а р и а н т 27

Список упорядочен по убыванию года издания.

Разработать алгоритмы и программы линейного поиска книг, изданных после 2000 года и двоичного в 1996 с выводом найденных записей на экран.

 

 

ЛИТЕРАТУРА

  1. Игошина Л.В. Методическое пособиепо курсу "Алгоритмические языки и программирование" . - Пенза: ПГТУ, 1999г.
  2. Могилев Л.В. и др. Практикум по информатике. - М.: «Академия», 2005г.
  3. Иллюстрированный самоучитель по Turbo Pascal. – http://pascal.sources.ru/