Теоретическая часть

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

 

Данный оператор предназначен для проверки заданного условия и выбора выполняемых действий (операторов) в зависимости от истинности (ложности) условия.

Если в зависимости от истинности условия выполняются различные действия (полная форма условного оператора), то блок-схема выглядит следующим образом:

 

 

Если действия выполняются только при истинности условия, а при ложности – не выполняются (сокращенная форма условного оператора), то блок-схема выглядит следующим образом:

 

3.1.2 Условный оператор в языке программирования C++.

 

Имеется 2 формы записи условного оператора:

1. Полная форма записи:

if (логическое выражение) оператор 1;

else оператор 2;

Если логическое выражение имеет значение "истина" (true), то выполняется оператор 1, в противном случае во второй части оператора (else) выполняется оператор 2.

2. Сокращенная форма записи:

if (логическое выражение) оператор 1;

Если логическое выражение имеет значение "истина" (true), то выполняется оператор 1, в противном случае оператор 1 пропускается и выполняется следующий в программе оператор.

В языке программирования C++, если в условном операторе при выполнении (или невыполнении) заданного условия надо выполнить некоторую последовательность действий, то их надо объединить в единый, составной оператор, т.е. заключить эту последовательность действий в операторные скобки {}:

if (логическое выражение)

{

оператор 1_1;

оператор 1_2;

}

else {

оператор 2_1;

оператор 2_2;

}

3.1.3 Пример составления алгоритма и программы на языке C++ для ветвящегося вычислительного процесса.

Задание:

Вычислить значение выражения:

a, b – исходные данные, их значения вводятся с клавиатуры;

y – результат, его значение выводятся на экран.

Решение.

Блок-схема алгоритма для данной задачи выглядит следующим образом:

 

Программа на языке C++, выполняющая решение данной задачи:

#include <stdio.h>

#include <conio.h>

#include <math.h>

int main()

{ float a,b,y;

printf(“Введите a и b:\n”);

scanf(“%f”,&a);

scanf(“%f”,&b);

if (a>b)

{ y=1.2*a+3*b;

printf(“y=%6.2f”,y);

}

else

if (a>0)

{ y=(a-b)/sqrt(a);

printf(“y=%6.2f”,y);

}

else printf(“y не существует, a<=0”);

getch();

return 0;

}