From cf7311c708b7f467131a815fcd706eceb89edb00 Mon Sep 17 00:00:00 2001 From: TimoshenkoAA Date: Mon, 10 Nov 2025 09:09:58 +0000 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB(?= =?UTF-8?q?=D0=B0)=20=D0=BD=D0=B0=20'TEMA8/test.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA8/test.md | 136 +++++++++++++++++++++++++------------------------- 1 file changed, 68 insertions(+), 68 deletions(-) diff --git a/TEMA8/test.md b/TEMA8/test.md index 909adde..009af75 100644 --- a/TEMA8/test.md +++ b/TEMA8/test.md @@ -1,69 +1,69 @@ -# Индивидуальное контрольное задание по Теме 8 -Выполнил: Тимошенко А.А. Проверил: Козлюк Д.А. -## Задание: -Вариант 16: - Разработайте функцию с 2 аргументами, которая для заданного словаря (аргумент функции) с любыми ключами и с числовыми значениями создаёт новый словарь с теми же ключами и со значениями, равными синусам от значений из входного словаря, и записывает новый словарь в бинарный файл с заданным именем (аргумент функции). Проверьте функцию на примере двух разных входных словарей. - По указанному преподавателем варианту контрольного задания обратитесь к индивидуально-му заданию с таким номером в теме 7, разработайте функцию, на ее основе создайте модуль. Со-здайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов. -## Решение: -Модуль 1: -``` -import math -import pickle - -def process_dictionary_sinus(input_dict, filename): - #создаю новый словарь с синусами значений - new_dict = {} - for key, value in input_dict.items(): - new_dict[key] = math.sin(value) - - #записываю новый словарь в бинарный файл - with open(filename, 'wb') as file: - pickle.dump(new_dict, file) - - return new_dict - -# Дополнительная функция для чтения из бинарного файла -def read_from_binary_file(filename): - """ - Чтение словаря из бинарного файла - """ - with open(filename, 'rb') as file: - loaded_dict = pickle.load(file) - return loaded_dict - -``` -Модуль 2: -``` -import sinus_dict_module as sdm - -def simple_test(): - #создам два словаря для теста - dict1 = {'точка1': 0, 'точка2': 1.57, 'точка3': 3.14} - dict2 = {'данные1': 2.5, 'данные2': -1.2, 'данные3': 0.8} - - #обрабатываем оба словаря - result1 = sdm.process_dictionary_sinus(dict1, 'dict1.bin') - result2 = sdm.process_dictionary_sinus(dict2, 'dict2.bin') - - #выводим результаты - print("Словарь 1:", dict1) - print("Результат 1:", result1) - print("Словарь 2:", dict2) - print("Результат 2:", result2) - - #проверяем запись в файлы - print("Из файла 1:", sdm.read_from_binary_file('dict1.bin')) - print("Из файла 2:", sdm.read_from_binary_file('dict2.bin')) - -if __name__ == "__main__": - simple_test() -``` -Вывод: -```` -Словарь 1: {'точка1': 0, 'точка2': 1.57, 'точка3': 3.14} -Результат 1: {'точка1': 0.0, 'точка2': 0.9999996829318346, 'точка3': 0.0015926529164868282} -Словарь 2: {'данные1': 2.5, 'данные2': -1.2, 'данные3': 0.8} -Результат 2: {'данные1': 0.5984721441039564, 'данные2': -0.9320390859672263, 'данные3': 0.7173560908995228} -Из файла 1: {'точка1': 0.0, 'точка2': 0.9999996829318346, 'точка3': 0.0015926529164868282} -Из файла 2: {'данные1': 0.5984721441039564, 'данные2': -0.9320390859672263, 'данные3': 0.7173560908995228} +# Индивидуальное контрольное задание по Теме 8 +Выполнил: Тимошенко А.А. Проверил: Козлюк Д.А. +## Задание: +Вариант 16: + Разработайте функцию с 2 аргументами, которая для заданного словаря (аргумент функции) с любыми ключами и с числовыми значениями создаёт новый словарь с теми же ключами и со значениями, равными синусам от значений из входного словаря, и записывает новый словарь в бинарный файл с заданным именем (аргумент функции). Проверьте функцию на примере двух разных входных словарей. + По указанному преподавателем варианту контрольного задания обратитесь к индивидуально-му заданию с таким номером в теме 7, разработайте функцию, на ее основе создайте модуль. Создайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов. +## Решение: +Модуль 1: +``` +import math +import pickle + +def process_dictionary_sinus(input_dict, filename): + #создаю новый словарь с синусами значений + new_dict = {} + for key, value in input_dict.items(): + new_dict[key] = math.sin(value) + + #записываю новый словарь в бинарный файл + with open(filename, 'wb') as file: + pickle.dump(new_dict, file) + + return new_dict + +# Дополнительная функция для чтения из бинарного файла +def read_from_binary_file(filename): + """ + Чтение словаря из бинарного файла + """ + with open(filename, 'rb') as file: + loaded_dict = pickle.load(file) + return loaded_dict + +``` +Модуль 2: +``` +import sinus_dict_module as sdm + +def simple_test(): + #создам два словаря для теста + dict1 = {'точка1': 0, 'точка2': 1.57, 'точка3': 3.14} + dict2 = {'данные1': 2.5, 'данные2': -1.2, 'данные3': 0.8} + + #обрабатываем оба словаря + result1 = sdm.process_dictionary_sinus(dict1, 'dict1.bin') + result2 = sdm.process_dictionary_sinus(dict2, 'dict2.bin') + + #выводим результаты + print("Словарь 1:", dict1) + print("Результат 1:", result1) + print("Словарь 2:", dict2) + print("Результат 2:", result2) + + #проверяем запись в файлы + print("Из файла 1:", sdm.read_from_binary_file('dict1.bin')) + print("Из файла 2:", sdm.read_from_binary_file('dict2.bin')) + +if __name__ == "__main__": + simple_test() +``` +Вывод: +```` +Словарь 1: {'точка1': 0, 'точка2': 1.57, 'точка3': 3.14} +Результат 1: {'точка1': 0.0, 'точка2': 0.9999996829318346, 'точка3': 0.0015926529164868282} +Словарь 2: {'данные1': 2.5, 'данные2': -1.2, 'данные3': 0.8} +Результат 2: {'данные1': 0.5984721441039564, 'данные2': -0.9320390859672263, 'данные3': 0.7173560908995228} +Из файла 1: {'точка1': 0.0, 'точка2': 0.9999996829318346, 'точка3': 0.0015926529164868282} +Из файла 2: {'данные1': 0.5984721441039564, 'данные2': -0.9320390859672263, 'данные3': 0.7173560908995228} ```` \ No newline at end of file