else ;
end if;
Условие - это выражение типа boolean. Условия последовательно вычисляются до тех пор, пока какое-либо из них не примет значение true, тогда выполняется соответствующая последовательность операторов. Если ни одно из условий не выполнилось, выполняется последовательность операторов после ключевого слова else, если оно присутствует в операторе. Фразы elsif и else являются необязательными. Следует проявлять аккуратность при записи вложенных друг в друга условных операторов. Оператор варианта. Этот оператор является обобщением условного оператора из предыдущего раздела для случая произвольного числа альтернатив. Другими словами, различным значениям некоторого выражения однозначно ставятся в соответствие определенные последовательности операторов. Формат оператора варианта:
оператор_варианта ::=
сase is
when < альтернатива 1> => ;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
when < альтернатива N> => ;
when others =>;
end case;
Выражение в этом операторе должно возвращать дискретный тип или одномерный массив символов. Выбирается та альтернатива, значение которой совпадает с вычисленным значением выражения, и выполняется соответствующая последовательность операторов. Все варианты альтернатив должны быть отличными. Если ни одна из альтернатив не выбралась, выполняется последовательность операторов, стоящая после others. Others обязательно должно присутствовать, если оператор CASE предусматривает не все возможные значения выражения. Если результатом выражения является массив, то альтернативами могут быть строки или битовые строки. Приведем два примера оператора CASE, в первом из которых в качестве управляющего выражения используется целое, а во втором - битовый вектор.
type index is range 0 to 6;
variable N : index; variable X : bit_vector (0 to 1);
Case N is when 0 => Z:=0; when 1 => Z:=1; when 2 => Z:=not Z; when others => Z:=Z; end case; |
Case X(0 to 1) is when "00" => Z:=0; when "01" => Z:=1; when "10" => Z:=not Z; when "11" => Z:=Z; end case; |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.