2.12 Операторы ветвления
Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом, условный оператор – это средство ветвления вычислительного процесса [7]. Структура оператора условия в языке Паскаль имеет следующий вид: If <условие>then else ; Условный оператор работает по следующему алгоритму. Вначале вычисляется условное выражение, если результат вычисления имеет значение истина, то выполняется оператор или группа операторов следующих за словом then, если же выражение имеет значение ложь, то выполняется оператор следующий после слова else [7]. После перед словом else точка с запятой не ставится. Оператор выбора в языке Паскаль имеет следующий вид: caseof ; ; else; Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит так называемый ключ выбора (или селектор) – выражение любого типа (кроме типов real и string). Оператор выбора работает следующим образом. Сначала вычисляется значение выражения, стоящее после зарезервированного слова case, а затем выполняется оператор (или составной оператор), соответствующий результату вычисления выражения [8]. Си имеет условный оператор, структурно аналогичный Паскалю. Отличие состоит в том, что условие должно быть записано в круглых скобках, а вместо ключевых слов begin и end используются фигурные скобки <>: if () else ; В языке Си синтаксис оператора выбора следующий: switch () < : ; [break]; : ; [break]; default : ; [break]; > Здесь i — выражение-селектор, которое обязано иметь приводимый к целому тип, каждая ветвь исполнения начинаются с ключевого слова case, за ним следует значение выражения, при котором должна выполняться данная ветвь. Особенностью языка Си является то, что в нём переключатель трактуется именно как команда перехода по вычисляемой метке, а роль меток играют заголовки ветвей (case значение :). Чтобы после завершения кода ветви произошёл выход из оператора переключателя, используется специальная команда break. Если такой команды в ветви нет, после исполнения кода выбранной ветви начнётся исполнение кода следующей за ней. Эта особенность может использоваться для оптимизации, хотя может служить причиной труднообнаруживаемых ошибок (если программист случайно пропустит break, компилятор не выдаст ошибки, но программа будет выполняться неверно). Ветвь default исполняется тогда, когда среди прочих ветвей не нашлось ни одной подходящей [9].условие>
2.13 Операторы цикла
Цикл [10] – разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций. Последовательность инструкций, предназначенная для многократного исполнения, называется телом цикла. Единичное выполнение тела цикла называется итерацией. Переменная, хранящая текущий номер итерации, называется счётчиком итераций цикла или просто счётчиком цикла. В Паскале как и в Си существует три вида циклов [4,5]: — for..to/downto..do (Паскаль) и for (Си); — while .. do (Паскаль) и while (Си); — repeat .. until (Паскаль) и do .. while (Си). Рассмотрим цикл for: for <идентификатор>:= to/downto begin операторы end; (Паскаль) for ([инициализация];[условие продолжения цикла];[что выполняем в конце цикла]) <[тело цикла]>;(Си) Инициализация – оператор или операторы, выполняющиеся до первой проверки условия продолжения цикла. Выполняется только один раз. В отличие от языка Паскаль в Си переменную-счетчик можно описывать в инициализации. Второе выражение – для проверки условия; оно производится перед каждым возможным выполнением тела цикла. Когда выражение становится ложным, цикл завершается. Третье выражение вычисляется в конце каждого выполнения тела цикла. Шаг увеличения (уменьшения) значения переменной-счетчика выбирает программист. Эти три выражения в круглых скобках обязательно отделяются точкой с запятой. Если в условие продолжения цикла ничего не записать, то цикл будет бесконечным. Цикл for в Си очень похож на цикл for в Паскале, однако в Си он является более гибким. Рассмотрим цикл while: while () do ; (Паскаль) while () >; (Си) Оператор while организует повторение тела цикла до тех пор, пока логическое выражение не примет значение ложь. Оператор while — оператор цикла с предусловием. Истинность логического выражения определяется перед входом в цикл. Следовательно возможна ситуация когда тело цикла не выполнится ни разу. Если необходимо обеспечить выполнение тела цикла хотя бы один раз, используют оператор цикла с постусловием. В языке Паскаль – repeat .. until, а в Си – do .. while.: repeat until ();(Паскаль) do >while(); (Си) В языке Паскаль цикл с постусловием – repeat – until. Цикл выполняется пока условие ложно. В языке Си цикл с постусловием – do – while. Цикл выполняется пока условие истинно.идентификатор>
В чем особенность оператора ветвления на pascal
Основы программирования на
Сложные условия
Сложное условие — это условие, состоящее из нескольких простых условий, связанных с помощью логических операций:
К простым условиям можно отнести:
<> ( не равно)
Особенность – каждое из простых условий обязательно заключать в скобки.
Задача: подходишь ли ты к таким параметрам ( рост 170см или выше, и вес больше 60кг и меньше 90 кг).

Program Third;
uses crt;
Var x , y : real ;
Begin
Writeln (‘ Введите свой рост в см ‘);
Readln ( x );
Writeln ( ‘ Введите свой вес в кг ‘);
Readln ( y );
if x >= 170 then if ( y > 60 ) and ( y < 90 ) then Writeln (' Подходишь ') else Writeln (' Не подходишь ') else Writeln (' Не подходишь ');
End.
На экране будет примерно так :
Для перехода к следующей теме нажмите тут .
В чем особенность оператора ветвления на pascal
Условные операторы в Pascal можно вкладывать друг в друга. Для этого используется вложенный оператор IF. Рассмотрим это на примере программы, которая будет считать количество корней квадратного уравнения.
Использование program, begin…end, write, readln, Uses Crt, Clrscr.
В этом уроке мы напишем самую простую программу, состоящую всего из пяти строк. Эта программа будет выводить сообщение на экран. Для написания программы нам необходимо знать как работают операторы Write, Readln, а также понять для чего нужны .
Функции LENGTH и CONCAT.
Функция Length возвращает в качестве значения длину строки. Например, если в строковой переменной «stroka» записано слово «Pascal», то Length(stroka) будет равно 6. Эта операция аналогична операции Ord(stroka[0]), которую мы разбирали в 1-м уроке. .
Циклы и массивы
Табулирование функций.
Задача табулирования функции предполагает получение таблицы значений функции при изменении аргумента с фиксированным шагом. В качестве исходной информации должны быть заданы: Х0, Хn – начало и конец .
Вычисление предела последовательности.
Вычисление предела последовательности является типичной задачей на использование итерационного цикла.
Операторы ветвления в паскале
К операторам, позволяющим из нескольких возможных вариантов выполнения программы (ветвей) выбрать только один, относятся
if и case.
Т.е. эти операторы позволяют изменить естественный порядок выполнения операторов программы.
Формат:
if then < оператор 1 >
else ;
Пример:
if a>=b then Max:=a else Max:=b;
В операторе if по обеим ветвям (then и else) может выполняться только один оператор!
При необходимости выполнения нескольких требуется использовать операторные скобки begin-end.
Пример задачи на операторы ветвления в паскале. Ввести два целых числа и вывести на экран наибольшее из них.
Идея решения: надо вывести на экран первое число, если оно больше второго, или второе, если оно больше первого.
Особенность: действия исполнителя зависят от некоторых условий (если … иначе …).
program qq;
var a, b, max: integer;
begin
writeln(‘Введите два целых числа’);
read ( a, b );
if a > b then max:=a else max:=b;
writeln (‘Наибольшее число ‘, max);
end.
Сложные условия
Сложное условие – это условие, состоящее из нескольких простых условий (отношений), связанных с помощью логических
операций:
•not – НЕ (отрицание, инверсия)
•and – И (логическое умножение, конъюнкция,
одновременное выполнение условий)
•or – ИЛИ (логическое сложение, дизъюнкция,
выполнение хотя бы одного из условий)
•xor – исключающее ИЛИ (выполнение только
одного из двух условий, но не обоих)
Простые условия (отношения)
< >= = <>
Порядок выполнения (приоритет = старшинство)
•выражения в скобках
•not
•and
•or, xor
•, >=, =, <>
Особенность – каждое из простых условий обязательно заключать в скобки.
Оператор выбора case
Оператор case позволяет сделать выбор между несколькими вариантами.
Оператор варианта состоит
Øиз выражения, называемого селектором,
Øи списка операторов, каждый из которых отмечен константой того же типа, что и селектор.
Селектор должен относиться только к порядковому типу данных, но не к типу longint.
Селектор может быть переменной или выражением.
Список констант может задаваться как явным перечислением, так и интервалом или их объединением. Повторение констант не
допускается.
Тип переключателя и типы всех констант должны быть совместимыми.
Формат:
Case < выражение > of
: < оператор 1>;
. . .
< список констант K>: < оператор K>;
[else < оператор K+1>]
end
Выполнение оператора case происходит следующим образом:
1)вычисляется значение селектора;
2)полученный результат проверяется на принадлежность к тому или иному списку констант;
3)если такой список найден, то дальнейшие проверки уже не производятся, а выполняется оператор, соответствующий
выбранной ветви, после чего управление передается оператору, следующему за ключевым словом end, которое закрывает всю
конструкцию case;
4)если подходящего списка констант нет, то выполняется оператор, стоящий за ключевым словом else; если else-ветви нет,
то не выполняется ничего.
В операторе ветвления case по всем ветвям может выполняться только один оператор!
При необходимости выполнения нескольких требуется использовать операторные скобки begin-end.
Пример:
case Index mod 4 of
0 : x:= y*y + 1;
1 : x:= y*y – 2*y;
2, 3 : x:= 0
end;
А теперь, после прочтения статьи, попробуйте написать какую-нибудь простенькую программу на паскале использующую операторы ветвления:)