4864
Условные операторы и операторы цикла
Лекция
Информатика, кибернетика и программирование
Условные операторы и операторы цикла. Условные операторы. Язык С++ располагает несколькими условными операторами, позволяющими организовать ветвление в программе. Оператор if реализует простое ветвление, относительно выполнения условия: if ( условие...
Русский
2012-11-28
40.5 KB
9 чел.
Условные операторы и операторы цикла.
Условные операторы.
Язык С++ располагает несколькими условными операторами, позволяющими организовать ветвление в программе.
Оператор if реализует простое ветвление, относительно выполнения условия:
if ( условие )
оператор
Здесь условие представляет собой некоторое выражение, если его значение отлично от нуля, оператор выполняется. В качестве оператора может выступать как простое выражение, так и составной оператор, например:
if ( x > 0 )
x++;
if ( x < 0 )
{
x--;
y++;
}
Кроме того, существует расширенный вариант условного оператора:
if ( условие )
оператор_1
else
оператор_2
Если условие истинно (т.е значение выражения условие отлично от 0), выполняется оператор_1, в противном случае оператор_2. Следующий пример демонстрирует использование условного оператора в программе, реализующей отыскание действительных корней квадратного уравнения:
#include <iostream>
int main()
{
setlocale( 0, "Rus" );
double a, b, c;
std::cout << "Коэффициенты полинома:" << std::endl;
std::cin >> a >> b >> c;
double D = b*b - 4*a*c;
if ( D > 0.0 )
{
double x1 = ( -b + std::sqrt( D ) ) / ( 2*a );
double x2 = ( -b - std::sqrt( D ) ) / ( 2*a );
std::cout << "Два простых корня: " << x1 << " " << x2 << std::endl;
}
else if ( D == 0.0 )
{
double x = -b / ( 2*a );
std::cout << "Один корень кратности 2: " << x << std::endl;
}
else
std::cout << "Действительных корней нет" << std::endl;
system( "pause" );
return 0;
}
В тех случаях, когда оба оператора в контексте условного оператора представляются простыми выражениями, можно использовать компактный тернарный оператор:
условие ? выражение_1 : выражение_2;
В такой форме его действие аналогично оператору if…else, однако, в отличие от последнего, тернарный оператор возвращает значение. В следующем примере переменная x получит значение a+b или a-b в зависимости от четности переменной y:
double x = ( y % 2 ) ? ( a + b ) : ( a - b );
В случае необходимости реализации множественного ветвления, удобно использовать оператор switch:
switch ( выражение )
{
case ( выражение_1 ):
блок_из_одного_или_нескольких_операторов_1;
break;
case ( выражение_2 ):
блок_из_одного_или_нескольких_операторов_2;
break;
default:
блок_из_одного_или_нескольких_операторов_n;
break;
}
Принцип его действия следующий: значение выражение поочередно сравнивается (на равенство) с каждым из значений выражение_i, в случае совпадения с одним из них выполняется соответствующий блок операторов, в противном случае выполняется блок операторов секции default (если она присутствует).
Операторы цикла.
Циклы позволяют организовать повторное выполнение однотипных действий.
Цикл for имеет следующий синтаксис:
for ( выражение_1; выражение_2; выражение_3 )
оператор
Здесь выражение_1 выполняется один раз непосредственно перед входом в цикл, как правило, оно имеет смысл инициализирующего выражения цикла. выражение_2 определяет условие выполнения цикла и проверяется на истинность перед каждой итерацией. выражение_3 выполняется сразу после каждой итерации и обычно имеет смысл действия перехода к следующей итерации. Оператор определяет тело цикла, т.е. действия, выполняемые на каждой итерации. Любое из выражений может быть пустым.
В следующем примере цикл for реализует простейший алгоритм разложения числа на множители прямым перебором всех его делителей.
int N = 1234321; // Заданное число
for ( int T = N, i = 2; i <= T; )
{
if ( T % i == 0 ) // i - делитель
{
std::cout << i << " ";
T /= i; // Делим T на i
}
else // i не является делителем
++i; // переходим к следующему i
}
Цикл while описывается следующим образом:
while ( условие )
оператор
условие проверяется перед каждой итерацией цикла и оператор (тело цикла) выполняется только в том случае, если условие истинно. В следующем примере с помощью цикла while реализован повторный запрос ввода, пока не будет введена буква:
char c = 0;
while( ! isalpha( c ) )
{
std::cout << "Введите c: ";
std::cin >> c;
}
Цикл do…while выглядит так:
do
оператор
while ( условие );
и действует подобно while, разница заключается в том, что здесь проверка выражения условие выполняется после каждой итерации цикла, поэтому оператор (тело цикла) do…while в любом случае будет выполнено, по крайней мере, один раз.
А также другие работы, которые могут Вас заинтересовать | |||
40334. | ГАЛЛЮЦИНАЦИИ | 30.5 KB | |
Различают: галлюцинации в зависимости от органов чувств: зрительные обонятельные вкусовые тактильные галлюцинации общего чувства висцеральные и мышечные. истинные и псевдогаллюцинации. калейдоскопические интерметаморфоз Слуховые галлюцинации бывают фонемы патологическое восприятие слов речей разговоров. Зрительные галлюцинации могут быть либо 1. | |||
40335. | Гебефренная шизофрения | 27 KB | |
Различие же их определяются картиной манифестного психоза который при простой шизофрении не возникает.1 ставится при наличии общих критериев шизофрении и: 1 одного из следующих признаков а отчетливое и стойкое уплощение или поверхностность аффекта б отчетливая и стойкая неадекватность аффекта а также: 2 одного из двух других признаков: а отсутствие целенаправленности собранности поведения б отчетливые нарушения мышления проявляющиеся в бессвязной или разорванной речи; 3 галлюцинаторнобредовые феномены могут присутствовать в... | |||
40336. | Действие нейролептиков | 31.5 KB | |
Основные побочные эффекты при лечении нейролептиками образуют нейролептический синдром. Иногда отмечаются холинолитические эффекты расстройство зрения дизурические явления. Иногда возникают побочные эффекты в виде фотосенсибилизации дерматитов пигментации кожи; возможны кожные аллергические реакции. Побочные эффекты связанные с повышением в крови пролактина проявляются в виде дисменореи или олигоменореи псевдогермафродитизма у женщин гинекомастии и задержки эякуляции у мужчин снижении либидо галактореи гирсутизма. | |||
40337. | Деменция | 26 KB | |
Понимание сложных понятий затруднено но общая оценка ситуации верна критика к болезни сохранена отмечается подавленность слезливость. Критика болезни отсутст. Критика к болезни сниж сосуществование с болезнью. Безразличие к болезни. | |||
40339. | Расстройства речи | 41 KB | |
Ограничена подвижность органов речи мягкого нёба языка губ вследствие чего затруднена артикуляция. не сопровождается распадом речевой системы: нарушения восприятия речи на слух чтения письма. нередко приводит к нарушению произнесения слов и как следствие к нарушению чтения и письма а иногда к общему недоразвитию речи. | |||
40340. | Дисморфомания | 30 KB | |
Центральное расстройство подозрение со страхом дисморфофобия или убежденность дисморфомания в наличии физического недостатка может развиваться медленно посте пенно или возникнуть внезапно по типу озарения. Необходимо различать дисморфоманию как симптом пограничных состояний затяжные реактивные состояния эндореактивная подростковая дисморфомания особые развития личности и как проявление шизофрении. | |||
40341. | ИНФЕКЦИОННЫЕ ПСИХОЗЫ | 28 KB | |
Психические нарушения при инфекциях зависят от природы инфекционного заболевания особенностей реагирования на болезнь центральной нервной системы а также от локализации болезненного процесса. Психические нарушения при общих инфекциях: в основе лежат психопатологические расстройства относящиеся к экзогенным типам реакции: делирий аменция сумеречное состояние эпилептиформное возбуждение галлюциноз. Затяжных психозов протекающих без нарушения сознания в виде галлюциноза апатического ступора когфабулеза. психические нарушения при... | |||
40342. | Ипохондрический синдром | 28 KB | |
Возможны паранойяльный ипохондрический бред а также состояния в которых ипохондрические расстройства тесно связаны с явлениями психического автоматизма. Ипохондрический бред может проявляться и убежденностью больных в том что организм разрушается вирусами микробами насекомыми которые ввели им преследователи бред одержимости. Ипохондрический бред может подвергаться фантастическому преобразованию а иногда фантастические представления достигают степени громадности. Ипохондрический синдром в сочетании с синдромом навязчивости бывает при... | |||