Реферат Курсовая Конспект
CASEвыражение OF - Лекция, раздел Философия, Общая схема решения задачи на персональном компьютере Список Значений :Оператор/Блок ...
|
список значений :оператор/блок
..................................
список значений :оператор/блок
[;ELSEоператор/блок]
END;
Здесь выражение - это любое выражение порядкового типа, список значений - это список разделенных запятыми константных выражений или диапазонов, диапазон - это конструкция вида константное выражение ..константное выражение. Константным будем называть любое выражение, в которое входят только неименованные и нетипизированные константы (т.е. в константное выражение не могут входить имена переменных, функции и типизированные константы). На самом деле константные выражения - это выражения, которые могут быть вычислены до выполнения программы, а отсюда уже и вытекают ограничения на их вид. Выражение, стоящее после CASE, и все константные выражения должны быть одного типа либо все иметь целочисленные типы. Обратите внимание, что в операторе выбора перед ELSE";" может стоять в отличие от условного оператора.
Оператор выбора выполняется следующим образом: вычисляется выражение, стоящее после CASE, затем просматриваются все списки значений, и если значение выражения попало в список значений, выполняется соответствующий оператор или блок, и выполнение оператора CASEзаканчивается. Если значение выражения не содержится ни в одном из списков, то выполняется оператор или блок, стоящий после ELSE. Конструкция ELSEможет отсутствовать, в этом случае оператор CASE может не выполнить никаких действий. В качестве примера использования оператора выбора решим предыдущую задачу о правильной дате.
var d,m : byte; y : word; valid : boolean;
begin write('введите дату '); read(d,m,y);
case m of
1,3,5,7,8,10,12 : case d of
1..31 : valid:=true
else valid:=false
end;
4,6,9,11 : case d of
1..30 : valid:=true
else valid:=false
end;
2 : case d of
1..28 : valid:=true;
29 : valid:=(y mod 4=0)and(y mod 100>0);
else valid:=false
end;
else valid:=false;
end;
if valid
then writeln('дата верна')
else writeln('дата неверна');
end.
Вы можете видеть, что задачи такого типа решаются оператором CASEгораздо проще, чем оператором IF.
Решим еще одну задачу: определить, какое число, меньшее 1000, введено пользователем.
var N:Word;
begin writeln('Введите натуральное число N<1000');
readln(N);
case N of
0..9: writeln('однозначное');
10..99: writeln('двузначное');
100..999: writeln('трехзначное')
else writeln('Число "N" не входит в указанный диапазон')
end;
readln;
end.
11. Операторы цикла
Для реализации циклических алгоритмов, т.е. алгоритмов, содержащих многократно повторяющиеся одинаковые операции, применяются специальные операторы цикла. В Паскале есть три вида циклов: FOR, WHILEи REPEAT. Оператор цикла FORзаписывается в виде:
– Конец работы –
Эта тема принадлежит разделу:
Учебное пособие написано на основе курса лекций читаемых студентам курсов... Общая схема решения задачи на персональном компьютере...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: CASEвыражение OF
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов