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

Chia sẻ bởi Trần Bá Thảo | Ngày 10/05/2019 | 46

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

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ính thương a/b và in ra màn hình thương đó.
Phân tích bài toán:
Input:
a, b: real;
Output:
Thương 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 b<>0 thì t:=a/b, chuyển tới bước 4;
Bước 3: Không tinh được;
Bước 4: In thương 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:
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 b<>0 then t:=a/b else write(`khong tinh duoc`);
Dạng thiếu
If b<>0 then t := a/b;
If b=0 then write(`khong tinh duoc`);
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?
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`);
Program bac1;
Uses crt;
Var a,b,x:real;
Begin
Clrscr;
Write(`nhap cac he so: `); readln(a,b);
If a<>0 then writeln(`nghiem la:`, -b/a) else
if b=0 then write(` phuong trinh vo so nghiem`) else write(`phuong trinh vo nghiem`);
Readln
End.
Bài tập:
Bài 1: Hoán đổi giá trị của hai biến a1 và a2 nếu a1 > a2.
Bài 2: 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
* 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ẻ: Trần Bá Thảo
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)