Карта сайта

sotau.cbg.ru

Turbo Pascal
Turbo Pascal
Оператор условного перехода Case .. of .. end (оператор выбора)

Оператор Case .. of .. end служит для реализации алгоритма ветвления не по 2-м направлениям, как в if .. then .. else .., а по нескольким.

Краткая форма записи:

         case <выражение> of   
          <знач 1> : <оператор1>;   
          <знач 2> : <оператор2>;   
           ...   
          <знач n> : <оператор n>;   
         end;
        

Находит значение выражения, записанного в <выражение>, если найденное значение присутствует в списке значений оператора Case .. of .. end, то выполняется соответствующий данному значению оператор, если же найденное значение НЕ присутствует в списке значений оператора Case .. of .. end, то программа переходит к выполнению следующей команды (оператора, стоящего непосредственно за оператором выбора).

Полная форма записи:

        case <выражение> of   
         <знач 1> : <оператор1>;   
         <знач 2> : <оператор2>;   
          ...   
         <знач n> : <оператор n> {перед "else" точка с запятой не ставится}   
        else   
         <оператор>;   
       end;
      

Находит значение выражения, записанного в <выражение>, если найденное значение присутствует в списке значений оператора Case .. of .. end, то выполняется соответствующий данному значению оператор, если же найденное значение НЕ присутствует в списке значений оператора Case .. of .. end, то программа переходит к выполнению оператора, записанного в <оператор> после "else".

<выражение> - выражение, значение которого сверяется со списком значений

<значение> может записываться разными способами:

единичное, например 'а' : <оператор>; или 1234 : <оператор>;

список, например 'a', 'A', 'я', 'Я' : <оператор>; или 3, 45, 127 : <оператор>;

интервал, границы которого разделяются "..", например 'a'..'я' : <оператор>; или 15..23 : <оператор>;

<оператор> - любой оператор (Writeln, Readln, оператор присваивания, If .. then .. else .., и другие) или несколько операторов, заключенных в операторные cкобки "begin ... еnd;".

Задача #1: С клавиатуры вводится номер месяца. Вывести на экран название месяца.

         program z1;   
          var mon : integer;   
         begin   
          writeln ('Введите номер месяца');   
          readln (mon);   
          case mon of   
           1 : writeln ('Январь');   
           2 : writeln ('Февраль');   
           3 : writeln ('Март');   
           4 : writeln ('Апрель');   
           5 : writeln ('Май');   
           6 : writeln ('Июнь');   
           7 : writeln ('Июль');   
           8 : writeln ('Август');   
           9 : writeln ('Сентябрь');   
           10 : writeln ('Октябрь');   
           11 : writeln ('Ноябрь');   
           12 : writeln ('Декабрь')   
          else   
           writeln ('Такого месяца не существует');   
          end;   
         readln;   
         end. 
        

    © 2009 - 2024 Acid Ulcer