- •Лабораторная работа №1 «Семафоры и синхронизация процессов»
- •Теоретические сведения
- •Алгоритмы
- •Тестовый пример
- •Контрольные вопросы
- •Варианты заданий
- •Содержание отчёта
- •Приложение 1 Пример работы программы
- •Приложение 2. Код программы
- •Содержание
- •1. Теоретические сведения 1
- •Лабораторная работа №2 «Интерпретатор командного языка (кя) операционной системы»
- •1.Теоретические сведения
- •2.Алгоритм
- •3.Тестовый пример
- •4.Контрольные вопросы
- •5.Варианты заданий:
- •6. Содержание отчета
- •Приложение.
- •1. Теоретические сведения 27
- •1. Теоретические сведения 11
- •Лабораторная работа №3 «Алгоритмы последовательного поиска в таблице записи данных»
- •1. Теоретические сведения
- •2. Алгоритмы поиска
- •3. Тестовый пример
- •4. Контрольные вопросы
- •5. Варианты заданий
- •6. Содержание отчёта
- •Приложение
- •Литература
- •Содержание
- •1. Теоретические сведения 17
- •Лабораторная работа №4 «Пирамидальная сортировка»
- •Теоретические сведения
- •Алгоритм
- •Тестовый пример
- •Контрольные вопросы
- •Варианты заданий
- •Содержание отчёта
- •Приложение 1. Код программы
- •Приложение 2. Пример работы программы
- •Литература
- •Содержание
- •1. Теоретические сведения 28
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 приведен в Приложении.
