Операторы ветвления используются в разветвленных алгоритмах и служат для выбора маршрута выполнения программы в зависимости от истинности или ложности некоторых условий [1, 17, 32]. Операторы ветвления называют ещё конструкциями принятия решений [1]. К операторам ветвления относятся следующие операторы: условные операторы if, if … else и оператор-переключатель switch.
Синтаксис условных операторов имеет вид [1]: if (выражение) оператор; либо, если операторов, выполняемых при истинности выражения несколько, то if (выражение) < оператор 1; оператор 2; ………… оператор N; >В случае, когда необходимо сравнить выражение с некоторым значением, нужно использовать операции отношений. Например, if (выражение == значение) оператор; if (выражение != значение) оператор; if (выражение else < оператор 3; оператор 4; >Здесь вторая ветвь является альтернативой. Оператор if … else допускает применение вложенных конструкций вида: if (выражение 1) оператор 1; else if (выражение 2) оператор 2; else if (выражение 3) оператор 3; else if (выражение 4) < оператор 4; ………… else if (выражение N) оператор N; else оператор по умолчанию; где последняя ветвь else оператор по умолчанию; является необязательной. Количество уровней вложенности операторов if может быть любым. Однако при количестве таких вложенных конструкций, больших четырёх-пяти, программу становится трудно отлаживать [1].
Урок 7. Ветвления в программе. Условный оператор
Когда в программе нужно выбрать один из многочисленных вариантов, бывает целесообразным применять оператор-переключатель switch. Этот оператор называется ещё оператором множественного выбора [1].
Синтаксис оператора-переключателя switch имеет вид:
Switch (выражение)
< case метка 1: оператор 1; break; //Выход из оператора switch < case метка 2: оператор 2; break; ………… case метка N: оператор N; break; default: оператор; >В данном операторе выражение и метки должны иметь значения целого либо символьного типа. Выбирается тот вариант, метка которого совпадает со значением выражения. В случае, когда нет ни одного совпадения меток со значением выражения, выбирается метка default: . Эта метка является необязательной.
1.3. Алгоритмы, необходимые для написания программ
Обратим внимание на то, что при написании программ необходимо иметь в виду следующие алгоритмы, которые встречаются и при вычислении значений функций.
- Ограничение на входные данные приводит к необходимости проверки при их введении. Для этого можно использовать следующие циклы.
а) цикл с предусловием while (условие) . . . . Условие должно принимать значение «истина» при неправильном вводе данных. Например, необходимо ввести натуральное число n. Это осуществляется следующим циклом с предусловием: cin >> n; while (n > n; > б) цикл с постусловием do . . . while (условие). Условие должно принимать значение «истина» при неправильном вводе данных. Например, необходимо ввести натуральное число n. Это осуществляется следующим циклом с постусловием: do < cout > n; >while (n
for(i=0; i> x[i]; for(j=0 ; jЕсли встретился такой же элемент,< //необходимо его ввести вновь, i—; //причем его индекс будет повторяться break; //до тех пор, пока значение не будет > //уникальным. >Листинг 1.1. Задана прямая линия ax+by+c=0, причем коэффициенты a и b не равны нулю (необходимо проверить при вводе). Определить, лежит ли точка с координатами (x0,y0) выше или ниже прямой. Вычислить y=ln(5+3 x) при x=d+hk, k=0, 1, 2, …, 10, если точка лежит выше прямой, и y=0, если точка лежит на прямой линии или ниже ее. Вывести на экран дисплея информацию, если функцию вычислить нельзя. //stdafx.h #pragma once #define WIN32_LEAN_AND_MEAN #include #include //Библиотекаматематическихфункций #include #include using namespace std; //Использовать пространство именstd//L1_1.cpp #include “stdafx.h” int main( ) < setlocale(LC_CTYPE, “russian”); // Функцииобработкисимволов double x,y,a,b,c; do //Контроль того, чтоaиbне равны нулю< cout > a >> b >> c; >while(a == 0 || b == 0); cout > d >> h; cout Вывод5значащихцифр for(i=0; iВыводить в 32 позициях cout else < y=log(5+3*x); if(a*x+b*y+c<0) < cout.width(4); //Выводить в 4 позициях cout Выводить в 8 позициях cout else < cout.width(4); //Выводить в 4 позициях cout Выводить в 8 позициях cout > > return 0; > Результат работы программы листинга 1.1 приведен на рис. 1.1: Рис. 1.1. Результат работы программы листинга 1.1 Упражнения
- Задана парабола y=ax 2 +bx+c. Определить, лежит ли точка с координатами (x0,y0) выше или ниже параболы. Вычислить y=logfx(3+x) 3 при x= d+kh, k=0, 1, 2, …, 10; f, d, h– некоторые числа, если точка лежит выше параболы, и y=0, если точка ниже параболы или на ней. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Задана окружность x 2 +y 2 =R 2 . Определить, лежит ли точка с координатами (x0,y0) внутри или вне окружности. Вычислить y=
при x= d+kh, k=0, 1, 2,…, 10; m, f, d, h– некоторые числа, если точка лежит вне окружности, и y=x, если точка лежит внутри окружности или на ней. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Задана прямая линия ax+by+c=0, причем коэффициенты a и b не равны нулю. Определить, лежит ли точка с координатами (x0,y0) выше или ниже прямой. Вычислить y=|log3(1+fx)| при x=d+hk, k=0, 1, 2, …, 10; f, d, h – некоторые числа, если точка лежит выше прямой, и y=0, если точка лежит на прямой линии или ниже прямой. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Задана парабола y=ax 2 +bx+c. Определить, лежит ли точка с координатами (x0,y0) выше или ниже параболы. Вычислить y=|(f+mx 2 ) S/ 2 | при x= d+kh, k=0, 1, 2, …, 10; f,S,m, d, h – некоторые числа, если точка лежит выше параболы, и y=x, если точка ниже параболы или на ней. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) в первом квадранте. Вычислить y=ln m /2 (1+x) 3 при x= d+kh, k=0, 1, 2, …, 10; m, d, h – некоторые числа, если точка лежит в первом квадранте, и y=x 2 , если точка находится вне первого квадранта. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) между параболами y=-x 2 +1 и y=x 2 -1. Вычислить y=
при x= d+kh, k=0, 1, 2, …, 10; a, b,d, h – некоторые числа, если точка лежит в этой области, и y=x 2 , если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) между окружностями радиуса R и r, R >r, с центром в начале координат. Вычислить y=
при x= d+kh, k=0, 1, 2, …, 10; a, b,d, h – некоторые числа, если точка лежит в этой области, и y=x 2 +x, если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) внутри верхнего полукруга радиуса R с центром в начале координат, где R – константа. Вычислить
приx= d+kh, k=0, 1, 2, …, 10; a, b,d, h – некоторые числа, если точка лежит в этой области, и y=x 2 , если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) внутри квадрата с координатами вершин (a; a), (a; -a), (-a; -a), (-a; a), a – некоторая константа. Вычислить y=
при x=d+kh, k=0, 1, 2, …, 10; a, b,d, h – некоторые числа, если точка лежит в этой области, и y=x 2 +x, если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) внутри нижнего полукруга радиуса R с центром в начале координат, где R – константа. Вычислить
приx= d+kh, k=0, 1, 2, …, 10; a, b,d, h – некоторые числа, если точка лежит в этой области, и y=0, если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) внутри квадрата с координатами вершин (a; 0), (0; -a), (-a; 0), (0; a), где a – константа. Вычислить y=
при x=d+kh, k=0, 1, 2, …, 10; с, b,d, h – некоторые числа, если точка лежит в этой области, и y=x 2 +2, если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) внутри квадрата с координатами вершин (a; a), (a; -a), (-a; -a), (-a; a), где a – константа. Вычислить y=
при x=d+kh, k=0, 1, 2, …, 10; с, b,d, h – некоторые числа, если точка лежит в этой области, и y=сx 2 +bx, если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) в третьем квадранте. Вычислить y=
при x= d+kh, k=0, 1, 2, …, 10; a,b, d, h – некоторые числа, если точка лежит в третьем квадранте, и y=x 2 , если точка вне третьего квадранта. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) вне квадрата с координатами вершин (a; a), (a; -a), (-a; -a), (-a; a), где a – константа. Вычислить y=
при x=d+kh, k=0, 1, 2, …, 10; с, b,d, h– некоторые числа, если точка лежит в этой области, и y=сx 2 +bx, если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) вне квадрата с координатами вершин (a; 0), (0; -a), (-a; 0), (0; a), где a – константа. Вычислить y=
при x=d+kh, k=0, 1, 2, …, 10; с, b,d, h – некоторые числа, если точка лежит в этой области, и y=x 2 +2, если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) вне верхнего полукруга радиуса R с центром в начале координат, где R – константа. Вычислить
приx=d+kh, k=0, 1, 2, …, 10; a, b,d, h – некоторые числа, если точка лежит в этой области, и y=x 2 +ax, если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) внутри полосы |y|с, где c – константа. Вычислить
приx=d+kh, k=0, 1, 2, …, 10; a, b,d, h – некоторые числа, если точка лежит в этой области, и y=xa , если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) внутри полосы |x|с, где c – константа. Вычислить
приx=d+kh, k=0, 1, 2, …, 10; a, b,d, h– некоторые числа, если точка лежит в этой области, и y=xb +1, если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) между окружностями радиусов R и r, где R >r, с центрами в начале координат. Вычислить y=
при x= d+kh, k=0, 1, 2, …, 10; a, b,d, h – некоторые числа, если точка лежит в этой области, и y=x 2 +x, если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Задана парабола y=ax 2 +bx+c. Определить, лежит ли точка с координатами (x0,y0) выше или ниже параболы. Вычислить y=
при x= d+kh, k=0, 1, 2,…,10; f,m, d, h – некоторые числа, если точка лежит выше параболы, и y=x, если точка находится ниже параболы или на ней. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Задана парабола y=ax 2 +bx+c. Определить, лежит ли точка с координатами (x0,y0) выше или ниже параболы. Вычислить y=
при x= d+kh, k=0, 1, 2, …, 10; f, m, d, h– некоторые числа, если точка лежит выше параболы, и y=0, если точка находится ниже параболы или на ней. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) внутри квадрата с координатами вершин (a; 0), (0; -a), (-a; 0), (0; a), где a – константа. Вычислить y=
при x=d+kh, k=0, 1, 2, …, 10; с, b,d, h– некоторые числа, если точка лежит в этой области, и y=x 2 +2, если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) внутри верхнего полукруга радиуса R с центром в начале координат, где R – константа. Вычислить
приx= d+kh, k=0, 1, 2, …, 10; a, b,d, h – некоторые числа, если точка лежит в этой области, и y=x 2 , если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) во втором квадранте. Вычислить y=
при x= d+kh, k=0, 1, 2, …, 10; a,b, d, h – некоторые числа, если точка лежит в первом квадранте, и y=x 2 , если точка находится вне второго квадранта. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
- Определить, лежит ли точка с координатами (x0,y0) внутри квадрата с координатами вершин (a; 0), (0; -a), (-a; 0), (0; a), где a – константа. Вычислить y=
при x=d+kh, k=0, 1, 2, …, 10; с, b,d, h – некоторые числа, если точка лежит в этой области, и y=x 2 +2, если точка находится вне области. Вывести на экран дисплея информацию, если функцию вычислить нельзя.
Источник: studfile.net
Уроки Python / Конструкция if elif else — если то иначе — Условная инструкция
Основные синтаксические конструкции и ветвление: If…else…then
Программирование требует от пользователя определенных познаний в сфере выбранного языка. Большинство из них поддерживает использование так называемых условных операторов. Они в той или иной форме присутствуют во всех ЯП.
Далее предстоит изучить конструкцию the if else then и условные операторы. Эта информация пригодится как новичкам, так и более опытным разработчикам. Она должна быть усвоена каждым, кто планирует заниматься созданием программного обеспечения и игр. Примеры будут приведены на the Pascal и the JavaScript.
Условные операторы
Условный оператор – основа любого языка разработки. С его помощью значение некоторого выражения принимается за определение дальнейшего поведения приложения. Через the operator происходит выбор действия из нескольких предложенных.
В основе работы оператора (не только состоящего из IF) заложена булева логика. Она подразумевает сведение любых утверждений к двум вариантам:
- истина (the true);
- ложь (the false).
Если условие истинно, приложение отправляться работать по одному алгоритму, если ложно – по другому. Это приводит к тому, что в каждый момент времени программное обеспечение выбирает алгоритм из двух направлений. Существуют более сложные условия. Они базируются на последовательном прохождении элементарных двоичных условий.
Разновидности
Условных операторов много. Каждый язык поддерживает их в той или иной степени. Основными конструкциями выступают ветвления. Они могут быть:
- постфиксными;
- тернарными;
- с одной веткой;
- с двумя ветвями;
- с поддержкой нескольких ветвей (if elseif else или if else then);
- множественного выбора – switch.
Отдельно выделяются циклы:
Особое внимание необходимо уделить ветвлению. Оно является основой разработки практически любого программного обеспечения.
Работа с If
Перед изучением if else then необходимо рассмотреть более простые варианты ветвлений. В противном случае разработчик рискует запутаться и получить «на выходе» совершенно непредсказуемый результат.
Конструкция «с одной веткой» – элементарный вариант ветвления. Заданная операция будет обрабатываться, если соблюдено то или иное условие. В случае с the JavaScript форма представления ветвления будет следующей:
Сначала здесь задается ключевое слово IF (без else и then). Далее прописывается условие (condition), а в фигурных скобках указывается реализуемый алгоритм. Блок выполняется, если результат condition становится истиной. В противном случае управление переходит к следующему написанному в программном обеспечении фрагменту.
В the Pascal соответствующий вариант рассматривается как неполный условный оператор. Его блок схема имеет следующую форму реализации: