OberonCore https://forum.oberoncore.ru/ |
|
HALT-стопор при отсутствующем ELSE https://forum.oberoncore.ru/viewtopic.php?f=82&t=3484 |
Страница 2 из 2 |
Автор: | Comdiv [ Четверг, 08 Март, 2018 20:33 ] |
Заголовок сообщения: | Re: HALT-стопор при отсутствующем ELSE |
Евгений Темиргалеев писал(а): Когда идёт последовательный отбор всех предполагаемых вариантов 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 |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |