Bài 9: Cấu Trúc Rẽ Nhánh - Hoc24

BÀI 9. CẤU TRÚC RẼ NHÁNH

1. Cấu trúc rẽ nhánh

- Xét các ví dụ sau:

  • VD1: Chiều mai nếu trời không mưa thì Hùng đến nhà Tâm để học nhóm.
  • VD2: Chiều mai nếu trời không mưa thì Hùng đến nhà Tâm để học nhóm, nếu trời mưa thì Hùng gọi điện cho Tâm trao đổi.

- Nhận xét: Các mênh đề rẽ nhánh thường có dạng:

  • Nếu.....Thì....... → Đây là cách diễn đạt dạng thiếu
  • Nếu......Thì......Nếu không thì...... → cách diễn đạt dạng đủ

=> Cấu trúc dùng để mô tả các mệnh đề có dạng như trên được gọi là cấu trúc rẽ nhánh dạng thiếu và đủ.

- Ví dụ: Thuật toán giải và biện luận phương trình bậc nhất ax + b = 0

Bước 1: Nhập a, b

Bước 2: Nếu a<>0 thì x:=-b/a → bước 4

Ngược lại → bước 3

Bước 3: Nếu b<>0 thì thông báo phương trình vô nghiệm

Ngược lại thông báo phương trình vô số nghiệm.

Bước 4: Đưa x ra màn hình.

2. Cấu trúc if..... then..... (dạng thiếu)

- Cấu trúc:

IF <Điều kiện> THEN<Câu lệnh>;

- Sơ đồ khối:

- Hoạt động:

  • Bước 1: Tính giá trị của biểu thức điều kiện.
  • Bước 2: Kiểm tra giá trị của biểu thức điều kiện
    • Nếu biểu thức điều kiện có giá trị đúng thì thực hiện câu lệnh sau từ khoá THEN, rồi thoát ra khỏi câu lệnh IF, chuyển sang câu lệnh tiếp theo.
    • Nếu biểu thức điều kiện có giá trị sai thì thoát ra khỏi câu lệnh IF và chuyển đến thực hiện lệnh tiếp theo.

3. Cấu trúc if..... then..... else..... (dạng đủ)

- Cấu trúc:

IF <Điều kiện> THEN <Câu lệnh 1> ELSE <Câu lệnh 2>;

- Trong đó:

  • IF, THEN, ELSE là từ khoá
  • Điều kiện: Là biểu thức Logic hoặc biểu thức quan hệ.

- Sơ đồ khối:

- Hoạt động:

  • Bước 1: Tính giá trị của biểu thức điều kiện.
  • Bước 2: Kiểm tra giá trị của biểu thức điều kiện
    • Nếu biểu thức điều kiện có giá trị đúng thì thực hiện câu lệnh sau từ khoá THEN, rồi thoát ra khỏi câu lệnh IF, chuyển đến thực hiện lệnh tiếp theo.
    • Nếu biểu thức điều kiện có giá trị sai thì thực hiện câu lệnh 2 sau từ khóa ELSE, rồi thoát ra khỏi câu lệnh IF, chuyển đến thực hiện lệnh tiếp theo.

4. Câu lệnh ghép

a. Định nghĩa

- Khi sau THEN và sau ELSE có từ 2 câu lệnh trở lên ta phải ghép chúng lại thành một nhóm nằm giữa 2 từ khoá BEGIN và END.

=> Định nghĩa: Một nhóm câu lệnh đơn được đặt giữa 2 từ khóa BEGIN và END sẽ tạo thành một câu lệnh ghép.

b. Cú pháp:

BEGIN câu lệnh 1; câu lệnh 2; ..... câu lệnh n; END;

- Trong đó:

  • BEGIN, END là từ khoá
  • câu lệnh 1, câu lệnh 2, ... câu lệnh n là các câu lệnh đơn bất kỳ.

c. Ví dụ

- Ví dụ 1: Tìm nghiệm của phương trình bậc 2: ax2 + bx + c = 0 với a\(\ne\)0

PROGRAM vidu1; VAR a,b,c,x,x1,x2,delta:real; BEGIN Write(‘nhap a,b,a’); readln(a,b,c); Delta:=b*b-4*a*c; IF delta <0 THEN writeln(‘phuong trinh vo nghiem’) ELSE IF delta=0 THEN Begin X:=-b/2*a; Writeln(‘phuong trinh co 1 nghiem la:’,x:8:2); End; ELSE Begin X1:=(-b-sqrt(delta))/2*a; X2:=(-b+sqrt(delta))/2*a; End; Readln; END.

- Ví dụ 2: Chương trình tìm nghiệm của phương trình bậc nhất ax + b = 0

PROGRAM vidu2; VAR a,b,x:real; BEGIN Write(‘nhap a,b’); readln(a,b); IF a<>0 THEN Begin X:=-b/a; writeln(‘phuongtrinh co nghiem la:’,x:8:2); End; ELSE IF b=0 THEN writeln(‘phuong trinh vo so nghiem’); Else writeln(‘phuong trinh vo nghiem’); Readln; END.

* Lưu ý:

- Trong Pascal ta có thể đặt các lệnh ghép con trong các lệnh ghép lớn hơn bao ngoài của nó và có thể hiểu tương tự như cấu trúc ngoặc đơn ( ) trong các biểu thức toán học.

Từ khóa » Khối Rẽ Nhánh Là