Начальные данные движения точки на плоскости задаются в виде координат i0, j0 и динамического параметра l0. Движение точки задается в виде уравнений изменения координат точки и динамического параметра. Результатом работы программы должно быть сообщение об итоге движения: попадает ли точка в данную вариантом область при движении или не попадает. Формат выходного сообщения: через знак табуляции (\t) выводятся следующие параметры:-Python(Питон)

попадание точки в указанную замкнутую область не более чем за 50 шагов (вывести y или n);
время окончания движения (номер шага, на котором движение было прекращено);
значение координат i, j, а также значение динамического параметра l на момент окончания движения.
Обязательно должно присутствовать разбиение на функции.

-------------------------------------------------------------------------------------------------------
Квадрат с длиной стороны 10, стороны квадрата параллельны осям координат, центр квадрата в точке (10, −10).
i0 = 10, j0 = 20, l0 = −1,

ik+1 = (|max(ik(k + 5), jk(k + 6))| − |min(jk(k + 7), lk(k + 8))|) mod 20,

jk+1 = (3 − sign(ik − jk)) ⋅ |min(iklk + 5, jklk − 3, ikjk + 6)| mod 25 − 7,

lk+1 = ik mod 10 + jk mod 10 + lk mod 10.

def minz (a,b):
    if a > b :
        return b
    else:
        return a
    
def maxz (a,b):
    if a > b:
        return a
    else:
        return b
    
def absz (a):
    if a > 0:
        return a
    else: 
        return a * -1
 
def sign (a):
    if a >0:
        return 1
    elif a <0:
        return -1
    else:
        return 0
 
b=0
i=0
j=0
l=0
ik= 24
jk=-14
lk= 9
 
for a in range (1,51):
    i = ( ik+a) * (jk -a) * (lk+a) % 25
    j=minz (ik + a, maxz (jk-a, lk-a)) % 30
    l=absz (jk-lk) * sign (ik - absz(ik - lk)) * sign (jk)
    ik=i
    jk=j
    lk=l
#if (i> 5) and (i<15) and (j< -5) and (j> -15):
print('j = ',a,i,j,ik)
b==1

Leave a Comment