Vilaan1972
17.03.2021 22:52

Формулировка задания: 1. Разработка алгоритма хеш-функции для реализации таблиц идентификаторов:
a. Разработайте программу на выбранном языке программирования, генерирующую 400 случайных идентификаторов (начинаются с символа латиницы и имеют случайную длину), и сохраните их в файл ID.txt.
b. Выберите две любые хеш-функции на основе открытых источников или предложенной для практики литературы. Диапазон значений хеш-функций должен лежать в пределах от 1 до 1000.
c. Реализуйте вычисление хеш-функций на выбранном языке программирования.
d. Реализуйте чтение идентификаторов с файла ID.txt, вычисление для них хеш-функции и сохранение в массив M_ID в ячейку с номером полученного хеш-значения идентификатора (для которого вычислялась хеш-функция).
e. Если в данном элементе массива уже есть идентификатор (коллизия), то добавьте новый идентификатор через разделитель к имеющемуся в элементе массива. Одновременно занесите оба идентификатора в отдельный массив M_Col в порядке их обнаружения.
f. По окончании чтения всего списка входных идентификаторов выведите массивы M_Col и M_ID в отдельные файлы с расширением txt.
• Файл M_ID должен иметь запись всех ячеек массива в порядке возрастания с указанием в первом столбце номера элемента массива. Пустые элементы также подлежат выводу в файл.
• Файл M_Col должен содержать номер элемента массива, хеш-значение и список идентификаторов.
• В конце файла должно быть вычислено отношение количества коллизий к количеству идентификаторов в %.
• Расчет хеш-значений должен быть выполнен для двух хеш-функций.
g. Проведите сравнение полученных результатов на эффективность хеш-функций с точки зрения возникновения коллизий.
2. Разработка и реализация модуля по созданию таблицы идентификаторов:
a. Разработайте программу, реализующую создание таблицы идентификаторов по заданным алгоритмам (один из них на основе хеш-функции, взятой из предыдущей работы). В качестве реализации возьмите за основу автоматное программирование.
b. Добавьте в программу глобальный счетчик для подсчета затраченных элементарных тактов процессора с целью исследования эффективности разработанной программы.
c. Выполните исследование эффективности работы разработанной программы с подсчета затраченных элементарных операций при заполнении таблицы идентификаторов на 25, 50, 75 и 100 %.
d. Представьте сравнительный анализ эффективности работы разработанной программы в виде электронной таблицы с получением выводов по данным алгоритмам реализации.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
KristinaPech
28.07.2022 02:02
1. Ну я не знаю какая часть фигуры закрашена. Будем считать что прямоугольник находиться в окружности и необходимо из площади курга вычесть площадь прямоугольника.
const
p =3.14;
var
a,b,r,s1,s2:real;
begin
Writeln('Введите длины сторон прямоугольника');
readln(a,b);
Writeln('Введите радиус окуржности');
Readln(r);
s1:=a*b;
s2:=p*sqr(r);
Writeln('Площадь закрашеной окружности = ', s2-s1);
end.

Если закрашена какая-то другая область то можете просто изменить действие с площадями в предпоследней строчке ( в данном случае мы из s2 вычитаем s1).
0,0(0 оценок)
Ответ:
NickMean
28.07.2022 02:02
1. Ну я не знаю какая часть фигуры закрашена. Будем считать что прямоугольник находиться в окружности и необходимо из площади курга вычесть площадь прямоугольника.
const
p =3.14;
var
a,b,r,s1,s2:real;
begin
Writeln('Введите длины сторон прямоугольника');
readln(a,b);
Writeln('Введите радиус окуржности');
Readln(r);
s1:=a*b;
s2:=p*sqr(r);
Writeln('Площадь закрашеной окружности = ', s2-s1);
end.

Если закрашена какая-то другая область то можете просто изменить действие с площадями в предпоследней строчке ( в данном случае мы из s2 вычитаем s1).
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота