Теоретическая часть
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;
}