Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






Этот оператор предназначен для замены конструкций из вложенных if.

Структура:

case N of

N1: P1;

N2: P2;

NN: PN;

[else P; ]

end;

[else P; ] - необязательная часть оператора.

Где N - целочисленная переменная, или выражение целого типа;

N1, N2, … NN - возможные значения переменной N;

P, P1, P2, … PN - простые или составные операторы.

По этому оператору:

если значение N = N1, то выполняется P1 (после чего управление передается оператору, следующему за оператором case...of);

если значение N = N2, то выполняется P2, (после чего управление передается оператору, следующему за оператором case...of);

если N не принимает ни одного из перечисленных значений, управление передается оператору P;

если структура else отсутствует и N - не принимает ни одного из перечисленных значений, управление передается следующему за case...of оператору.

Например:

case N of

1, 2, 5: writeln (’a’);

7.. 10: writeln (’b’);

end;

1, 2, 5 - перечисляемые значения разделяются запятой.

7.. 10 - интервал задается начальными и конечными значениями через две точки.

 

2.3.4. Примеры типовых задач по теме «Типовые вычислительные процессы. Ветвления»

1. Найти максимальное число среди трех неравных между собой вещественных чисел.

Программа Пояснения
program prim_max1; var a, b, c: real; begin writeln (’введите a, b, c’); readln (a, b, c); if a> b then if a> c then writeln (’max - a’) else writeln (’max - c’) else if b< c then writeln (’max - b’) else writeln (’max - c’); readln; end. Имя программы – prim_max1 {Описательная часть}   {Исполнительная часть} Вывод сообщения на экран Ввод данных с клавиатуры Поиск максимального из 3-х чисел,  

 

 

2. Второй способ решения этой задачи:

Программа Пояснения
program prim_max2; var a, b, c: real; begin writeln (’введите a, b, c’); readln (a, b, c); if (a> b) and (a> c) then writeln (’max-a’); if (b> a) and (b> c) then writeln (’max-b’); if (c> a) and (c> b) then writeln (’max-c’); readln; end. Имя программы – prim_max2 {Описательная часть}   {Исполнительная часть} Вывод сообщения на экран Ввод данных с клавиатуры Поиск максимального из 3-х чисел,  

 

3. Вычислить значение функции:

y=

Значение аргумента х в градусах ввести с клавиатуры.

Программа Пояснения
Program prim_3; Uses crt; var x, y: real; begin clrscr; writeln (’Введите x’); readln (x); if x> 90 then writeln(’Функция не определена’) else begin if x< 0 then y: = 0 else y: = sin (x*pi/180); writeln (’y = ’, y: 8: 3); end; readln; end. Имя программы – prim_3   {Описательная часть}   {Исполнительная часть} Очистка экрана Вывод сообщения на экран Ввод данных с клавиатуры Выбор варианта решения,     Вывод результата

 

Вопросы для самоконтроля

1. Какие алгоритмические конструкции называются ветвлениями?

2. Для чего используют оператор goto?

3. Почему при использовании нескольких условий в одном операторе if … then … else, каждое условие заключается в круглые скобки?

4. Перечислите основные логические операции.

5. Перечислите основные операции отношения.

6. В каких случаях прибегают к использованию оператора case … of?

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.