Условная тернарнаяоперация




Лабораторная работа №2

Условные конструкции

 

ОСНОВНЫЕ СВЕДЕНИЯ

Алгоритм разветвленной структуры - это алгоритм, в котором вычислительный процесс осуществляется по одной из ветвей. Если количество ветвей две – то используется условный блок, если больше – то множественный выбор. В программах используют соответственно условный оператор IF или оператор SWITCH для реализации разветвленного алгоритма.

Используемые операторы в сравнении

 

Операторы сравнения

Оператор Синтаксис  
 
Равенство a == b  
Неравенство a!= b  
Больше a > b  
Меньше a < b  
Больше или равно a >= b  
Меньше или равно a <= b  

 

Логические операторы

Оператор Синтаксис  
 
Логическое отрицание, НЕ !a  
Логическое умножение, И a && b  
Логическое сложение, ИЛИ a || b  

 

Условный оператор IF

Условный оператор (полная форма):

If (условие)

оператор;

Else

оператор;

Сокращенная форма:

If (условие)

оператор;

 

Если будет использоваться несколько операторов, то используются фигурные скобки:

{

оператор;

.

.

.

оператор;

}

Если оператор1 и оператор2 состоят из одного оператора, то в фигурные скобки они не заключаются. Если оператор1 и/или оператор2 являются составным оператором (несколько операторов), то он заключается в фигурные скобки. Условие всегда заключается в круглые скобки.

В качестве примера приведем программу вычисления наибольшего из значений функции y1=x²+1, y2=7-x²,y3=x+1 для любого х.

 

 

Этот же код можно реализовать с помощью математических фунций, которые находятся в библиотеке cmath. После изменения код будет выглядеть следующим образом:

 

Функция Описание Пример
ФУНКЦИЯ cmath
abs(a) модуль или абсолютное значение от а abs(-3.0)= 3.0 abs(5.0)= 5.0
sqrt(a) корень квадратный из а,причём ане отрицательно sqrt(9.0)=3.0
pow(a, b) возведение ав степень b pow(2,3)=8
ceil(a) округление а до наименьшего целого, но не меньше чем а ceil(2.3)=3.0 ceil(-2.3)=-2.0
floor(a) округление а до наибольшего целого, но не больше чем а floor(12.4)=12 floor(-2.9)=-3
fmod(a, b) вычисление остатка от a/b fmod(4.4, 7.5) = 4.4 fmod(7.5, 4.4) = 3.1
exp(a) вычисление экспоненты еа exp(0)=1
sin(a) a задаётся в радианах  
cos(a) a задаётся в радианах  
log(a) натуральный логарифм a(основанием является экспонента) log(1.0)=0.0
log10(a) десятичный логарифм а Log10(10)=1
asin(a) арксинус a, где -1.0 < а < 1.0 asin(1)=1.5708
Стандартная функция
max(a,b) Получение максимального значение между a иb max(5.8, 9.0) = 9.0
min(a,b) Получение минимального значение между a иb min(5.8, 9.0) = 5.8

ВАЖНО!!!!

Функции из библиотеки cmath работают только с вещественным типом double!!! Чтобы пользоваться этими функциями с другими типами данных, необходимо временно переопределять тип данных!

В большинстве современных компиляторов это может происходить автоматически!

Условная тернарнаяоперация

 

Условная тернарная операция используется с тремя операндами. В изображении условной операции применяются два символа ‘?’ и ‘:’ и три выражения – операнда:

выражение_1? выражение_2: выражение_3;

Первым вычисляется значение выражения_1. Если оно истинно, т. е. не равно 0, то вычисляется значение выражения_2, которое становится результатом. Если при вычислении выражения­_1 получится 0, то в качестве результата берётся значение выражения_3, например:

x<0? –x: x;

Выражение возвращает абсолютную величину переменной x.

 

Примерпрограммы вычисления наибольшего из значений функции y1=x²+1, y2=7-x²,y3=x+1 для любого х.

 

Множественный выбор

В программах с множественным выбором используется переключатель switch, который сравнивает значение выражения, указанного за ним, и выполняет один из операторов, метка которого совпадает с этим значением. Общий вид:

Switch (выражение)

{ case метка_1: список_операторов_1;

……………………………………….

case метка_n: список_операторов_n;

default: операторы; }

Значения выражения и меток должны быть целочисленными константами.

Например, определим количество дней по введенному номеру месяца.

В примере программы, если номер месяца превышает 12, выводится сообщение о неверном вводе месяца, для чего используется default. Оператор break служит для прерывания цикла проверки и перехода в конец переключателя. В случае отсутствия break, происходит переход на следующую ветвь.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: