TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

Оператор выбора

Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит ключ выбора -выражение любого порядкового типа (любого из рассмотренных, кроме типов REAL и STRING, см. гл. 4).

Структура оператора выбора такова:

CASE <ключ_выбора> OF <список_выбора> [ELSE <операторы>] END

Здесь CASE, OF, ELSE, END - зарезервированные слова (случай, из, иначе, конец);

 <ключ_выбора> - ключ выбора; 

<список_выбора> - одна или более конструкций вида:

 <константа_выбора> : <оператор>;

 <константа_выбора> - константа того же типа, что и выражение<ключ_выбopa> ;

 <операторы> - произвольные операторы Турбо Паскаля.

Оператор выбора работает следующим образом. Вначале вычисляется значение выражения <ключ_выбора>, а затем в последовательности операторов <список_выбора> отыскивается такой, которому предшествует константа, равная вычисленному значению. Найденный оператор выполняется, после чего оператор выбора завершает свою работу. Если в списке выбора не будет найдена константа, соответствующая вычисленному значению ключа выбора, управление передается операторам, стоящим за словом ELSE. Часть ELSE <оператор> можно опускать. Тогда при отсутствии в списке выбора нужной константы ничего не произойдет и оператор выбора просто завершит свою работу.

Составим программу (пример 2.8), имитирующую работу микрокалькулятора. Программа вводит две строки: первая содержит два произвольных числа, разделенных пробелом, вторая - символ арифметического действия, например:

2 2

 *

или

18.35 0.12

     /

Над введенными числами осуществляется соответствующее действие и результат выводится на экран. Признаком конца работы программы служит ввод любого символа, отличного от +,-,*, /.

Пример 2.8

Program Calc;

{Программа вводит два числа в первой строке и один из знаков +, -, *, / - во второй и выводит на экран результат соответствующего арифметического действия} 

var

operation : Char; {Знак операции}

х, у, z : Real; {Операнды и результат}

stop : Boolean; {Признак ошибочной операции и останова}

begin

stop := false;

repeat 

WriteLn; {Пустая строка-разделитель}

Write('x,y= ' ) ;

ReadLn(x,y); 

Write('операция: ') ;

ReadLn(operation); 

case operation of

' + ' :

z : =

x + y;

' - ' :

z : =

x - y;

' * ' :

z : =

x * y;

' / ' :

z : =

x / y;

else

   

stop

:= true;

end;

   

if not

stop

then

WriteLn('результат=',z)

until stop 

end.

Любому из операторов списка выбора может предшествовать не одна, а несколько констант выбора, разделенных запятыми. Например, следующая программа при вводе одного из символов: у или Y выведет на экран слово «Да», а при вводе n или N - слово «Нет»:

var

ch : Char ;

begin

ReadLn (ch) ;

case ch of

'n','N' : WriteLn ('Нет' );

'y','Y' : WriteLn ('Да')

end

end.

 

 

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz