Сообщение от Роботёр
|
ну а почему ты не хочешь через "или" сделать
if ((i%4==4) or (i%4==8) or (i%4==12)) then; и так далее
funcion()
endif
|
погоди.
Я нисколько не ставлю под сомнение твою компетентность, но ты напутал с делением на остаток.
I%4==4 физически не получится. например. 8%4=2(в остатке 0), то есть что бы в остатке осталось 4, это надо 12 делить на 4, а это уже целое 3, 7%4=1( в остатке 3). именно это мне и нужно. что бы когда при делении на 4 в остатке был 0, в этот момент и надо отправлять на чистку.
может ты имел ввиду это
if ((i/4==4) or (i/4==8) or (i/4==12)) then; и так далее
Я думал над этим вариантом. но это костыль. есть трубы примерно 50 мм, там хватает чистки через каждые 4 отверстия. а есть и 85. там в идеале каждые 3 чистить. а их там порядка 65 в 5 рядах. это рехнёшся всё прописывать.
Я и хотел сделать по уму, чтоб в начале программы изменить количество отверстий и всё. в текущей проге, которая кривая, из за которой он и стоял 2 года, там все через ифы сделано. Я уже думал над вариантом, Я буду в одном ифе через ИЛИ делать.
но хотелось бы понять, есть ли тут деление через остаток.
например в С++ это схематично выглядит так
3%4==0 не тру(равно 0 в остатке 3)
4%4==0 тру (равно 1, в остатке 0)
5%4==0 не тру (равно 1, в остатке 1)
11%4==0 не тру (равно 2, в остатке 3)
и тд.
то есть этот ==0 и есть сравнение с остатком. если он ноль, то число кратное 4( ну или на что делим)