Повторение
Что такое алгоритм?
Какие типы алгоритмов вы знаете?
Что такое линейное программирование?
Как записывается оператор присваивания?
Каким образом осуществляется ввод и вывод информации?
Какие математические операции вы уже знаете?
Какой алгоритм называется разветвляющимся?
Приведите примеры.
Какие типы данных мы с вами изучили?
Какие операторы изучены?
1. Оператор case в Паскале используется в тех случаях, когда в зависимости от значения какой-либо переменной нужно выполнить те или иные действия (простые или составные операторы).
Оператор выбора
2. Если вариантов всего два, то можно обойтись и условным оператором IF, с которым мы уже знакомы. Но если их, к примеру, десять, то использовать конструкцию if then else в pascal становится совсем нецелесообразно. В этом случае оптимален оператор case варианта.
Задача 1.
Составить блок-схему и написать программу, которая по номеру дня недели (1,2,…,7) выведет название этого дня недели (понедельник, вторник,…, воскресенье) иначе вывести сообщение «В неделе только 7 дней!»
Оператор выбора
Var n : integer;
Begin
writeln(‘Введите число – номер дня недели: ’);
readln(n);
Сase n of
1: writeln(‘понедельник’);
2: writeln(‘вторник’);
3: writeln(‘среда’);
4: writeln(‘четверг’);
5: writeln(‘пятница’);
6: writeln(‘суббота’);
7: writeln(‘воскресенье’);
Else writeln(‘В неделе только 7 дней!’)
End;
End.
Задача 1.
Оператор выбора
Особенности:
если нужно выполнить только один оператор, слова begin и end можно не писать
нельзя ставить два одинаковых значения
case i+3 of
1: a := b;
1: a := c;
end;
case i+3 of
1: a := b;
2: a := c;
end;
Оператор выбора
Особенности:
значения, при которых выполняются одинаковые действия, можно группировать
case i of
1: a := b;
2,4,6: a := c;
10..15: a := d;
20,21,25..30: a := e;
else writeln('Ошибка');
end;
перечисление
диапазон
смесь
Оператор выбора
Найдите ошибки:
case a of
2: begin a := b;
4: a := c;
end;
case a of
2: a := b
4: a := c
end;
;
case a of
2..5: a := b;
4: a := c;
end;
case a of
0..2: a := b;
6..3: a := c;
end;
3..6:
case a+c/2 of
2: a := b;
4: a := c;
end;
case a of
2: a := b; d := 0;
4: a := c;
end;
begin
end;
Оператор выбора
Var
operation:Char;
x,y,z:real;
stop:Boolean;
begin
Writeln('Введите первое число');
readln(x);
Writeln('Введите число');
readln(y);
Writeln('Введите арифметическую операцию +, -, * или /');
readln(operation);
Case operation of
'+': z:=x+y;
'-': z:=x-y;
'*': z:=x*y;
'/': z:=x/y;
Else
Stop:=true;
End;
writeln('Z=',Z:5:2);
end.
Задача 2.
Требуется ввести два числа и затем выбрать арифметическую операцию (+,-,*,/). По выбору операции, программа должна произвести вычисления и вывести результат.
Оператор выбора
Program Number3;
Var a : integer;
Begin
writeln('Введите цифру '); readln(a);
if (a<0) or (a>9) then writeln ('Это число не является цифрой') else
case a of
0 : writeln ('ноль');
1 : writeln ('один');
2 : writeln ('два');
3 : writeln ('три');
4 : writeln ('четыре');
5 : writeln ('пять');
6 : writeln ('шесть');
7 : writeln ('семь');
8 : writeln ('восемь');
9 : writeln ('девять');
end;
readln;
End.
Задача 3.
Приведите введенное пользователем число от 0 до 9 к его словесному представлению.
Вывести символьное описание введенной цифры
Program Number2;Var a : integer; Begin writeln('Введите цифру '); readln(a); case a of 0 : writeln ('ноль'); 1 : writeln ('один'); 2 : writeln ('два'); 3 : writeln ('три'); 4 : writeln ('четыре'); 5 : writeln ('пять'); 6 : writeln ('шесть'); 7 : writeln ('семь'); 8 : writeln ('восемь'); 9 : writeln ('девять') else writeln ('Это число не является цифрой'); end; readln;End.
Оператор выбора
Оператор if
program chislo;var n : shortint;begin write(‘input number: '); readln(n); if n=0 then write(‘zero') else if n=1 then write(‘one') else if n=2 then write(‘two') else if n=3 then write(‘three') else if n=4 then write(‘four') else if n=5 then write(‘five') else if n=6 then write(‘six') else if n=7 then write(‘seven') else if n=8 then write(‘eight') else if n=9 then write(‘nine') else write('This is not a number');end.
Оператор case
program chislo;var n:shortint;Begin write(‘Input number: '); readln(n); case n of 0: write ('zero'); 1: write ('one'); 2: write (‘two'); 3: write (‘three'); 4: write (‘four'); 5: write (‘five'); 6: write (‘six'); 7: write (‘seven'); 8: write (‘eight'); 9: write (‘nine'); else write ('This is not a number'); end;end.
Сравните программы:
Оператор выбора
Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит так называемый ключ выбора (или селектор) - выражение любого типа (кроме типов REAL и STRING)
case выражение of значение1 : оператор (группа операторов); значение2 : оператор (группа операторов); . . . . . . . . . . . . . . . . . . . . значениеN : оператор (группа операторов) else оператор (группа операторов);end;
Перебор из возможных значений выражения
Перебор из возможных значений выражения
Оператор выбора
Если переменная не принимает ни одно из перечисленных значений, то работает ветка «else»;
В роли переменной может выступать только переменная порядкового типа (можно указывать диапазон);
Если в операторе должно быть несколько действий, то их заключают в операторные скобки;
Оператор выбора
Задача 1.
По введенному номеру месяца выведите на экран квартал к которому он относится. (Первый квартал – январь, февраль, март, второй квартал – апрель, май, июнь, третий квартал – июль, август, сентябрь, четвертый квартал – октябрь, ноябрь, декабрь)
Задача 2.
Определить ваши действия в зависимости от дня недели. Например, суббота - еду в баню, воскресенье - еду в гости и т. д. Программа запрашивает ввод дня недели и выводит на экран ваши действия в зависимости от составленного расписания.
Задача 3.
Определить вид функции в зависимости от значения аргумента: y=7 при х<-7, у=-х при -7=<х<0, у=х при 0<х<=5, у= 5 при х>5. Программа запрашивает ввод значения "х" и выводит на экран вид функции "у".
Задача 4.
Составьте программу, имитирующую своеобразный калькулятор, где
1 – сумма двух чисел,
2 – разность двух чисел,
3 – произведение двух чисел,
4 – целая часть от деления,
5 – остаток от деления,
6 – квадратный корень числа,
иначе введен неизвестный номер операции.
Самостоятельна работа
Оператор выбора
https://kopilkaurokov.ru/informatika/presentacii/opierator-mnozhiestviennogho-vybora-case
https://en.ppt-online.org/167286
https://infourok.ru/operator-mnozhestvennogo-vibora-case-669907.html
© ООО «Знанио»
С вами с 2009 года.