Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УЧЕБНИК-Pascal.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
499.71 Кб
Скачать

Оператор case

Вторым оператором выбора в языке Паскаль является оператор выбора Case. Оператор выбора Case является обобщением оператора if , он дает возможность выполнять один из нескольких действий в зависимости от значения ключа. Основной формат является следующим:

Case <Имя ключа> of

<Первое значение ключа> : <Действие 1>;

<Второе значение ключа > : < Действие 2>;

< Третье значение ключа > : < Действие 3>;

. . . .

< N-ое значение ключа > : < Действие N>

else < Действие >

end;

Перепишем программу с использованием оператора case, изменения будут затрагивать только процедуру Work:

procedure Work;

begin

case znak of

'+': resultat:=chislo1 + chislo2;

'-': resultat:=chislo1 - chislo2;

'*': resultat:=chislo1 * chislo2;

'/': resultat:=chislo1 / chislo2;

'd': resultat:=chislo1 div chislo2;

'm': resultat:=chislo1 mod chislo2

else resultat:=0;

end;

end;

Проведите трассировку программы, сравните процесс работы с предыдущими программами. Заметьте, что если вы введете знак действия отличный от +,-,/,*,d,m, то программа выдаст результат равный нулю. Сохраните эту программу под именем Primer_6.pas.

2.5.2. Основные отличия применения операторов выбора. Перечисляемый тип. Интервальный тип.

Казалось бы, применение оператора выбора Case более предпочтительно, однако его применение ограничивается только значениями имеющими порядковый тип.

Порядковыми называются такие типы данных, значения которых, можно расположить в возрастающем порядке. К этому классу можно отнести такие типы как ЦЕЛЫЕ, СИМВОЛЬНЫЕ и ЛОГИЧЕСКИЕ, а также ещё два типа - перечисляемые и интервальные типы данных.

Перечисляемый тип данных. В процессе работы язык позволяет работать не только с простыми типами данных, но и создавать пользователю собственные типы данных. Одним из таких типов является перечисляемый тип. Для задания данного типа в блоке описания нужно написать служебное слово Type, затем написать имя (идентификатор) который мы даем этому типу и под которым будем к нему обращаться. В скобках, через запятую, описываются все допустимые значения, которые могут принимать переменные этого типа.

Type

Day = (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);

Var

x : Day;

Значения, задаваемые в скобках являются именами. Их можно присваивать, сравнивать. Из двух значений большим является то, которое в описании типа стоит правее.

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

Type

Day = 1..31;

Month = 1..12;

Таким образом, если переменные имеют вещественный тип, то придется использовать оператор выбора if … then.

Задание

1. Напишите программу, используя оператор выбора if … then , которая считывает данные с клавиатуры о температуре и выводит на экран сообщение согласно данным в приведенной ниже таблице:

Температура

Сообщение

<-20oC

Очень холодно

-20 oC<= t<0 oC

Холодно

0 oC<= t<10 oC

Прохладно

10 oC<= t<20 oC

Тепло

20 oC<= t

Жарко

2. Используя, оператор выбора case , перепишите предыдущую программу. Проверьте, что произойдет, если в качестве типа переменной температура взять вещественный тип?