форкнуто от main/python-labs
Родитель
723a790d61
Сommit
a235343ce5
|
После Ширина: | Высота: | Размер: 14 KiB |
@ -0,0 +1,46 @@
|
||||
# Тест по Теме 8
|
||||
|
||||
Володин Денис, А-02-23
|
||||
|
||||
## Задание (Вариант 7)
|
||||
|
||||
Разработайте функцию с 2 параметрами: х и А, реализующую преобразование входного сигнала x по формуле: y=i, если i*A<=x<(i+1)*A, y=-i, если -(i+1)*A>=x>-i*A, где i принимает значения от 1 до А*х. Если не выполнится ни одно из неравенств ни при каком i, то y=0. Создайте список со 100 значениями входного сигнала х – случайными, треугольно (triangular) распределенными числами в диапазоне значений от -5 до 25. Для элементов списка с помощью функции рассчитайте список со значениями выходного сигнала y при А=1. Записать результаты в текстовый файл в виде двух столбцов: хi, yi.
|
||||
|
||||
Разбить на модули
|
||||
|
||||
## Решение
|
||||
|
||||
```py
|
||||
|
||||
#md1
|
||||
|
||||
def func(x, A):
|
||||
for i in range(1, A*int(x)+1):
|
||||
if (i*A<=x) and (x<(i+1)*A):
|
||||
return i
|
||||
elif (i*A*(-1)<x) and (x<=(i+1)*A*(-1)):
|
||||
return i*(-1)
|
||||
return 0
|
||||
|
||||
|
||||
#md0
|
||||
|
||||
from md1 import func
|
||||
import random
|
||||
a = int(input("Введите значение А \n"))
|
||||
with open ('test1.txt','w') as f:
|
||||
ls = [random.triangular(-5, 25) for k in range(100)]
|
||||
f.write('xi | yi\n')
|
||||
f.write('A = {} \n'.format(a))
|
||||
for x in ls:
|
||||
f.write('{} | {}\n'.format(x, func(x, a)))
|
||||
```
|
||||
|
||||
## Результат
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Загрузка…
Ссылка в новой задаче