Студопедия

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

КАТЕГОРИИ:

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






Объяснение нового материала

Урок № 17

Тема. Оператор выбора select case. Практическая работа № 8 «Решение задач с использованием оператора select case».


Объяснение нового материала

Оператор выбора case состоит из выражения, называемого селектором (selection – выбор альтернативы) и списка операторов, каждому из которых предшествует список констант выбора (список может состоять из одной константы).

case < выражение -селектор> of

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

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

...

< список n>: < оператор n; >

[else < оператор> ]

end;

Здесь ветвь else заключается в квадратные скобки, что говорит о том, что эта часть оператора выбора не обязательна.

Алгоритм выполнения оператора выбора:

1. Вычисляется выражение, которое должно принимать значение, принадлежащее порядковому типу (например, оно не может быть вещественного типа).

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

3. Если значение выражения не совпадает ни с одной константой, то выполняется оператор, стоящий после else, если он есть, либо управление передается на оператор end и выполнение программы продолжается.

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

Правила использования оператора:

1. Тип константы должен совпадать с типом выражения

2. В этой конструкции перед else стоит точка с запятой.

3. Все константы в альтернативах должны быть уникальны в пределах оператора выбора (т.е. повторение констант в альтернативах не допускается).

Пример 1. По введенному номеру дня недели вывести на экран его название.

program primer7_1;

var day: byte;

begin

writeln('Введите номер дня недели: ');

readln(day);

case day of

1: writeln('Понедельник');

2: writeln('Вторник');

3: writeln('Среда');

4: writeln('Четверг');

5: writeln('Пятница');

6: writeln('Суббота');

else

writeln('Воскресенье');

end;

end.

Пример 2. В восточном календаре принят 60-летний цикл, состоящий из 12-летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный.

В каждом подцикле годы носят названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи.

По номеру года выведите его название, если 1984 год был началом цикла – годом зеленой крысы.

program case_a;

var k, ost_12, ost_10, god_n, god_k: integer;

color, animal: string;

begin

writeln('Введите номер года: ');

readln(god_k);

god_n: = 1984; // Начало цикла

k: = god_k - god_n+1; // Порядковый номер года в цикле

ost_12: = k mod 12;

ost_10: = k mod 10;

 

case ost_12 of

1: animal: ='крысы';

2: animal: ='коровы';

3: animal: ='тигра';

4: animal: ='зайца ';

5: animal: ='дракона';

6: animal: ='змеи';

7: animal: ='лошади';

8: animal: ='овцы';

9: animal: ='обезьяны ';

10: animal: ='курицы';

11: animal: = 'собаки';

0: animal: ='свиньи';

end;

 

case ost_10 of

1, 2: if (ost_12=3) or (ost_12=4) then color: ='зеленого' else color: ='зеленой';

3, 4: if (ost_12=3) or (ost_12=4) then color: ='красного' else color: ='красной';

5, 6: if (ost_12=3) or (ost_12=4) then color: ='желтого' else color: ='желтой';

7, 8: if (ost_12=3) or (ost_12=4) then color: ='белого' else color: ='белой ';

9, 0: if (ost_12=3) or (ost_12=4) then color: ='черного' else color: ='черной';

end;

writeln('Год ', color, ' ', animal);

end.

Пример 3. Составьте программу, которая по заданному году и номеру месяца определяет количество дней в этом месяце. (самостоятельно)

program case_b1;

var god, mes, k: integer;

begin

// Год является високосным в двух случаях: либо он кратен 4, но при этом не кратен 100, либо кратен 400.

writeln('Введите год и номер месяца: ');

readln(god, mes);

case mes of

1, 3, 5, 7, 8, 10, 12: k: =31;

4, 6, 9, 11: k: =30;

2: if ((god mod 4 =0) and (god mod 100 < > 0)) or (god mod 400 = 0) then k: =29 else k: =28;

else k: =0

end;

If k< > 0 then writeln('Кол-во дней в месяце: ', k) else writeln('Неверный номер месяца.');

end.

<== предыдущая лекция | следующая лекция ==>
ПЕРЕДМОВА. Дисципліна “Історія економіки та економічної думки” складається з двох модулів: 1)Еволюція господарств | Реферат. Тверское государственный технический университет кафедра истории и политологии
Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.009 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал