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;

В такой форме его действие аналогично оператору ifelse, однако, в отличие от последнего, тернарный оператор возвращает значение. В следующем примере переменная 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;

}

Цикл dowhile выглядит так:

do

 оператор

 while ( условие );

и действует подобно while, разница заключается в том, что здесь проверка выражения условие выполняется после каждой итерации цикла, поэтому оператор (тело цикла) dowhile в любом случае будет выполнено, по крайней мере, один раз.


 

А также другие работы, которые могут Вас заинтересовать

29846. Инвестиционный проект:содержание,классификация,фазы развития.Критерии и методы оценки 94 KB
  Временной фактор играет ключевую роль в оценке инвестиционного проекта. На этом этапе проект разрабатывается готовится его техникоэкономическое обоснование проводятся маркетинговые исследования осуществляется выбор поставщиков сырья и оборудования ведутся переговоры с потенциальными инвесторами и участниками проекта. Также здесь может осуществляться юридическое оформление проекта регистрация предприятия оформление контрактов и т. Как правило в конце предынвестиционной фазы должен быть получен развернутый бизнесплан инвестиционного...
29847. Резервы повышения развития средств хозяйствования 18.46 KB
  В масштабах всего народного хозяйства создаются общегосударственные резервы средств производства и ведется подготовка трудовых резервов т. Это направление анализа резервов имеет очень важное значение для расчета обоснованных норм резервных запасов их ограничения действительно необходимыми для обеспечения непрерывности и ритмичности производства. Выявление резервов в таком понимании и определение реальных путей и сроков их мобилизации являются основными задачами экономического анализа деятельности хозяйствующих субъектов. Для...
29848. Федеральные фонды:порядок формирования и использование средств 18.82 KB
  Законодательные представительные органы не имеют права создавать свои резервные фонды а также выполнять отдельные функции по исполнению бюджетов за исключением органов местного самоуправления совмещающих функции законодательных и исполнительных органов. ФЕДЕРАЛЬНЫЕ ФОНДЫ 1. Фонды военноучебных заведений РГВИА РГВА 8.
29849. Совершенствование кредитования юридических и индивидуальных предпринимателей 19.4 KB
  В банке необходимо будет сориентироваться в процентных ставках и сроках кредита а главное правильно разъяснить цель кредита. Такой формой кредита могут воспользоваться как индивидуальные предприниматели так и юридические лица. Такой вид кредита как овердрафт позволяет бизнесменам осуществлять расчеты со своими партнерами своевременно и бесперебойно что безусловно способствует сохранению хорошей репутации. Процентные ставки на овердрафт как правило очень удобные для заемщика и всегда у заемщика есть возможность договориться с банком об...
29850. НИОКР в системе финансовых приоритетов современной организации 15.98 KB
  НИОКР в системе финансовых приоритетов современной организации Научноисследовательские опытноконструкторские и технологические работы совокупность работ направленных на получение новых знаний и их практическое применение при создании нового изделия или технологии. Виды НИОКР В соответствии с нормативным регулированием по способу учета затрат НИОКР подразделяются на: Товарные НИОКР текущие заказные работы относящиеся к обычному виду деятельности организации результаты которых предназначены для реализации заказчику. Капитальные...
29851. Дефицит и профицит бюджета. Пути оптимизации и достижения сбалансированности 12.93 KB
  Дефицит и профицит бюджета. Дефицит бюджета превышение расходов бюджета над его доходами. Классификация источников финансирования дефицита бюджета ст.23 БК группировка заемных средств привлекаемых РФ субъектами Российской Федерации и муниципальными образованиями для покрытия дефицитов соответствующих бюджетов: внутренние источники применяются для всех уровней бюджета кредиты от кредитных органов гос.
29852. Приоритетные национальные проекты России 14.98 KB
  Приоритетные национальные проекты России Приоритетные национальные проекты программа по росту человеческого капитала в России объявленная президентом России В. Проекты Программа приоритетных национальных проектов была сформулирована президентом России Владимиром Путиным 5 сентября 2005 года в обращении к правительству парламенту и руководителям регионов. Позднее на сайте появился документ Уточненные направления реализации приоритетного национального проекта Доступное и комфортное жилье гражданам Россииâ на 2009 2012 годы...
29853. Основные виды финансовых стратегии организации 14.33 KB
  Генеральной финансовой стратегией называют финансовую стратегию определяющую деятельность предприятия. Например взаимоотношения с бюджетами всех уровней образование и использование дохода предприятия потребности в финансовых ресурсах и источниках их формирования на год. [4; 322] Главной стратегической целью финансов является обеспечение предприятия необходимыми и достаточными финансовыми ресурсами. Финансовая стратегия предприятия в соответствии с главной стратегической целью обеспечивает: 1 формирование финансовых ресурсов и...
29854. Роль региональных и местных бюджетов в социально-экономическом развитии территорий 15.14 KB
  Роль региональных и местных бюджетов в социальноэкономическом развитии территорий Бюдже́т от старонормандского bougette кошель сумка кожаный мешок схема доходов и расходов определённого лица семьи бизнеса организации государства и т. Бюджет это важнейшая концепция как в микроэкономике так и в макроэкономике государственный бюджет. Изучением бюджета занимается наука финансы. Региональный бюджет совокупность валют правил и норм их использования взаимного обмена применения в качестве платежных средств а также...