Pascal - Оператор выбора CASE

Практическая работа №41

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

Цель работы:  Овладеть техникой  составления программ с элементами выбора действий в зависимости от выполняемых условий. 

 

Обеспечивающие средства: Сборник  описаний  практических работ по программированию на Turbo-Pascal; персональный компьютер.

 

Задание: Составить программы, используя оператор выбора CASE.

 

Требования к отчету:  Итоги практической работы представить в виде блок-схемы алгоритма и текста программы, привести значения исходных данных и значения полученных результатов, ответить на контрольные вопросы.

 

Технология работы:

 

  Оператор выбора используется в тех случаях, когда в зависимости от значения какого-либо выражения необходимо выполнить один или несколько возможных операторов программы.

 

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

case <выражение выбора > of

список констант 1: оператор 1;

список констант 2: оператор 2;

….

end;

Оператор выбора работает следующим образом. Вначале вычисляется значение выражения выбора, а затем в последовательности списка констант выбирается та константа, которая совпадает с вычисленным значением выражения, и выполняется соответствующий ей оператор. Затем управление передается за пределы оператора выбора. Если значение выражения не совпадает ни с одной константой, то управление сразу передается за пределы оператора выбора.

Значения выражения и констант должны быть одного и того же типа (кроме real), integer, boolean, char, ограниченный тип или тип «перечисление»

Пример:               case i+1 of

                   2: x:=0;

           100, 3: x:=x*x;

                   4: x:=sin(x)

                    end;

                    A:=A+1

Если значение i+1  есть 100 или 3, то выполняется оператор x:=x*x, а затем управление передается на оператор A:=A+1.

 

Выполните следующее упражнение:

Упражнение 1. Наберите текст программы с использованием изученного оператора.

 

Program Pr5pr1;                          {Название программы}

Var I: char;                                   {Объявление переменной I}

Begin                                              {Начало программы}

Read (I);                                        {Ввод и чтение значения переменной I}

Case I of                                        {Выбрать  путь решения по значению переменной I}

‘A’..’Z’, ‘a’..’z’: Writeln(‘ Введена буква’); {если переменная I совпадает с одной из   

                                                      букв  диапазона, то  напечатается фраза “Введена буква”}

‘0’..’9’: Writeln(‘ Введена цифра‘) {если переменная  I совпадает с одной из цифр 

диапазона, то напечатается  фраза “Введена цифра”}

else Writeln(‘ Введен символ, отличный от буквы и цифры‘)  {если символ не цифра и

не  буква то напечатается текст «Введен символ, отличный от буквы и цифры» }

end                                                 {Конец работы оператора выбора}

end.                                                {Конец программы}

Сохраните программу под именем TP5PR1. Выполните программу. Проанализируйте результат.

 

Создайте и выполните следующие программы самостоятельно.

 


  1. Создать программу, в которой при вводе значения среднего балла 5 напечатать фразу: «ОТЛИЧНИК», 4 - «ХОРОШИСТ», 3 -  «ТРОЕЧНИК», 2 - «ДВОЕЧНИК». Сохраните программу под именем TP5PR2.
  2. Создать программу, в которой при вводе буквы «N»печаталось бы слово «Нет», а при вводе буквы «Y» -печаталось слово «Да». Сохраните программу под именем TP5PR3.


 

 Окончание работы:


  1. Сохраните созданные программы.
  2. Покажите работу преподавателю.
  3. Завершите работу Turbo-Pascal.


 

Контрольные вопросы:

 


  1. Какова функция оператора выбора?
  2. В программах какого типа используется оператор выбора?
  3. Константы какого типа могут быть использованы в операторе выбора?
  4. Какое соответствие должно быть между выражением оператора выбора и его константами?