1. Lý thuyết tin học bài 9: Cấu trúc rẽ nhánh

1.1 Rẽ nhánh

Ví dụ 1: Để giải phương trình bậc hai: ax2 +bx +c = 0 (a \(\neq\) 0 ) ta phải: Tính Delta = b*b - 4*a*c

Nếu Delta < 0 thì phương trình vô nghiệm.

Nếu Delta >= 0 thì phương trình có nghiệm.

Hoặc có thể nói: Nếu Delta < 0 thì phương trình vô nghiệm, ngược lại phương trình có nghiệm.

Ta có mệnh đề sau:

Nếu ... thì ... (Dạng thiếu)

Nếu ... thì ... nếu không thì ... (Dạng đủ)

 

1.2. Câu lệnh if-then

Cấu trúc này được gọi là cấu trúc rẽ nhánh thiếu và đủ.

Để mô tả cấu trúc rẽ nhánh, Pascal dùng câu lệnh if-then. Tương ứng với hai dạng mệnh đề thiếu và đủ nói ở trên, Pascal có hai dạng câu lệnh if-then:

a. Dạng thiếu 

Cú pháp: If < Điều kiện > then < Câu lệnh >;

Trong đó:

Điều kiện: Là biểu thức quan hệ hoặc logic.

Câu lệnh: Là một câu lệnh của Pascal.

Phân loại Cấu trúc rẽ nhánh: Tin học 11 bài 9

Hình 1. Sơ đồ cấu trúc rẽ nhánh dạng thiếu

Ý nghĩa: Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng thì câu lệnh được thực hiện, nếu điều kiện sai thì câu lệnh sẽ bị bỏ qua.

Ví dụ 2:

if Delta < 0 then writeln('Phuong trinh vo nghiem.');

b. Dạng đủ

Cú pháp:

If < Điều kiện > then < Câu lệnh 1 >

else < Câu lệnh 2 >;

Trong đó:

Điều kiện: Là biểu thức quan hệ hoặc logic.

Câu lệnh 1, câu lệnh 2: Là một câu lệnh của Pascal.

Sơ đồ:

Phân loại Cấu trúc rẽ nhánh: Tin học 11 bài 9

Hình 2. Sơ đồ cấu trúc rẽ nhánh dạng đủ

Ý nghĩa: Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng thì thực hiện câu lệnh 1, ngược lại thì thực hiện câu lệnh 2.

Chú ý: Trước từ khóa Else không có dấu chấm phẩy (;)

Ví dụ 3:

if a mod 3 = 0 then write('a chia het cho 3')

else write('a khong chia het cho 3');

 

1.3. Câu lệnh ghép

Trong Pascal câu lệnh ghép có dạng:

Begin < Các câu lệnh >; End;

Chú ý : Sau END phải có dấu chấm phẩy (;)

 

2. Luyện tập Bài 9 Tin học 11: Cấu trúc rẽ nhánh

Sau khi học xong Bài 9: Cấu trúc rẽ nhánh, các em cần nắm vững các nội dung trọng tâm:

- Rẽ nhánh;

- Câu lệnh If - then: Dạng thiếu: ​If < Điều kiện > then < Câu lệnh >;

- Dạng đủ: If < Điều kiện > then < Câu lệnh 1 > else < Câu lệnh 2 >;

- Câu lệnh ghép: Có thể gộp dãy câu lệnh thành câu lệnh ghép.

Bài tập 1: Cấu trúc rẽ nhánh và câu lệnh if-then-else

1. Cấu trúc nào dưới đây được gọi là "cấu trúc rẽ nhánh thiếu"?

A. if-then-else

B. if-then

2. Để sử dụng cấu trúc rẽ nhánh dạng đủ, bạn cần sử dụng cú pháp nào sau đây?

A. if-then-else

B. if-then

3. Trong Pascal, điều kiện trong câu lệnh if-then-else phải là gì?

A. Chỉ là một số nguyên.

B. Là biểu thức quan hệ hoặc logic.

4. Trong câu lệnh if-then, nếu điều kiện đúng, thì cái gì sẽ xảy ra?

A. Câu lệnh sẽ bị bỏ qua.

B. Câu lệnh sẽ được thực hiện.

5. Dạng câu lệnh nào được sử dụng để xử lý hai trường hợp: nếu điều kiện đúng thì thực hiện một câu lệnh, nếu điều kiện sai thì thực hiện câu lệnh khác?

A. if-then-else

B. if-then

6. Trong câu lệnh if-then-else, sau từ khóa "Else" cần có dấu gì?

A. Dấu chấm phẩy (;)

B. Dấu chấm (.)

Bài tập 2 : Cấu trúc rẽ nhánh

1. Câu lệnh if-then trong Pascal được sử dụng để thực hiện các hành động dựa trên điều kiện đúng hoặc sai. Cấu trúc này thuộc dạng nào sau đây?

A. Dạng thiếu

B. Dạng đủ

C. Dạng so sánh

D. Dạng vòng lặp

2. Trong cấu trúc if-then-else, nếu điều kiện là đúng, thì câu lệnh nào sẽ được thực hiện?

A. Câu lệnh trước từ khóa "if"

B. Câu lệnh sau từ khóa "if"

C. Câu lệnh sau từ khóa "else"

D. Cả câu lệnh trước và sau từ khóa "if"

3. Trong Pascal, câu lệnh if-then-else có cú pháp như thế nào?

A. If <điều kiện> then <câu lệnh 1>; else <câu lệnh 2>;

B. If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;

C. If <điều kiện> else <câu lệnh 2> then <câu lệnh 1>;

D. If <điều kiện> else <câu lệnh 1> then <câu lệnh 2>;

4. Câu lệnh ghép trong Pascal sử dụng từ khóa nào để bắt đầu và kết thúc khối lệnh?

A. Begin và Else

B. Then và End

C. Start và Finish

D. Start và Stop

5. Trong một câu lệnh if-then-else, nếu điều kiện là sai, thì câu lệnh nào sẽ được thực hiện?

A. Câu lệnh trước từ khóa "if"

B. Câu lệnh sau từ khóa "if"

C. Câu lệnh sau từ khóa "else"

D. Cả câu lệnh trước và sau từ khóa "if"

Bài tập 3: Cấu trúc rẽ nhánh

1. Cấu trúc rẽ nhánh dùng để làm gì trong lập trình?

A. Tạo ra chuỗi ký tự

B. Quản lý biến

C. Thực hiện các câu lệnh theo điều kiện

D. Tính toán số học

2. Trong câu lệnh if-then trong Pascal, điều kiện được kiểm tra ở đâu?

A. Trong phần then

B. Trong phần else

C. Trước từ khóa then

D. Trước từ khóa else

3. Câu lệnh if-then-else trong Pascal có bao nhiêu phần?

A. 1

B. 2

C. 3

D. 4

4. Trong câu lệnh if-then-else, câu lệnh nào sẽ được thực hiện nếu điều kiện là đúng?

A. Câu lệnh trước từ khóa then

B. Câu lệnh sau từ khóa then

C. Cả hai câu lệnh

D. Không có câu lệnh nào được thực hiện

5. Câu lệnh if-then-else trong Pascal thường được sử dụng để thực hiện gì?

A. Cộng hai số

B. Hiển thị thông điệp lên màn hình

C. Thực hiện câu lệnh nếu điều kiện đúng và câu lệnh khác nếu điều kiện sai

D. Vẽ hình trên màn hình

6. Cấu trúc if-then-else là một cấu trúc rẽ nhánh dạng nào?

A. Cấu trúc rẽ nhánh thiếu

B. Cấu trúc rẽ nhánh đủ

C. Cả hai

D. Không phải là cấu trúc rẽ nhánh

7. Trong cấu trúc if-then-else, câu lệnh ở đâu sẽ được thực hiện nếu điều kiện là sai?

A. Câu lệnh trước từ khóa then

B. Câu lệnh sau từ khóa then

C. Câu lệnh trước từ khóa else

D. Câu lệnh sau từ khóa else

8. Câu lệnh ghép trong Pascal được sử dụng để làm gì?

A. Đặt tên biến

B. Nhận đầu vào từ người dùng

C. Nhóm nhiều câu lệnh lại với nhau để thực hiện tuần tự

D. Thực hiện phép tính toán

9. Trong câu lệnh ghép trong Pascal, câu lệnh nào sẽ được thực hiện đầu tiên?

A. Câu lệnh đầu tiên trong dãy

B. Câu lệnh cuối cùng trong dãy

C. Câu lệnh nằm giữa

D. Câu lệnh nào cũng được thực hiện cùng một lúc

10. Trong cấu trúc if-then-else, số lượng câu lệnh else có thể có là:

A. 1

B. Nhiều hơn 1

C. 0 (không có)

D. Luôn là 2 câu lệnh

 

3. Bài tập vận dụng

Câu 1: Câu lệnh if-then trong Pascal được sử dụng cho mục đích gì?

A. Lặp lại một câu lệnh nếu một điều kiện đúng.

B. Thực hiện một câu lệnh nếu một điều kiện đúng và bỏ qua nếu điều kiện sai.

C. Lặp lại một câu lệnh cho đến khi một điều kiện trở thành đúng.

D. Thực hiện một câu lệnh mà không kiểm tra điều kiện.

Câu 2: Câu lệnh if-then-else được sử dụng khi nào trong Pascal?

A. Để lặp lại một câu lệnh nếu điều kiện đúng.

B. Để kiểm tra nhiều điều kiện đồng thời.

C. Để thực hiện một câu lệnh nếu điều kiện đúng và một câu lệnh khác nếu điều kiện sai.

D. Để kiểm tra điều kiện và thực hiện câu lệnh nếu điều kiện sai.

Câu 3: Điều kiện trong câu lệnh if-then-else trong Pascal là gì?

A. Một chuỗi ký tự.

B. Một biểu thức quan hệ hoặc logic.

C. Một số nguyên.

D. Một mảng các số thực.

Câu 4: Câu lệnh if-then-else có thể được gọi là gì?

A. Cấu trúc lặp.

B. Cấu trúc rẽ nhánh dạng đủ.

C. Cấu trúc lặp vô hạn.

D. Cấu trúc vòng lặp.

Câu 5: Trong cấu trúc if-then-else, nếu điều kiện là sai, thì cái gì sẽ được thực hiện?

A. Câu lệnh ở sau từ khóa then sẽ được thực hiện.

B. Câu lệnh ở sau từ khóa else sẽ được thực hiện.

C. Không có câu lệnh nào sẽ được thực hiện.

D. Cả hai câu lệnh sau từ khóa then và else sẽ được thực hiện.

Câu 6. Hãy chọn phương án ghép đúng nhất . Để mô tả cấu trúc rẽ nhánh trong thuật toán, nhiều ngôn ngữ lập trình bậc cao dùng câu lệnh IF – THEN, sau IF là <điều kiện> . Điều kiện là

A, biểu thức lôgic;          

B, biểu thức số học;       

C, biểu thức quan hệ;     

D, một câu lệnh;

Quý khách có thể tham khảo thêm bài viết: Yếu tố nào không phải là môi trường truyền dẫn?