Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование для ЭВМ, Л.р.1-4.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
410.87 Кб
Скачать

3. Тестовый пример

Дана таблица входных данных (таблица 1), каждой записи в которой сопоставлен определенный числовой ключ.

Таблица 1

Ki

1

2

3

4

5

6

7

8

9

10

Ri

one

two

three

four

five

six

seven

eight

nine

ten

alg_s(K)

i < N ?

i=0

ШАГ 1

K = Ki ?

ШАГ 2

НЕТ ДА

i = i + 1

alg_s = Ri

ШАГ 3

ШАГ 4

ДА НЕТ

alg_s = NULL

Конец

Рис 1. Схема алгоритма S

alg_q(K)

i=0, KN = K

ШАГ 1

Ki = K ?

ШАГ 2

НЕТ ДА

ШАГ 3

i = i + 1

i < N ?

ШАГ 4

alg_q = NULL

alg_q = Ri

НЕТ ДА

Конец

Рис 2. Схема алгоритма Q

alg_t(K)

i=0

ШАГ 1

K < Ki ?

ШАГ 2

НЕТ ДА

ШАГ 3

i = i + 1

Ki = K ?

ШАГ 4

alg_t = NULL

alg_t = Ri

НЕТ ДА

Конец

Рис 3. Схема алгоритма T

Требуется показать работу алгоритмов поиска для двух ситуаций: когда ключ существует в таблице, и когда ключ не существует. Для каждого алгоритма отобразить результат (успешно или неудачно) и количество сравнений, а в случае, если успешно – дополнительно отобразить найденную запись.

Изначально считывается таблица записей из файла входных данных и помещается в массив. Затем пользователю программы предлагается ввести искомый ключ K, ассоциированную с которым запись требуется отыскать. После ввода пользователем K программа по очереди выполняет последовательный поиск тремя алгоритмами и по окончании работы каждого алгоритма выводит результат.

Выходные данные программы для ключей «3» и «27» представлены в таблице 2.

Таблица 2

Выходные данные, если поле найдено

Выходные данные, если поле не найдено

Алгоритм S:

Запись: "three", i=3

Алгоритм Q:

Запись: "three", i=3

Алгоритм T:

Запись: "three", i=3

Алгоритм S:

Запись не найдена, i=11

Алгоритм Q:

Запись не найдена, i=11

Алгоритм T:

Запись не найдена, i=11

Код программы на языке C приведен в Приложении.