SlideShare a Scribd company logo
Тема урока:
Оператор выбора 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 баллов — отказ
в приеме на учебу. Записать программу,
которая в зависимости от суммы набранных
баллов сообщает абитуриенту его права на
поступление.
Спасибо за внимание!

More Related Content

What's hot (15)

Ispolzovanie lineynykh algoritmov_dlya_reshenia_z
Ispolzovanie lineynykh algoritmov_dlya_reshenia_zIspolzovanie lineynykh algoritmov_dlya_reshenia_z
Ispolzovanie lineynykh algoritmov_dlya_reshenia_z
 
Loop
LoopLoop
Loop
 
Loop
LoopLoop
Loop
 
8 3-5
8 3-58 3-5
8 3-5
 
Ispolzovanie lineynykh algoritmov_dlya_reshenia
Ispolzovanie lineynykh algoritmov_dlya_resheniaIspolzovanie lineynykh algoritmov_dlya_reshenia
Ispolzovanie lineynykh algoritmov_dlya_reshenia
 
Matlab: Вычисление предела
Matlab: Вычисление пределаMatlab: Вычисление предела
Matlab: Вычисление предела
 
основные команды языка программирования
основные команды языка программированияосновные команды языка программирования
основные команды языка программирования
 
ПРОЦЕДУРЫ
ПРОЦЕДУРЫ ПРОЦЕДУРЫ
ПРОЦЕДУРЫ
 
использование линейных алгоритмов для решения задач
использование линейных алгоритмов для решения задачиспользование линейных алгоритмов для решения задач
использование линейных алгоритмов для решения задач
 
4 4 pascal_urok_1
4 4 pascal_urok_14 4 pascal_urok_1
4 4 pascal_urok_1
 
8 3-3
8 3-38 3-3
8 3-3
 
22 pascal urok_6
22 pascal urok_622 pascal urok_6
22 pascal urok_6
 
лекция 2
лекция 2лекция 2
лекция 2
 
8 3-4
8 3-48 3-4
8 3-4
 
8 оператор цикла с параметром
8 оператор цикла с параметром8 оператор цикла с параметром
8 оператор цикла с параметром
 

Similar to Case

алг и прогр (11кл)
алг и прогр (11кл)алг и прогр (11кл)
алг и прогр (11кл)
isva69
 
алг и прогр (11кл)
алг и прогр (11кл)алг и прогр (11кл)
алг и прогр (11кл)
isva69
 
Презентация. Основы Pascal
Презентация. Основы PascalПрезентация. Основы Pascal
Презентация. Основы Pascal
Evgen67
 
Ispolzovanie lineynykh algoritmov_dlya_reshenia_z
Ispolzovanie lineynykh algoritmov_dlya_reshenia_zIspolzovanie lineynykh algoritmov_dlya_reshenia_z
Ispolzovanie lineynykh algoritmov_dlya_reshenia_z
Khristina Doroshko
 
Cреда программирования
Cреда программированияCреда программирования
Cреда программирования
irina8682
 
Prezentatsia
Prezentatsia Prezentatsia
Prezentatsia
weidar
 
Условный оператор
Условный операторУсловный оператор
Условный оператор
OlgaDask
 

Similar to Case (20)

Программирование циклических алгоритмов
Программирование циклических алгоритмовПрограммирование циклических алгоритмов
Программирование циклических алгоритмов
 
паскаль
паскальпаскаль
паскаль
 
алг и прогр (11кл)
алг и прогр (11кл)алг и прогр (11кл)
алг и прогр (11кл)
 
алг и прогр (11кл)
алг и прогр (11кл)алг и прогр (11кл)
алг и прогр (11кл)
 
Язык программирования Pascal
Язык программирования PascalЯзык программирования Pascal
Язык программирования Pascal
 
язык програмирования
язык програмированияязык програмирования
язык програмирования
 
Презентация. Основы Pascal
Презентация. Основы PascalПрезентация. Основы Pascal
Презентация. Основы Pascal
 
Ispolzovanie lineynykh algoritmov_dlya_reshenia_z
Ispolzovanie lineynykh algoritmov_dlya_reshenia_zIspolzovanie lineynykh algoritmov_dlya_reshenia_z
Ispolzovanie lineynykh algoritmov_dlya_reshenia_z
 
Cреда программирования
Cреда программированияCреда программирования
Cреда программирования
 
лр6
лр6лр6
лр6
 
лр3
лр3лр3
лр3
 
Запись алгоритмов на языках программирования
Запись алгоритмов на языках программированияЗапись алгоритмов на языках программирования
Запись алгоритмов на языках программирования
 
Сравнение статического анализа общего назначения из Visual Studio 2010 и PVS-...
Сравнение статического анализа общего назначения из Visual Studio 2010 и PVS-...Сравнение статического анализа общего назначения из Visual Studio 2010 и PVS-...
Сравнение статического анализа общего назначения из Visual Studio 2010 и PVS-...
 
Юрий Ефимочев, Компилируемые в реальном времени DSL для С++
Юрий Ефимочев, Компилируемые в реальном времени DSL для С++ Юрий Ефимочев, Компилируемые в реальном времени DSL для С++
Юрий Ефимочев, Компилируемые в реальном времени DSL для С++
 
Prezentatsia
Prezentatsia Prezentatsia
Prezentatsia
 
106170
106170106170
106170
 
106170
106170106170
106170
 
Условный оператор
Условный операторУсловный оператор
Условный оператор
 
Lektsia 9
Lektsia 9Lektsia 9
Lektsia 9
 
Pril
PrilPril
Pril
 

More from OlgaDask

Типы данных
Типы данныхТипы данных
Типы данных
OlgaDask
 
Операторы в Turbo Pascal
Операторы в Turbo PascalОператоры в Turbo Pascal
Операторы в Turbo Pascal
OlgaDask
 
Язык программирования Паскаль
Язык программирования ПаскальЯзык программирования Паскаль
Язык программирования Паскаль
OlgaDask
 

More from OlgaDask (10)

ifIf
ifIfifIf
ifIf
 
forFor
forForforFor
forFor
 
Cоставной
CоставнойCоставной
Cоставной
 
While1
While1While1
While1
 
Repeat
RepeatRepeat
Repeat
 
Goto
GotoGoto
Goto
 
Типы данных
Типы данныхТипы данных
Типы данных
 
Операторы в Turbo Pascal
Операторы в Turbo PascalОператоры в Turbo Pascal
Операторы в Turbo Pascal
 
Язык программирования Паскаль
Язык программирования ПаскальЯзык программирования Паскаль
Язык программирования Паскаль
 
while
whilewhile
while
 

Case

  • 1. Тема урока: Оператор выбора CASE Подготовила: Даскал Ольга
  • 2. Оператор выбора CASE: Предназначен для реализации в программе разветвляющегося вычислительного процесса, который позволяет выбрать один из нескольких альтернативных путей решения задачи в зависимости от проверки нескольких условий.
  • 3. Общий вид оператора: 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
  • 4. Замечания: Метки оператора Case не имеют ни чего общего с метками операторов, поэтому они не описываются в разделе Label. Недопустимо чтобы одна и та же метка появлялась более одного раза в одной конструкции Case.
  • 5. Задача №1 Приведите введенное пользователем число от 0 до 9 к его словесному представлению.
  • 6. Программа к задаче №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;
  • 7.  Теперь с помощью оператора 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;
  • 8. Задача №2 Написать программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года. Предусмотреть ошибку ввода.
  • 9. Программа к задаче №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.
  • 10. Задача №3 Составить программу, имитирующую работу своеобразного калькулятора.
  • 11. Программа к задаче №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.
  • 12. Проверка знаний  Какой тип может иметь переменная, выступающая в роли параметра в операторе выбора CASE ?  Может ли отсутствовать ELSE в операторе выбора?  Как “работает” оператор выбора?
  • 13. Домашняя работа: Составить программу по следующему условию.  В некотором учебном заведении действуют следующие правила приема. Абитуриенты сдают три экзамена. Если они набирают не менее 13 баллов, то это дает право поступить на дневное отделение, от 10 до 12 — вечернее, от 8 до 9 — заочное и ниже 8 баллов — отказ в приеме на учебу. Записать программу, которая в зависимости от суммы набранных баллов сообщает абитуриенту его права на поступление.