14
Тема урока: Оператор выбора CASE Подготовила: Даскал Ольга

Case

Embed Size (px)

Citation preview

Page 1: Case

Тема урока: Оператор выбора CASE

Подготовила: Даскал Ольга

Page 2: Case

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

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

Page 3: Case

Общий вид оператора:

Case N ofК1:S1;К2:S2>;.............Кn:Sn;[ELSE оператор ]end;

Где N переключатель; выражение любого типа кроме real; K1…Kn – метки, константы того же типа что и

переключатель; S1…Sn – операторы; case (выбор), of (из), end (конец): ключевые слова.

KnиначеK1 N

Sn SS1

Page 4: Case

Замечания:

Метки оператора Case не имеют ни чего общего с метками операторов, поэтому они не описываются в разделе Label.

Недопустимо чтобы одна и та же метка появлялась более одного раза в одной конструкции Case.

Page 5: Case

Задача №1

Приведите введенное пользователем число от 0 до 9 к его словесному представлению.

Page 6: Case

Программа к задаче №1: Сначала рассмотрим данную задачу с использованием

оператора if:

program chislo;var n : shortint; {-128..127}begin     write('Введи число: ');     readln(n);     if n=0 then write('Нуль')       else if n=1 then write('Один')       else if n=2 then write('Два')         else if n=3 then write('Три')           else if n=4 then write('Четыре')             else if n=5 then write('Пять')               else if n=6 then write('Шесть')                 else if n=7 then write('Семь')                   else if n=8 then write('Восемь')                     else if n=9 then write('Девять')                       else write('Это не цифра');end;

Page 7: Case

Теперь с помощью оператора case:

program chislo;var n : shortint;begin     write('Введи число: ');     readln(n);     case n of       0: write('Нуль');       1: write('Один');       2: write('Два');       3: write('Три');       4: write('Четыре');       5: write('Пять');       6: write('Шесть');       7: write('Семь');       8: write('Восемь');       9: write('Девять');       else write('Это не цифра');     end;end;

Page 8: Case

Задача №2

Написать программу, которая запрашивает у пользователя

номер месяца и выводит соответствующее название

времени года. Предусмотреть ошибку ввода.

Page 9: Case

Программа к задаче №2:

program nomermesaca;var x:byte;begin       writeln(‘ введите номер месяца ‘); readln(x); Case x of           1,2,12:writeln (‘зима’);           3,4,5:writeln (‘весна’);           6,7,8:writeln (‘лето’);           9,10,11:writeln (‘осень’)       else             writeln (‘ошибка’);       end;end.

Page 10: Case

Задача №3

Составить программу, имитирующую работу

своеобразного калькулятора.

Page 11: Case

Программа к задаче №3: program Calc;

var a, b, c: integer;       begin       writeln(‘Введите a’); Read(a);       writeln(‘Введите b’); Read(b);       writeln(‘Введите c‘); Read(c);       case c of           1: writeln(‘Сумма=‘, a+b);           2: writeln(‘Разность=‘, a-b);           3: writeln(‘Произведение=‘, a*b);           4: writeln(‘Целая часть от деления=‘, a div b);           5: writeln(‘Остаток от деления=‘, a mod b);           else writeln(‘Введен неизвестный номер операции’);       end;

end.

Page 12: Case

Проверка знаний

Какой тип может иметь переменная, выступающая в роли параметра в операторе выбора CASE ?

Может ли отсутствовать ELSE в операторе выбора?

Как “работает” оператор выбора?

Page 13: Case

Домашняя работа:Составить программу по следующему условию.

В некотором учебном заведении действуют следующие правила приема. Абитуриенты сдают три экзамена. Если они набирают не менее 13 баллов, то это дает право поступить на дневное отделение, от 10 до 12 — вечернее, от 8 до 9 — заочное и ниже 8 баллов — отказ в приеме на учебу. Записать программу, которая в зависимости от суммы набранных баллов сообщает абитуриенту его права на поступление.

Page 14: Case

Спасибо за внимание!