Читайте также:
|
|
Структура оператора выбора такова:
Case <переменная> Of
<список значений 1>: <оператор1>;<список значений 2>: <оператор2>;
…<список значений N>: <оператор N> ELSE <оператор> end;
По своим свойствам оператор выбора весьма схож с условным оператором. Он также может быть вложенным, также перед служебным словом ELSE точка с запятой не ставиться и также служебное слово ELSE не обязательно.
Работает этот оператор следующим образом: Читается значение переменной, а затем один за другим проверяется список значений. Как только находится список значение, включающий переменную выполняется оператор, стоящий за данным списком после двоеточия, на этом оператор выбора заканчивает свою работу. Если ни в одном списке значение переменной не найдено, то выполняется оператор, следующий за служебным словом ELSE, если таковое присутствует, если же его нет, то весь оператор выбора просто пропускается.
Список значений может представлять собой простое перечисление значений через запятую, или диапазон. Напомним, что диапазон записывается следующим образом:
<первое значение>..<последнее значение>. Ниже приведена функция, использующая оператор выбора при вычислении длины целого. Список значений указан в виде диапазонов.
Function Digit_Length(x: LongInt): LongInt;
Begin Case x Of
0..9: Digit_Length:= 1;
10..99: Digit_Length:= 2;
100..999: Digit_Length:= 3;
1000..9999: Digit_Length:= 4;
10000..99999: Digit_Length:= 5;
ELSE Digit_Length:=0; end; {Case} End;
И еще один пример, где список выбора представляет собой простое перечисление:
Case chVar Of
‘N’, ‘n’, ‘т’, ‘Т’: Answer:= ‘No’;
‘Y’, ’y’, ‘н’, ‘Н’: Answer:= ‘Yes’;
ELSE Answer:= ‘Wrong key’; end; {Case}
Оператор выбора Case более выгоден в смысле скорости выполнения программы, чем большое количество последовательно следующих друг за другом операторов IF. Максимальная скорость будет достигаться в том случае, если наиболее вероятные варианты будут располагаться в самом начале, так как проверяются все списки, начиная с первого только до того момента, пока не будет найдено совпадение.
Дата добавления: 2015-01-30; просмотров: 25 | Поможем написать вашу работу | Нарушение авторских прав |