Для принятия решений в программах требуются Булевские операции и операции отношония.
Поскольку принятие решения-фундаментальная часть програмирования, во всех языках програмирования,таких как
BASIC,Pascal,FORTRAN,C, есть такие операторы.
-

В таблице показаны операции отношония и Булевские операции в С++.В таблице содержится условный оператор
присваивания ?:.Он имеет следующий синтаксис:
(expression)?trueValue: falseValueОператор выдает trueValue, если выражение истинно(или отлично от нуля),и возвращает falseValue-в противном случае. Рассмотрим, как в следующем операторе используется условный оператор присваивания для присваивания значения переменной:
variable=(expression)?trueValue:falseValue; Результат будет таким же, как и в следующем опраторе if: if (expression) variable=trueValue; else variable=falseValue;
//Структура выбора if/else. #include<iostream.h> #include <conio.h> int main() { int grade; cin>>grade; if(grade >=90) cout <<"A"; else if(grade >=80) cout <<"B"; else if(grade >=70) cout <<"C"; else if(grade >=60) cout <<"D"; else cout<<"E"; getch(); }
Булевские выражения
В Булевских выражениях используется булевские операции и операции отношения для вычисления булевских значений.Булевские выражения могут быть простыми и сложными.Простые выражения используют единственную операцию отношения или булевскую операцию.Сложные Булевские выражения используют комбинацию таких операций.Приведем примеры простых Булевских выражений:
i<10 nCount>=nMinLimit nIndex==NArrayBound bDriveFlag&&bDiskFlag bNeedFile||bNewFile !bNewFile Приведем несколько примеров более сложных булевских выражений: i<10 i>=100 !(nCout<=nMinLimit||nCount>=nMaxLimit) nIndex>=nArrayBound&&nIndex<100
//Программа,которая демонстрирует
операторы
отношения
//и булевские операторы
//Генератор случайных чисел
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
main()
{
const int LO=1;
const int HI=100;
int nNum1,nNum2,nNum3;
//запускаем генератор случайных чисел,
//используя системное время
srand((unsigned)time(NULL));
//получаем три слчайных числа
nNum1=rand()%HI+LO;
nNum2=rand()%HI+LO;
nNum3=rand()%HI+LO;
cout<<"First number is"<<nNum1<<"\n"
<<"Second number is"<<nNum2<<"\n"
<<"Third number is"<<nNum3<<"\n";
cout<<nNum1<<"<"<<nNum2<<"is"
<<((nNum1<nNum2)?"TRUE":"FALSE")<<"\n";
cout<<nNum1<<"<="<<nNum3<<"is"
<<((nNum1<=nNum3)?"TRUE":"FALSE")<<"\n";
cout<<nNum2<<">"<<nNum3<<"is"
<<((nNum2>nNum3)?"TRUE":"FALSE")<<"\n";
cout<<nNum1<<"=="<<nNum2<<"is"
<<((nNum1==nNum2)?"TRUE":"FALSE")<<"\n";
cout<<nNum1<<"!="<<nNum3<<"is"
<<((nNum1!=nNum3)?"TRUE":"FALSE")<<"\n";
cout<<nNum1<<"<"<<nNum2<<"AND"
<<nNum2<<"<"<<nNum3<<"is"
<<((nNum1<nNum2 && nNum2<nNum3)? "TRUE":"FALSE")<<"\n";
cout<<nNum1<<"<"<<nNum2<<"OR"
<<nNum2<<"<"<<nNum3<<"is"
<<((nNum1<nNum2||nNum2<nNum3)?"TRUE":"FALSE")<<"\n";
cout<<"NOT("<<nNum1<<"<="<<nNum2<<")is"
<<((!(nNum1<=nNum2))?"TRUE":"FALSE")<<"\n";
getch();
return 0;
}