From df08d320be0d730e307857d3745bb63fd6bb43bf Mon Sep 17 00:00:00 2001 From: Dmitry Kolomeytsev Date: Mon, 1 Dec 2025 11:07:50 +0300 Subject: [PATCH] ikz done --- TEMA7/{ => test}/signal.txt | 0 TEMA7/{ => test}/test.md | 0 TEMA7/{ => test}/test.py | 0 TEMA8/test.md | 7 --- TEMA8/test/file.txt | 101 +++++++++++++++++++++++++++++++++ TEMA8/test/main_module.py | 17 ++++++ TEMA8/test/test.md | 82 ++++++++++++++++++++++++++ TEMA8/test/transform_module.py | 18 ++++++ 8 files changed, 218 insertions(+), 7 deletions(-) rename TEMA7/{ => test}/signal.txt (100%) rename TEMA7/{ => test}/test.md (100%) rename TEMA7/{ => test}/test.py (100%) delete mode 100644 TEMA8/test.md create mode 100644 TEMA8/test/file.txt create mode 100644 TEMA8/test/main_module.py create mode 100644 TEMA8/test/test.md create mode 100644 TEMA8/test/transform_module.py diff --git a/TEMA7/signal.txt b/TEMA7/test/signal.txt similarity index 100% rename from TEMA7/signal.txt rename to TEMA7/test/signal.txt diff --git a/TEMA7/test.md b/TEMA7/test/test.md similarity index 100% rename from TEMA7/test.md rename to TEMA7/test/test.md diff --git a/TEMA7/test.py b/TEMA7/test/test.py similarity index 100% rename from TEMA7/test.py rename to TEMA7/test/test.py diff --git a/TEMA8/test.md b/TEMA8/test.md deleted file mode 100644 index fa9101a..0000000 --- a/TEMA8/test.md +++ /dev/null @@ -1,7 +0,0 @@ -# Индивидуальное контрольное задание по теме 8 - -Коломейцев Дмитрий, А-02-23 - -## Задание - -## Решение \ No newline at end of file diff --git a/TEMA8/test/file.txt b/TEMA8/test/file.txt new file mode 100644 index 0000000..50e89f3 --- /dev/null +++ b/TEMA8/test/file.txt @@ -0,0 +1,101 @@ + xi yi + 8.609841 4.109841 + -5.655793 -1.155793 + 1.344068 0.000000 + -2.215482 0.000000 + 9.728585 5.228585 + -0.803193 0.000000 + -8.997437 -4.497437 + 4.087272 0.000000 + -2.399424 0.000000 + -1.590218 0.000000 + 0.527906 0.000000 + 12.048537 7.548537 + -5.351781 -0.851781 + -5.061366 -0.561366 + 4.090164 0.000000 + 0.627902 0.000000 + 8.017003 3.517003 + -2.930442 0.000000 + 4.694035 0.194035 + -9.603205 -5.103205 + -7.551084 -3.051084 + 9.175015 4.675015 + 2.581438 0.000000 + -0.349598 0.000000 + 4.892525 0.392525 + -0.161765 0.000000 + 5.420685 0.920685 + -2.489117 0.000000 + -0.781592 0.000000 + -3.168183 0.000000 + 3.937147 0.000000 + 1.856582 0.000000 + -7.017430 -2.517430 + -4.097757 0.000000 + 5.716746 1.216746 + 5.210405 0.710405 + 0.289743 0.000000 + 3.452856 0.000000 + -4.751359 -0.251359 + 1.741863 0.000000 + -6.689602 -2.189602 + 10.718234 6.218234 + 1.490940 0.000000 + -5.965262 -1.465262 + -0.974983 0.000000 + 1.379959 0.000000 + 2.142287 0.000000 + 3.835167 0.000000 + -8.173161 -3.673161 + -2.450271 0.000000 + -2.036493 0.000000 + 7.025285 2.525285 + -5.218910 -0.718910 + 2.224889 0.000000 + -4.342584 0.000000 + 4.953001 0.453001 + 1.541203 0.000000 + 3.667462 0.000000 + -1.260892 0.000000 + 0.315947 0.000000 + 3.130567 0.000000 + -2.734585 0.000000 + -6.625260 -2.125260 + 8.673980 4.173980 + 0.842897 0.000000 + -6.117463 -1.617463 + 7.284804 2.784804 + -5.970478 -1.470478 + 3.755502 0.000000 + -1.206751 0.000000 + -8.237521 -3.737521 + 10.626573 6.126573 + 12.710524 8.210524 + 5.254132 0.754132 + 3.421404 0.000000 + -2.702080 0.000000 + -3.072853 0.000000 + -6.214579 -1.714579 + 0.092185 0.000000 + 1.777328 0.000000 + -2.797733 0.000000 + 0.441703 0.000000 + 0.108748 0.000000 + -3.702228 0.000000 + 1.924932 0.000000 + 5.390615 0.890615 + 7.132174 2.632174 + -2.915082 0.000000 + -7.512958 -3.012958 + 9.089052 4.589052 + 11.736116 7.236116 + 7.374933 2.874933 + 5.150148 0.650148 + 8.542939 4.042939 + 1.028882 0.000000 + -0.901620 0.000000 + -5.182340 -0.682340 + 1.071530 0.000000 + 4.294494 0.000000 + 0.952499 0.000000 diff --git a/TEMA8/test/main_module.py b/TEMA8/test/main_module.py new file mode 100644 index 0000000..013a903 --- /dev/null +++ b/TEMA8/test/main_module.py @@ -0,0 +1,17 @@ +import random +import math +from transform_module import transform_signal + +def main(): + x = [random.gauss(0.5, 5) for i in range(100)] + # 0.5 - мат ожидание, 5 - СКО = корень из 25 (дисперсия = 25) + y = transform_signal(x, 4.5) + + with open('file.txt', 'w') as f: + f.write(f'{"xi":>12} {"yi":>12}\n') + for xi, yi in zip(x, y): + f.write(f'{xi:>12.6f} {yi:>12.6f}\n') + + # вывод в файле file.txt + +main() diff --git a/TEMA8/test/test.md b/TEMA8/test/test.md new file mode 100644 index 0000000..bcfe509 --- /dev/null +++ b/TEMA8/test/test.md @@ -0,0 +1,82 @@ +# Индивидуальное контрольное задание по теме 8 + +Коломейцев Дмитрий, А-02-23 + +## Задание + +#### Вариант 5. + +1. Разработайте функцию с 2 аргументами: x и В, реализующую преобразование входного сигнала x по формуле: +* y = 0, если -B ≤ x ≤ B +* y = x - B, если x > B +* y = x + B, если x < -B + +2. Создайте список со 100 значениями входного сигнала х: +* случайными, +* нормально распределенными числами, +* с математическим ожиданием 0.5, +* дисперсией 25. + +3. Для элементов списка с помощью функции рассчитайте список со значениями выходного сигнала y при В = 4.5. + +4. Записать результаты в текстовый файл в виде двух столбцов: хi, yi. + +## Решение + +Функция для линейно-кусочного преобразования transform_signal находится в модуле transformation_module.py + +Код представлен ниже: + +```py +def transform_signal(x, B): + """ + Кусочно-линейное преобразование: + y = 0 при -B <= xi <= B + y = xi - B при xi > B + y = xi + B при xi < -B + + x - список входных значений + """ + y = [] + for xi in x: + if -B <= xi <= B: + y.append(0) + elif xi > B: + y.append(xi - B) + else: + y.append(xi + B) + return y +``` + +Код основного модуля: + +```py +import random +import math +from transform_module import transform_signal + +def main(): + x = [random.gauss(0.5, 5) for i in range(100)] + # 0.5 - мат ожидание, 5 - СКО = корень из 25 (дисперсия = 25) + y = transform_signal(x, 4.5) + + with open('file.txt', 'w') as f: + f.write(f'{"xi":>12} {"yi":>12}\n') + for xi, yi in zip(x, y): + f.write(f'{xi:>12.6f} {yi:>12.6f}\n') + + # вывод в файле file.txt + +main() +``` + +Содержимое файла file.txt: +```py + xi yi + 3.123979 0.000000 + 5.591865 1.091865 + 7.261426 2.761426 + ........ ........ + 2.716099 0.000000 + -1.374491 0.000000 +``` \ No newline at end of file diff --git a/TEMA8/test/transform_module.py b/TEMA8/test/transform_module.py new file mode 100644 index 0000000..84a2645 --- /dev/null +++ b/TEMA8/test/transform_module.py @@ -0,0 +1,18 @@ +def transform_signal(x, B): + """ + Кусочно-линейное преобразование: + y = 0 при -B <= xi <= B + y = xi - B при xi > B + y = xi + B при xi < -B + + x - список входных значений + """ + y = [] + for xi in x: + if -B <= xi <= B: + y.append(0) + elif xi > B: + y.append(xi - B) + else: + y.append(xi + B) + return y