Для задания разветвляющихся вычислительных процессов служат выбирающие операторы, которые относятся к производным операторам. Условный оператор относится к числу выбирающих и в Паскале имеет две формы – полную и сокращенную.
Здесь if, then, else – служебные слова.
Полный условный оператор выглядит следующим образом
if B then S1 else S2 ,
где B – логическое выражение, а S1 и S2 – операторы.
Выполнение такого условного оператора сводится к выполнению одного из входящих в него операторов S1 или S2. Если B=true, то выполняется S1, если B=false, то – S2.
В сокращенной форме условного оператора отсутствует альтернативная часть с else, т.е.
и if B then S1
Если B=true, то выполняется S1, если B=false, то никаких иных действий, кроме вычисления значения B, не производится.
Наличие сокращенной формы условного оператора требует большой осторожности при использовании условных операторов.
Например, оператор вида if A then if B then S1 else S2
If else. Конструкция логического выбора if. Лесенка if — else if. Примеры использования. Урок #12.
можно истолковать двумя способами
I. if B then begin if B2 then S1 end else S2
II. if B then begin if B2 then S1 else S2 end
По правилам Паскаля имеет место вторая трактовка, т.е. считается, что каждый символ else соответствует первому предшествующему ему символу then. Во избежание недоразумений и ошибок рекомендуется в подобных случаях четко выделять желаемую форму путем использования операторных скобок begin и end.
25.Оператор варианта Case.
Оператор варианта – это обобщение условного оператора.
Таким образом, оператор варианта имеет следующий вид
Условие ветвления A для оператора case задается выражением порядкового типа, и case-константы C1, … Cn должны иметь тот же тип, что и селектор оператора, причем ни одна из этих констант не может использоваться в качестве метки варианта более одного раза.
Здесь S1, … Sn – операторы, из которых должен выполниться только тот, у которого case-константа равна значению выражения A. Если среди case-констант нет значения выражения A, выполняется оператор S, записанный после else. Ветвь else может отсутствовать. Тогда, если селектор не совпадает ни с одной case-константой, оператор case будет пропущен, т.е. не выполнится ни одного оператора внутри case.
26. Использование условных операторов для организации разветвляющихся вычислительных процессов
Разветвляющийся вычислительный процесс (РВП) реализуется по одному из нескольких направлений вычисления (ветвей алгоритма). Выбор одной из ветвей зависит от истинности или ложности некоторого условия (логического выражения), включенного в состав условного оператора. Программа должна учитывать все возможные ветви вычислений. При запуске программы, в зависимости от данных, выполняется только одна из возможных ветвей.
Направления, по которым может следовать вычислительный процесс, называются ветвями. В программах разветвляющихся процессов естественный порядок выполнения операторов нарушается и обеспечивается выполнение той последовательности операторов, которая соответствует выбранным условиям.
15 Условный оператор if Python. Если Python
В языке Паскаль это реализуется специальными управляющими операторами или операторными структурами, которые называются операторами перехода. Схему алгоритма разветвленной структуры характеризует наличие блока «условие», который имеет два выхода, помеченные словами «да» и «нет». Еще этот блок называют логическим блоком. В этом блоке осуществляется проверка выполнения некоторого логического условия. Если условие «истинно», вычислительный процесс идет по выходу «да», в противном случае — по выходу «нет».
Источник: studfile.net
Блог преподавателя информатики Загорча Ирины
Наша жизнь была бы скучной и неинтересной, если бы все наши действия и поступки были бы заранее предопределены (запрограммированы), — мы бы тогда были похожи на роботов, безумно выполняющих готовые инструкции. Но наша жизнь очень часто, почти ежедневно, преподносит нам сюрпризы, заставляя думать и принимать решения в зависимости от создавшейся ситуации, т.е. часто требуется от конкретного условия выбрать один из двух или более различных вариантов вычислительного процесса. В зависимости от того выполняется условие или нет, будет реализовываться одна ветвь, в которой может быть, одно или несколько действий.
Например:
Если идет дождь, то сижу дома, иначе иду в кино.
Если идет дождь, то мы берем с собой зонтик.
Существуют три базовых структуры алгоритмов
- линейная структура
- ветвление
- циклы
Структуре ветвления в языке программирования Паскаль соответствует оператор условного перехода.
Ветвление – это такая форма организации действий, при которой в зависимости от выполнения или невыполнения некоторого условия совершается либо одна, либо другая последовательность действий. В Паскале ветвление организуется с помощью двух операторов: условный оператор IF и оператор выбора CASE. Сегодня на уроке мы познакомимся с условным оператором – IF .
Источник: informaticaedinet.blogspot.com
Урок 6. Условный оператор if
Один из важнейших операторов Паскаля – условный оператор. Он позволяет изменять порядок выполнения операторов в зависимости от некоторого условия, представляющего собой логическое выражение типа Boolean. Если значение равно True, то выполняется одна группа операторов, если False, то другая группа операторов или не выполняется ничего.
В языке Паскаль имеются два условных оператора: if (оператор ветвления) и case (оператор выбора). Оператор if обеспечивает выбор из двух альтернатив, оператор выбора case позволяет сделать выбор из произвольного числа имеющихся вариантов.
На этом уроке рассмотрим оператор If.
Условный оператор If (оператор ветвления)
Полная формы условного оператора называется If-then-else, имеет вид:
If условие Then [оператор1] Else [оператор2];
Если в качестве оператора должна выполняться серия операторов, то они объединяются в операторные скобки Begin-End.
If then Begin [операторы1] End Else begin [операторы2] End;
Слова if (если) и Then (то) – зарезервированные.
Замечание. Перед ключевым словом else (иначе) точка с запятой не ставится, она ставиться после всего оператора If.
Условие представляют собой логические выражение. Простые условия записываются в виде равенств или неравенств. В сложных условиях несколько простых условий объединяются с помощью логических операций or, and. В этом случае простые условия заключаются в круглые скобки.
На рисунке показана блок-схема полной формы оператора.
Алгоритм выполнения полного условного оператора:
- Проверяется значение логического выражения, записанного в условии после слова If
- Если условие истинно (значение выражения условие равно True), то выполняется оператор 1, указанный после слова Then
- Если условие ложно, то выполняется оператор 2, записанный после слова Else.
Неполная форма условного оператора называется if-then, имеет вид:
If условие Then [оператор];
Если в качестве оператора должна выполняться серия операторов, то они объединяются в операторные скобки Begin-End.
If условие Then Begin [операторы] End;
В неполном ветвлении ветвь Else отсутствует.
На рисунке показана блок схема оператора if-then.
Алгоритм выполнения неполного условного оператора
- Проверяется значение логического выражения, записанного в условии после слова If
- Если условие истинно (значение выражения условие равно True), то выполняется операторы, указанный после слова Then
- Если условие ложно, то ничего делать не надо. Происходит переход к следующему оператору.
Операторы ветвления могут быть вложенными, т.е. один оператор if можно расположить внутри другого. В этом случае он позволяет производить выбор более чем из двух вариантов. При написании исходного кода с вложенными операторами для удобочитаемости кода вложенные операторы выделяются отступами.
If then begin [операторы 1;] end Else if eckjdbt 2 then begin [операторы2;] End . . . else if условиеN [операторыN;] end else begin ; end;
Применение условного оператора if рассмотрим на примерах.
Пример 1. С клавиатуры ввести два различных числа. Найти большее из них и вывести его на экран.
В этом примере нужно произвести выбор одного из двух вариантов, для этого используется оператор if—then—else.
program primer6_1; var a, b, m:integer; begin writeln(‘Введите два числа: ‘); readln(a, b); if a>b then m:=a else m:=b; writeln(‘Большее из них: ‘, m); end.
Пример 2. Даны три отрезка. Можно ли из них построить треугольник?
Решение. Для любого треугольника сумма его двух сторон должна быть больше третьей стороны (неравенство треугольника). Если a, b, c – стороны предполагаемого треугольника, то нужно сравнить длину каждого отрезка с суммой двух других. Если хотя бы в одном случае отрезок окажется больше суммы двух других, то треугольник из таких отрезков не построить.
Для решения этой задачи используется оператор if—then—else со сложным условием.
program primer6_2; var a, b, c: integer; begin write (‘ Введите длины отрезков: ‘); readln (a,b,c); if (a < b+c) and (b < a+c) and (c < a+b) then writeln (‘Можно построить треугольник.’) else writeln (‘Нельзя построить треугольник.’); end.
Задачи для самостоятельного выполнения
- Найти наибольшее из трех данных чисел.
- Запишите условный оператор, в котором значение переменной вычисляется по формуле: a + b, если a — нечетное и a*b, если a — четное.
- Вывести на экран номер четверти, которой принадлежит точка с координатами (x, y), при условии, что x и y отличны от 0.
- После выполнения операторов
a := 0;
If a<>0 Then; a := 2
значение переменной равно двум. Объясните почему. - Если целое число M делится нацело на целое число N, то вывести на экран частное от деления, в противном случае — сообщение »M на N нацело не делится».
На этом уроке рассказывалось об условном операторе if и его применении при решении задач. Простой оператор ветвления используется для для выбора одного из двух возможных продолжений алгоритма, для выбора более чем из двух продолжений можно использовать вложенный оператор ветвления.
Источник: gospodaretsva.com