Upload
olgadask
View
18
Download
0
Embed Size (px)
Citation preview
Тема урока: Оператор выбора CASE
Подготовила: Даскал Ольга
Оператор выбора 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
Замечания:
Метки оператора Case не имеют ни чего общего с метками операторов, поэтому они не описываются в разделе Label.
Недопустимо чтобы одна и та же метка появлялась более одного раза в одной конструкции Case.
Задача №1
Приведите введенное пользователем число от 0 до 9 к его словесному представлению.
Программа к задаче №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;
Теперь с помощью оператора 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;
Задача №2
Написать программу, которая запрашивает у пользователя
номер месяца и выводит соответствующее название
времени года. Предусмотреть ошибку ввода.
Программа к задаче №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.
Задача №3
Составить программу, имитирующую работу
своеобразного калькулятора.
Программа к задаче №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.
Проверка знаний
Какой тип может иметь переменная, выступающая в роли параметра в операторе выбора CASE ?
Может ли отсутствовать ELSE в операторе выбора?
Как “работает” оператор выбора?
Домашняя работа:Составить программу по следующему условию.
В некотором учебном заведении действуют следующие правила приема. Абитуриенты сдают три экзамена. Если они набирают не менее 13 баллов, то это дает право поступить на дневное отделение, от 10 до 12 — вечернее, от 8 до 9 — заочное и ниже 8 баллов — отказ в приеме на учебу. Записать программу, которая в зависимости от суммы набранных баллов сообщает абитуриенту его права на поступление.
Спасибо за внимание!