From 5e6240005bfad455cdb04e26bf8b13d4b81c59a5 Mon Sep 17 00:00:00 2001 From: KuzmenkoEA Date: Mon, 15 Dec 2025 07:53:41 +0000 Subject: [PATCH] =?UTF-8?q?=D0=B8=D0=BA=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA8/test.md | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 TEMA8/test.md diff --git a/TEMA8/test.md b/TEMA8/test.md new file mode 100644 index 0000000..e03a44a --- /dev/null +++ b/TEMA8/test.md @@ -0,0 +1,102 @@ +# Индивидуальное контрольное задание по Теме 8 + +Кузьменко Елена, А-02-23, Вариант 6 + +## Задание + + По указанному преподавателем варианту контрольного задания обратитесь к индивидуальному заданию с таким номером в теме 7, разработайте функцию, на ее основе создайте модуль. Создайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов. + + Тема 7. Вариант 6: + + 1)Разработайте функцию с 3 аргументами: x, А и В, реализующую преобразование входного сигнала x по формуле: y=B, если x>A; y= 2B*x/A-B*x^2 /A^2 , если 0≤ x ≤ А; y= 2B * x/A +B*x^2 /A^2 , если -A≤ x <0; y=-B, если x< -A. + 2)Создайте список со 100 значениями входного сигнала х – случайными, равномерно распределенными числами в диапазоне значений от -5 до 12. Для элементов списка с помощью функции рассчитайте список со значениями выходного сигнала y при трех разных парах значений А и В. Записать результаты в текстовый файл в виде двух столбцов: хi, yi. + + +## Решение + +### 1)Модуль с функцией. Mod1 + +```py +# Модуль 1 Mod1 +def signal(x, A, B): + if x > A: + return B + elif 0 <= x <= A: + return (2 * B * x / A - B *(x ** 2 / A ** 2)) + elif -A <= x < 0: + return (2 * B * x / A + B * (x ** 2 / A ** 2)) + else: return -B + +``` + +### 2)Модуль с вызовом функцией. Mod2 + +```py +#Модуль 2 Mod2 +import Mod1 +import random + +list1 = [random.uniform(-5, 12) for i in range(100) + +with open('res1.txt', 'w') as f: + for x in list1: + y = Mod1.signal(x, 2, 3) + f.write(f'{x},{y}\n') + print('Записано в файл res1.txt') + +with open('res2.txt', 'w') as f: + for x in list1: + y = Mod1.signal(x, 5, 10) + f.write(f'{x},{y}\n') + print('Записано в файл res2.txt') + +with open('res3.txt', 'w') as f: + for x in list1: + y = Mod1.signal(x, 14, 2) + f.write(f'{x},{y}\n') + print('Записано в файл res3.txt') +``` + +### Проверка: +```py +>>> import Mod2 +Записано в файл res1.txt +Записано в файл res2.txt +Записано в файл res3.txt +``` + +### Содержание файлов: + +res1.txt: +6.2878398530394435,3 +1.6332453488707293,2.8991182694062854 +9.58168555868085,3 +9.388152051662587,3 +-2.700200205379209,-3 +1.643416420918447,2.9046361133470424 +6.129143169727929,3 +-1.15770954767006,-2.4679100954353688 +. . . + +res2.txt +6.2878398530394435,10 +1.6332453488707293,5.46598524763977 +9.58168555868085,10 +9.388152051662587,10 +-2.700200205379209,-7.884368361864867 +1.643416420918447,5.493338670656028 +6.129143169727929,10 +. . . + +res3.txt +6.2878398530394435,1.3930876108942174 +1.6332453488707293,0.4394222387629852 +9.58168555868085,1.800800994873782 +9.388152051662587,1.7829679438919999 +-2.700200205379209,-0.6970869857294686 +1.643416420918447,0.4419881862568583 +6.129143169727929,1.3678531914016274 +-1.15770954767006,-0.3170977136530129 +-4.584910303044539,-1.0954702652886033 +-4.768872805808711,-1.1304723543332864 +