import math

znach=input('k1,T,k2,Xm,A,F,N=').split(',')
k1 = float(znach[0])
T = float(znach[1])
k2 = float(znach[2])
Xm = float(znach[3])
A = float(znach[4])
F = float(znach[5])
N = int(znach[6])

vhod=[]
for i in range(N):
	vhod.append(A*math.sin((2*i*math.pi)/F))
        
def realdvig(xtt,kk1,TT,yti1,ytin1):
		#Модель реального двигателя
		yp=kk1*xtt  #усилитель
		yti1=yp+yti1  #Интегратор
		ytin1=(yti1+TT*ytin1)/(TT+1)
		return [yti1,ytin1]

def tahogen(xtt,kk2,yti2):
		#Модель тахогенератора
		yp=kk2*xtt   #усилитель
		yti2=yp+yti2 #интегратор
		return yti2

def nechus(xtt,gran):
#зона нечувствит
    if xtt<gran and xtt>(-gran):
        ytt=0
    elif xtt>=gran:
        ytt=xtt-gran
    elif xtt<=(-gran):
        ytt=xtt+gran
    return ytt


yi1=0;yin1=0;yi2=0
vyhod=[]
for xt in vhod:
		xt1=xt-yi2   #отрицательная обратная связь
		[yi1,yin1]=realdvig(xt1,k1,T,yi1,yin1)
		yi2=tahogen(yin1,k2,yi2)
		yt=nechus(yin1,Xm)
		vyhod.append(yt)

print('y=',vyhod)
