Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1.7 KiB

Тест по Теме 8

Володин Денис, А-02-23

Задание (Вариант 7)

Разработайте функцию с 2 параметрами: х и А, реализующую преобразование входного сигнала x по формуле: y=i, если i*A<=x<(i+1)A, y=-i, если -(i+1)A>=x>-iA, где i принимает значения от 1 до Ах. Если не выполнится ни одно из неравенств ни при каком i, то y=0. Создайте список со 100 значениями входного сигнала х – случайными, треугольно (triangular) распределенными числами в диапазоне значений от -5 до 25. Для элементов списка с помощью функции рассчитайте список со значениями выходного сигнала y при А=1. Записать результаты в текстовый файл в виде двух столбцов: хi, yi.

Разбить на модули

Решение


#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)))

Результат