Сохтори идоракунандаи if

Барномахое, ки мо дар дарсхои гузашта дидем сохтори пайдарпайро сохибанд, яъне хамаи амалхои дар онхо навишта шуда аз аввал то охир пайдарпай ичро карда мешаванд. Тасвири сохтори идоракунандаи пайдарпай:

Оператори if имконият медихад, ки вобаста аз ичро шудан ё ичро нашудани шарти гузошташуда, барнома ба як кисми код ворид шавад ё нашавад. Яке аз асоситарин вазифахои оператори if ин дар асоси маълумоти истифодабаранда дохилнамуда интихоб кардани тарзи рафтори барнома мебошад. Масалан, вобаста аз санаи компютер баровардани ин ё он хабар дар экран, вобаста аз чавобхои дохилнамуда муайян кардани бахо.

Пеш аз сохтори оператори if-ро тахлил кардан, ичозат дихед, дар бораи TRUE ва FALSE дар мисоли С++ гап занем. TRUE дар С++ ин дилхох адади гайринули аст. FALSE дар С++ ин нул аст. Вакте ки барнома ягон мукоисакуниро ичро мекунад оператор ягон адади гайринулиро бозмегардонад, агар шарт ичро шуда бошад. Оператор нулро бозмегардонад, агар шарт ичро нашуда бошад. Масалан, кимати ифодаи a==5 баробар аст ба 0, агар a ба 5 баробар набошад ва ба ягон адади гайринули баробар аст, агар a баробари 5 бошад. Агар ба тааччуб афтода бошед, оператори cout-ро барои инъикоси натичаи ифодахои мантикии гуногун истифода бурда, тачрибахои гуногун гузаронед (мисол, cout<<(2<5)).

Сохтори оператори if чунин аст:

if(шарт)
оператор;

Хангоми кимати шарт ба TRUE баробар шудан, оператор; ичро карда мешавад. Агар зарур бошад, ки хангоми TRUE будани кимати шарт, якчанд операторхо ичро карда шаванд, кафсхои фигуравиро истифода мекунанд:

if(шарт) {
оператор;
.........
оператор;
}

Тасвири сохтори идоракунандаи if:
(интихоби ягона)

Оператори else низ мавчуд аст. Коди баъди else омада ичро карда мешавад, агар кимати шарт дар оператори if ба FALSE баробар шавад. Хангоми кимати шарт дар оператори if ба TRUE баробар шудан, коди баъди оператори else омада ичро карда намешавад:

if(шарт) {
оператор11;
...........
оператор1n;
}
else {
оператор21;
...........
оператор2n;
}

Тасвири сохтори идоракунандаи if:
(интихоби дуи)

Як мисолро дида мебароем.

//namuna04.cpp 
using namespace std;
#include <iostream>
int main() {
int sol;
cout<<"Shumo chand sola? ";
cin>>sol;
if(sol<17)
cout<<"Shumo holo khele javoned!"<<endl;
else
cout<<"Marhamat namoed!"<<endl;
return 0;
}

Азбаски хангоми кимати шарт дар оператори if ба TRUE баробар шудан, коди баъди оператори else омада ичро карда намешавад, чунин шакли истифодаи оператори if хело машхур аст:

if(шарти1) {
оператор11;
...........
оператор1n;
}
else if(шарти2) {
оператор21;
...........
оператор2n;
}
else if(шарти3) {
оператор31;
...........
оператор3n;
}
...........

Мисол:

//namuna05.cpp 
using namespace std;
#include <iostream>
int main() {
int sol;
cout<"Shumo chand sola? ";
cin>>sol;
if(sol<17)
cout<<"Shumo holo khele javoned!"<<endl;
else if(sol<70)
cout<<"Shumo holo pir nested!"<<endl;
else if(sol==70)
cout<<"Shumo dar hakikat pir hasted!"<<endl;
else
cout<<"Shumo dar hakikat khelo pir hasted!"<<endl;
return 0;
}

САВОЛХО БАРОИ МУСТАХКАМКУНИ
1. Ба фикри шумо барои чи оператори if-else оператори шарти номида мешавад?
2. TRUE ва FALSE дар ифодахои мантики чиро мефахмонанд?
3. Шартхо барои оператори if чи хел тартиб дода мешаванд?
4. Номи файли матни барномаи С++ чи хел кисми изофаги дорад?

Дополнительная информация