Алгоритмы ветвления.Оператор множественного выбора CASE
9 класс
Автор: Александрова З.В., учитель физики и информатики
МБОУ СОШ №5 пгт Печенга, Мурманская область
Повторение
Что такое алгоритм?
Какие типы алгоритмов вы знаете?
Что такое линейное программирование?
Как записывается оператор присваивания?
Каким образом осуществляется ввод и вывод информации?
Какие математические операции вы уже знаете?
Какой алгоритм называется разветвляющимся?
Приведите примеры.
Какие типы данных мы с вами изучили?
Какие операторы изучены?
1. Оператор case в Паскале используется в тех случаях, когда в зависимости от значения какой-либо переменной нужно выполнить те или иные действия (простые или составные операторы).
Оператор выбора
2. Если вариантов всего два, то можно обойтись и условным оператором IF, с которым мы уже знакомы. Но если их, к примеру, десять, то использовать конструкцию if then else в pascal становится совсем нецелесообразно. В этом случае оптимален оператор case варианта.
Case <переменная порядкового типа> of
<список констант 1>:<оператор 1>;
< список констант 2>:<оператор 2>;
…
< список констант N>:<оператор N>;
Else <оператор>
End;
Оператор выбора
Задача 1.
Оператор выбора
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.
Оператор выбора
Особенности:
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.
Самостоятельна работа
Оператор выбора
Вводится число от 1 до 10. Вывести данное число, записанное римскими цифрами (I, II, III, IV, V, VI, …., X).
Задача 5.
Оператор выбора
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.