# Индивидуальное контрольное задание по теме 7 Соловьёва Екатерина, А-01-23 ## Задание Разработайте функцию с 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. Создайте список со 100 значениями входного сигнала х – случайными, равномерно распределенными числами в диапазоне значений от -5 до 12. Для элементов списка с помощью функции рассчитайте список со значениями выходного сигнала y при трех разных парах значений А и В. Записать результаты в текстовый файл в виде двух столбцов: хi, yi. ## Решение ```py import random def func(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 x_values = [random.uniform(-5, 12) for _ in range(100)] params = [(5, 7), (3, 4), (8, 12)] with open('test.txt', 'w', encoding='utf-8') as f: for A, B in params: f.write(f'\nПараметры: A = {A}, B = {B}\n') f.write('xi yi\n') f.write('----------------\n') for x in x_values: y = func(x, A, B) f.write(f'{x:10.5f} {y:10.5f}\n') ``` ## Вывод ```txt Параметры: A = 5, B = 7 xi yi ---------------- 5.86982 7.00000 10.60889 7.00000 4.06461 6.75501 5.29288 7.00000 10.15479 7.00000 3.86484 6.63920 0.47680 1.27140 -1.27013 -3.10467 -1.24129 -3.04419 -1.03170 -2.59073 -1.50325 -3.57637 6.95909 7.00000 1.03174 2.59082 1.91432 4.33400 6.86539 7.00000 10.89394 7.00000 3.61242 6.46090 7.85303 7.00000 -4.35477 -6.88343 -1.10787 -2.75836 8.88241 7.00000 -3.41076 -6.29281 2.60220 5.39016 5.28102 7.00000 -4.78747 -6.98735 -1.71943 -3.98660 6.26656 7.00000 10.65755 7.00000 -2.27517 -4.92108 9.47499 7.00000 -0.31369 -0.85077 7.62057 7.00000 6.96683 7.00000 8.14176 7.00000 11.97237 7.00000 10.89297 7.00000 2.48892 5.23446 6.69740 7.00000 -4.11167 -6.77904 4.94378 6.99912 -4.48180 -6.92481 7.27224 7.00000 -0.83065 -2.13263 1.01590 2.55555 6.91175 7.00000 10.08303 7.00000 3.60696 6.45664 0.72761 1.88906 2.82893 5.68021 7.15816 7.00000 6.46978 7.00000 3.33574 6.22447 7.04571 7.00000 2.60493 5.39382 6.93663 7.00000 2.92556 5.79507 10.45675 7.00000 9.22932 7.00000 7.40673 7.00000 1.40836 3.38804 11.95106 7.00000 -3.11935 -6.00968 6.61976 7.00000 -1.59679 -3.75709 2.39406 5.09855 8.98971 7.00000 2.01005 4.49685 -1.42513 -3.42169 1.91515 4.33544 4.75207 6.98279 -3.22786 -6.12067 2.18031 4.77382 6.95316 7.00000 -3.92956 -6.67917 -1.97791 -4.44276 7.95253 7.00000 9.86943 7.00000 -3.45314 -6.33002 2.13008 4.69379 -1.21212 -2.98255 8.50756 7.00000 1.85195 4.22513 3.75620 6.56683 4.47003 6.92136 11.09999 7.00000 -1.70654 -3.96287 11.73001 7.00000 1.90609 4.31977 -2.36144 -5.05063 0.04914 0.13690 3.82695 6.61471 6.12422 7.00000 2.32662 4.99884 9.35261 7.00000 8.06504 7.00000 2.97498 5.85181 4.38768 6.89502 4.20153 6.82148 4.19242 6.81739 -4.63619 -6.96294 Параметры: A = 3, B = 4 xi yi ---------------- 5.86982 4.00000 10.60889 4.00000 4.06461 4.00000 5.29288 4.00000 10.15479 4.00000 3.86484 4.00000 0.47680 1.17044 -1.27013 -2.67003 -1.24129 -2.62531 -1.03170 -2.27813 -1.50325 -3.00433 6.95909 4.00000 1.03174 2.27821 1.91432 3.47613 6.86539 4.00000 10.89394 4.00000 3.61242 4.00000 7.85303 4.00000 -4.35477 -4.00000 -1.10787 -2.40881 8.88241 4.00000 -3.41076 -4.00000 2.60220 3.92967 5.28102 4.00000 -4.78747 -4.00000 -1.71943 -3.27117 6.26656 4.00000 10.65755 4.00000 -2.27517 -3.76650 9.47499 4.00000 -0.31369 -0.79276 7.62057 4.00000 6.96683 4.00000 8.14176 4.00000 11.97237 4.00000 10.89297 4.00000 2.48892 3.88391 6.69740 4.00000 -4.11167 -4.00000 4.94378 4.00000 -4.48180 -4.00000 7.27224 4.00000 -0.83065 -1.90841 1.01590 2.25038 6.91175 4.00000 10.08303 4.00000 3.60696 4.00000 0.72761 1.70499 2.82893 3.98699 7.15816 4.00000 6.46978 4.00000 3.33574 4.00000 7.04571 4.00000 2.60493 3.93063 6.93663 4.00000 2.92556 3.99754 10.45675 4.00000 9.22932 4.00000 7.40673 4.00000 1.40836 2.87409 11.95106 4.00000 -3.11935 -4.00000 6.61976 4.00000 -1.59679 -3.12489 2.39406 3.83682 8.98971 4.00000 2.01005 3.56444 -1.42513 -2.89769 1.91515 3.47693 4.75207 4.00000 -3.22786 -4.00000 2.18031 3.70138 6.95316 4.00000 -3.92956 -4.00000 -1.97791 -3.53571 7.95253 4.00000 9.86943 4.00000 -3.45314 -4.00000 2.13008 3.66366 -1.21212 -2.57933 8.50756 4.00000 1.85195 3.41421 3.75620 4.00000 4.47003 4.00000 11.09999 4.00000 -1.70654 -3.25642 11.73001 4.00000 1.90609 3.46816 -2.36144 -3.81877 0.04914 0.12996 3.82695 4.00000 6.12422 4.00000 2.32662 3.79847 9.35261 4.00000 8.06504 4.00000 2.97498 3.99972 4.38768 4.00000 4.20153 4.00000 4.19242 4.00000 -4.63619 -4.00000 Параметры: A = 8, B = 12 xi yi ---------------- 5.86982 11.14919 10.60889 12.00000 4.06461 9.09613 5.29288 10.62591 10.15479 12.00000 3.86484 8.79384 0.47680 1.38779 -1.27013 -3.50792 -1.24129 -3.43498 -1.03170 -2.89553 -1.50325 -4.08605 6.95909 11.79685 1.03174 2.89564 1.91432 5.05583 6.86539 11.75862 10.89394 12.00000 3.61242 8.39047 7.85303 11.99595 -4.35477 -9.50856 -1.10787 -3.09347 8.88241 12.00000 -3.41076 -8.05104 2.60220 6.53696 5.28102 10.61384 -4.78747 -10.06493 -1.71943 -4.60396 6.26656 11.43660 10.65755 12.00000 -2.27517 -5.85493 9.47499 12.00000 -0.31369 -0.92261 7.62057 11.97301 6.96683 11.79985 8.14176 12.00000 11.97237 12.00000 10.89297 12.00000 2.48892 6.30526 6.69740 11.68186 -4.11167 -9.16516 4.94378 10.24866 -4.48180 -9.67917 7.27224 11.90069 -0.83065 -2.36258 1.01590 2.85420 6.91175 11.77795 10.08303 12.00000 3.60696 8.38148 0.72761 2.08355 2.82893 6.98626 7.15816 11.86712 6.46978 11.56096 3.33574 7.92088 7.04571 11.82925 2.60493 6.54247 6.93663 11.78798 2.92556 7.17188 10.45675 12.00000 9.22932 12.00000 7.40673 11.93401 1.40836 3.85319 11.95106 12.00000 -3.11935 -7.53361 6.61976 11.64280 -1.59679 -4.31230 2.39406 6.10753 8.98971 12.00000 2.01005 5.27259 -1.42513 -3.89459 1.91515 5.05774 4.75207 10.02206 -3.22786 -7.73000 2.18031 5.64961 6.95316 11.79452 -3.92956 -8.89341 -1.97791 -5.20021 7.95253 11.99958 9.86943 12.00000 -3.45314 -8.12363 2.13008 5.53950 -1.21212 -3.36088 8.50756 12.00000 1.85195 4.91277 3.75620 8.62315 4.47003 9.66362 11.09999 12.00000 -1.70654 -4.57356 11.73001 12.00000 1.90609 5.03706 -2.36144 -6.03873 0.04914 0.14695 3.82695 8.73482 6.12422 11.34027 2.32662 5.96488 9.35261 12.00000 8.06504 12.00000 2.97498 7.26547 4.38768 9.55333 4.20153 9.29468 4.19242 9.28168 -4.63619 -9.87840 ```