- ако стойността на израза е различна от нула (т. е. истина), се изпълнява оператор1;
- ако стойността на израза е равна на нула (т.е. лъжа), се изпълнява оператор2;
за x=3, x=-2, x=0, x=0.12
Отговор: за x=3 резултата е “да”
за x=-2 резултата е “да”
за x=0 резултата е “не”
за x=0.12 резултата е “да”
При работа с if се съобразяваме със следните правила:
- С оператор if-else се избира и изпълнява една от двете взаимноизключващи се възможности. Един от операторите – оператор1 или оператор2, винаги остава неизпълнен.
- Преди else задължително се поставя “;” с изключение на случаите когато преди else е записана затваряща скоба “}”.
- Изразът (условието за преход) задължително се загражда в скоби;
- Условието за преход допуска използването и изчисляването на по-сложни изрази, които могат да включват в себе си операциите за отношение и логическите операции.
- Условният оператор може да се използва многократно в рамките на една програма.
б) Кратък условен оператор
Синтаксис(правила за запис):
if (израз) оператор;
израз – нарича се условие за преход. Може да бъде всеки допустим за езика израз;
оператор – произволен, допустим за езика оператор.
Семантика (правила за изпълнение):
- изчислява се стойността на израза;
- ако стойността на израза е различна от нула (т.е. истина), се изпълнява операторът, след което програмата продължава с изпълнението на следващият оператор в програмата след if;
- ако стойността на израза е нула, програмата продължава с изпълнението на следващият оператор в програмата след if;
в) Съставен оператор
В някои случаи синтаксиса на езика изисква използване само на един оператор, а алгоритъма предвижда изпълнение на няколко действия. В такива случаи се налага няколко последователни оператора да се обединят в един. Това става с тъй наречения съставен оператор.
Синтаксис(правила за запис):
{
оператор 1;
оператор 2;
…
оператор n;
}
където оператор 1, оператор 2, ..., оператор n са допустими за езика оператори.
Семантика(правила за изпълнение):
Съставният оператор се изпълнява, като се изпълняват писледователно операторите, които го съставят.
-
Вложени условни оператори
В случаите, когато на мястото на оператор1 и(или) оператор2 в конструкцията if-else се налага използване на друг условен оператор, говорим за вложени условни оператори.
При използване на вложени условни оператори спазваме следните правила:
- Всяко else се съчетава с най-близкият до него неизползван if.
- Текста на програмата се преглежда отляво надясно.
- За по-голяма прегледност в текста на програмата подреждаме всеки else под if-а за който се отнася.
- За да избегнем неправилното съчетаване на else с if е добре да ограждаме вложения условен оператор с {}.
-
Решени задачи
Задача 1. Уравнение.
Да се състави програма KOREN.СРР, която намира корена на уравнението ax=b, където а и b са числа, въведени от клавиатурата.
Примерен вход
2 8
Примерен изход
4
Примерен вход
0 5
Примерен изход
Няма решение
Примерен вход
0 0
Примерен изход
Всяко х е решение
Решение
-
Необходими величини:
За решението на задачата са необходими трите дробни променливи a,b и x:
float a, b, x;
-
В началото коефициентите на уравнението трябва да се въведат от клавиатурата:
cin>>a>>b;
-
Както вече беше обсъдено в темата “Алгоритми”, решението на уравнението зависи от това дали а е 0 или е различно от 0. Така, че на следващата стъпка се налага да се провери дали а=0:
а/ Ако а=0, се проверява дали b=0:
3.1.1. Ako b=0, на екрана се отпечатва, че всяко х е решение на уравнението.
3.1.2. Ако b0, на екрана се отпечатва, че уравнението няма решение.
б/ Ако а0, се пресмята x=b/a, след което на екрана се отпечатва неговата стойност.
Това на езика С++ се записва чрез следните оператори:
if(a==0)
if(b==0)
cout<<”всяко х е решение\n”;
else
cout<<”няма решение\n”;
else
{
x=b/a;
cout<
}
Тук, веднага след условието на първия оператор if, е вложен още един условен оператор. След клаузата му else е използван съставен оператор, тъй като алгоритъмът, описан по-горе предвижда две действия – пресмятане на х и отпечатването му на екрана.
Окончателния вид на програмата е следния:
//koren.cpp
#include
void main()
{
float a, b, x;
cin>>a>>b;
if(a==0)
{ if(b==0)
cout<<”Всяко х е решение”<
else
cout<<”Няма решение”<
}
else
{
x=b/a;
cout<<”x=”<
}
}
Задача 2. Квадранти.
Да се състави програма KVAD.CPP, която въвежда от клавиатурата координатите x и y на точка в равнината и отпечатва номера на квадранта, на който тя принадлежи. Ако точката принадлежи на някоя от осите на координатната система, да се изведе ОХ за абсцисната ос и ОУ – за ординатната.
Примерен вход
2 8
Примерен изход
І
Примерен вход
-1 5
Примерен изход
ІІ
Решение:
За да определим в кой квадрант се намира точката, трябва да проверим знаците на координатите и.
-
Необходими величини:
Необходими са ни единствено двете дробни координати на точката:
Сподели с приятели: