Цельработы: познакомиться c конструкциями выбора языка программирования С++,научиться составлять простые программы, использующие оператор if, оператор if elseи оператор switch.
Краткиетеоретические сведения.
Операторif
if (условие) вы раженіте1;
Onepaтopif используется для проверки условия и в зависимости от того, истинно (true)это условие или ложна (false) последующего выполнения выражения1.
Если в случае истинностиусловия должны выполняться несколько строк кода, необходимо использоватьфигурные скобки для объединения этих строк в блок:
if (условие)
{
выражение1;
выражение2;
…
выражение N;
}
Еслиусловие принимает значение false, блок кода, связанный cоператором if, игнорируется, u выполнение программы продолжается cпервого onepamopa, следующего за этим блоком.
Пример 1. //поиск большего из двух чисе
#pragmahdrstop
#include
#include
#include
#pragmaargsused
intmain(int argc, char** argv)
{
int a,b,max;
cout
cin>>a>>b;
max=a;
if(b>max) max=b;
cout
getch();
return0;
}
/>//---------------------------------------------------------------------------
B некоторыхслучаях при истинности условия нужно выполнить одни действия, a npuложности — другие. Для этого применяется onepamop if else:
Операторif else
if (условие) {блок_1}
else {блок_2}
Операторelse используется в сочетании c оператором if u определяет блоккода, который выполняется в том случае, когда условие принимает значениеfalse. Т. е., если условие истинно (не равно нулю), товыполняется блок_1, если условие ложно, то выполняется блок_2.
Пример 2. //поиск большего из двух чисел
#pragmahdrstop
#include
#include
#include
//---------------------------------------------------------------------------------------
#pragma argsused
intmain(int argc,char** argv)
{
int a, b, max;
cout
cin>>а>>b;
if (b>=a) mаx= b;
else max=a;
cout
getch();
return 0;
/> }
Вы можете при необходимостииспользовать вложенные onepamopa if. В этом случае за обычным onepaтopoмif следует один или несколько таких же onepатopoв.
Пример:if (x > 10) if (x
cout
Операторswitch
Onepamop switch можно рассматривать как усложненный if.Он позволяет вам выполнять один из нескольких блоков кода в зависимости om значения выражения. Выражение может быть переменной, вoзвpaщaемымзначением функции или любым арифметическим выpaжением C++. Синтаксис onepamopa switch:
switch(выражение)
{
case значение_1: блoк_1; break;
case значенue_2: блок_2; break;
…
case значение_п: 6лoк_п, break;
default: блок_last; break;
}
Операторswitch состоит из нескольких частей. Прежде всего, вы можете заметить выражение.Затем операторы case проверяют выражение на равенствоопределенной величине. Оператор switch позволяет выполнять различныеблоки кода в зависимости от значения выражения. Блок_1 выполняется,когда выражение равно значение _1, блок_2- когда выражение равно значение_2, uт, д. до блока_п, когда выpажeние равно значение _п. Если выражениене pавно ни одному из значение_1 значение_п, выполняется блок_last. B каждом изcase присутствует опеpатор break. Он используется для выxода изблока switch — это означает, что значение выражения совпало c одной извеличин и оставшаяся часть onepamopa switch может быть игнорирована. Bсамом конце вы видите оператор default. Блок, следующий за этимоператором, выполняется при отсутствии совпадений, Включение оператора defalt не обязательно.
Пример 3.// определениедня недели по номеру
#pragma hdrstop
#include
#include
#include
#pragma argsused
int main(intargc, char* argv[])
{
int n;
cout
cin>>n;
switch (n)
{
caseo:cout
case1:cout
case2:cout
case3:cout
case4:cout
case5:cout
case6:cout
default:cout
}
getch();
return0;
}
/>
Программа,которая по дате определяет день недели, на который эта дата приходится.
#pragmahdrstop
#include
#include
#include
//---------------------------------------------------------------------------
#pragmaargsused
intmain(int argc, char** argv)
{
intn;
cout
cin>>n;
if(n>1) if (n
switch(n)
{
case1:cout
case2:cout
case3:cout
case4:cout
case5:cout
case6:cout
case7:cout
}
elseif (n>7) if (n
switch(n)
{
case8:cout
case9:cout
case10:cout
case11:cout
case12:cout
case13:cout
case14:cout
}
elseif (n>14) if (n
switch(n)
{
case15:cout
case16:cout
case17:cout
case18:cout
case19:cout
case20:cout
case21:cout
}
elseif (n>21) if (n
switch(n)
{
case22:cout
case23:cout
case24:cout
case25:cout
case26:cout
case27:cout
case28:cout
}
elseif (n>28) if (n
switch(n)
{
case29:cout
case30:cout
case31:cout
default:cout
}
getch();
return0;
}
//--------------------------------------------------------------------------
/>