Bài 9. Cấu trúc rẽ nhánh

Chia sẻ bởi Đỗ Minh Thuấn | Ngày 10/05/2019 | 61

Chia sẻ tài liệu: Bài 9. Cấu trúc rẽ nhánh thuộc Tin học 11

Nội dung tài liệu:

Chương III
Cấu trúc rẽ nhánh và lặp

§ 9 CÊu tróc rÏ nh¸nh

§ 10 CÊu tróc lÆp

Tiết 12
Đ9 Cấu trúc rẽ nhánh
1. Rẽ nhánh
Bài toán: Lập trình nhập vào hai số thực a, b từ bàn phím. Tìm giá trị lớn nhất của hai số đó và in ra màn hình.
Phân tích bài toán:
Input:
a, b: real;
Output:
Max: là giá trị lớn nhất của hai số a, b
Cấu trúc rẽ nhánh
1. Rẽ nhánh
Thuật toán: (Liệt kê từng bước)
Bước 1: Nhập a, b;
Bước 2: Nếu a > b thì max := a, chuyển tới bước 4;
Bước 3: max := b;
Bước 4: In max ra màn hình, rồi kết thúc;
Sơ đồ khối:
Cấu trúc rẽ nhánh
1. Rẽ nhánh
Trong thực tế nhiều công việc chỉ được thực hiện khi một điều kiện nào đó được thoả mãn.
Ta có thể diễn đạt lại bằng câu như sau:
Nếu . thì .
hoặc
Nếu . thì . nếu không thì .
Ta thấy rằng trong nhiều thuật toán các thao tác tiếp theo sẽ phụ thuộc vào kết quả nhận được của các bước trước đó nó được thể hiện qua sơ đồ như sau:
Nếu Điều kiện đúng thì thực hiện công việc
Nếu Điều kiện đúng thì thực hiện công việc 1 nếu không thì thực hiện công việc 2
Cấu trúc rẽ nhánh
2. Câu lệnh If - then
a)Dạng thiếu:
If <điều kiện> then ;
b) Dạng đầy đủ:
If <điều kiện> then else ;
Trong đó:
If, then, else: từ khoá
điều kiện: là 1 biểu thức logic (True, False)
câu lệnh, câu lệnh 1, câu lệnh 2: là một câu lệnh trong Pascal
(câu lệnh có thể là câu lệnh đơn hoặc câu lệnh ghép)
Nếu Điều kiện đúng thì thực hiện công việc
Nếu Điều kiện đúng thì thực hiện công việc 1 nếu không thì thực hiện công việc 2
If <điều kiện then ;
If <điều kiện> then else ;
Cấu trúc rẽ nhánh
2. Câu lệnh If - then
Ví dụ:
Dạng đầy đủ
If a > b then max := a else max := b;
Dạng thiếu
If a > b then max := a;
If a<=b then max :=b;
If <điều kiện then ;
If <điều kiện> then else ;
If a > b then max := a else max := b;
Cấu trúc rẽ nhánh
3. Một số ví dụ
Ví dụ 1: Tìm nghiệm của phương trình
ax + b = 0 (a, b là hệ số, x là ẩn)
Input: a, b : real;
Output: x thoả mãn ax+b=0 hoặc "PT vô nghiệm"

If <điều kiện then ;
If <điều kiện> then else ;
Trình bày thuật toán?
Viết chương trình?
Bài tập:
Bài 1:
Bài 2: Hoán đổi giá trị của hai biến a1 và a2 nếu a1 > a2.
Bài 3: Tính giá trị biểu thức:
If <điều kiện then ;
If <điều kiện> then else ;
Cấu trúc rẽ nhánh
Cấu trúc rẽ nhánh
Nhập a, b
a <> 0
Đúng
Sai
In ra x = -b/a, kết thúc
b = 0
Đúng
Sai
In raPTVSN, kết thúc
In raPTVN, kết thúc
Thuật toán
If a<>0 then write(`x = `,-b/a)
else
If b= 0 then write(`PT VSN`)
else
write(`PT VN`);
If a<>0 then write(`x = `,-b/a);
If a=0 then
If b= 0 then write(`PT VSN`)
else
write(`PT VN`);
Cấu trúc rẽ nhánh
If a <> 0 then write(`x=`,-b/a) else if b = 0 then write(`PTVSN`)
else write(`PTVN`);
If a <> 0 then write(`x=`,-b/a);
If a= 0 then If b = 0 then write(`PTVSN`) else write(`PTVN`);
If a <> 0 then write(`x=`,-b/a);
If a= 0 then
Begin
If b = 0 then write(`PTVSN`);
If b <>0 then write(`PTVN`);
end;
If a <> 0 then write(`x=`,-b/a);
If (a= 0)and(b=0) then write(`PTVSN`);
If (a= 0)and(b<>0) then write(`PTVSN`);
Bài 1: Cho 4 đoạn chương trình sau:
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Đỗ Minh Thuấn
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)