Hầu hết các ngơn ngữ lập trình đều sử dụng lệnh if để đưa ra điều kiện. Nguyên tắc thực hiện như sau nếu điều kiện đưa ra l{ đúng( != 0), chương trình sẽ
thực hiện một công việc n{o đó, nếu điều kiện đưa ra l{ sai (==0), chương
trình sẽ thực hiện một cơng việc khác.
CẤU TRÚC IF
4.2.1|
Ý nghĩa
Nếu biểu thức Logic đúng(!= 0), thực hiện khối lệnh 1
Cú pháp if (<BT Logic>) { <Khối lệnh 1>; } Đ <Kho i le nh 1> BTLogic LLLLogic S
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 59 BTLogic phải cho kết quả
(sai == 0, đúng != 0) Ví dụ: #include "iostream" using namespace std; void main() { float fDtb;
//nhap diem trung binh
cout << "nhap dtb = "; cin >> fDtb;
//xuat ket qua
if (fDtb >= 5)
{
cout << "ket qua = dat" ; }
cout << endl; system("pause"); }
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 60
CẤU TRÚC IF…ELSE
4.2.2|
Ý nghĩa
Nếu biểu thức Logic đúng(!= 0), thực hiện khối lệnh 1, ngược lại biểu thức logic sai(==0) thực hiện khối lệnh 2
Cú pháp if (<BT Logic>) {<Khối lệnh 1>; } else {<Khối lệnh 2>; }
BTLogic phải cho kết quả(sai == 0, đúng != 0)
Ví dụ: #include "iostream" using namespace std; void main() { float fDtb; S <Kho i Le nh 1> <Kho i le nh 2> BT Logic Đ
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 61
//nhap diem trung binh
cout << "nhap dtb = "; cin >> fDtb;
//xuat ket qua
if (fDtb >= 5)
{
cout << "ket qua = dat" ; }
else
{
cout << "ket qua = hoc lai"; }
cout << endl; system("pause"); }
Kết quả:
4.2.3| CẤU TRÚC IF… ELSE LỒNG NHAU Cú pháp
Trong thực tế sử dụng cấu trúc if thường xét với nhiều điều kiện hơn do đó cần lồng nhiều if …else… v{o nhau
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 62 Cú pháp tổng qu|t trong trường hợp n{y như sau:
if (bt Logic 1) { Khối lệnh 1; } else { if(bt Logic 2) { Khối lệnh 2; } else { if(bt Logic 3) { Khối lệnh 3; } ….. else { Khối lệnh n+1; } } } }
Cách canh lề (lùi v{o trong) như trên giúp ta nhìn chương trình một cách dễ dàng khi có một hoặc hai lệnh if. Tuy nhiên khi có nhiều lệnh if hơn c|ch viết đó dễ gây ra nhầm lẫn vì nhiều câu lệnh sẽ phải lùi vào quá sâu. Vì vậy, lệnh if-
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 63
if (bt Logic 1) {
Khối lệnh 1; }
else if(bt Logic 2) {
Khối lệnh 2; }
else if(bt Logic 3) { Khối lệnh 3; } ….. [else { Khối lệnh n+1; }]
BTLogic phải cho kết quả(sai == 0, đúng != 0)
Ý nghĩa
Nếu biểu thức Logic 1 đúng (!= 0) thực hiện khối lệnh 1, ngược lại nếu biểu thức Logic 2 đúng(!= 0) thực hiện khối lệnh 2, …. Nếu tất cả không đúng thực hiện khối lệnh n+1
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 64
[else
{ Khối lệnh n+1;}] có thể có hoặc khơng tùy trường hợp
Ví dụ:viết chương trình thực hiện xếp loại theo điểm trung bình: Nếu đtb>=9: xuất sắc Nếu đtb>=8: giỏi Nếu đtb>=6.5: kh| Nếu đtb>=5: trung bình Nếu đtb<5: yếu #include "iostream" using namespace std; void main() { float fDtb;
//nhap diem trung binh
cout << "nhap dtb = "; cin >> fDtb;
//xuat ket qua
if (fDtb >= 9)
{
cout << "ket qua = xuat sac"; }
else if(fDtb >= 8)
{
cout << "ket qua = gioi"; }
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 65
{
cout << "ket qua = kha"; }
else if( fDtb >= 5)
{
cout << "ket qua = trung binh"; }
else
{
cout << "ket qua = yeu"; }
cout << endl; system("pause"); }
Kết quả:
Trong ví dụ trên nếu chương trình viết lại như sau, sinh viên tự thực hiện và cho nhận xét:
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 66
using namespace std; void main()
{
float fDtb;
//nhap diem trung binh
cout << "nhap dtb = "; cin >> fDtb;
//xuat ket qua
if (fDtb >= 9)
{
cout << "ket qua = xuat sac"; }
if(fDtb >= 8)
{
cout << "ket qua = gioi"; }
if(fDtb >= 6.5)
{
cout << "ket qua = kha"; }
if( fDtb >= 5)
{
cout << "ket qua = trung binh"; }
else
{
cout << "ket qua = yeu"; }
cout << endl; system("pause"); }
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 67