Евгений Темиргалеев писал(а):
Когда идёт последовательный отбор всех предполагаемых вариантов IF ... ELSIF ... и ветка ELSE в них не входит, нужно вручную ставить стопор, типа HALT(100).
Код:
ASSERT((a IN {0..1}) & (b IN {0..1}), 20);
IF (a = 1) & (b = 1) THEN
...
ELSIF (a = 0) & (b = 1) THEN
...
ELSIF (a = 1) & (b = 0) THEN
...
ELSE (* прочие варианты не предполагаются по логике программы *)
HALT(100)
END
Я предпочитаю такой вариант, хотя не утверждаю, что он лучше в любых случаях.
Код:
ASSERT((a IN {0..1}) & (b IN {0..1}), 20);
IF (a = 1) & (b = 1) THEN
...
ELSIF (a = 0) & (b = 1) THEN
...
ELSE ASSERT((a = 1) & (b = 0));
...
END