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

Chia sẻ bởi Nguyễn Lan Hương | Ngày 10/05/2019 | 222

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:

SỞ GD VÀ ĐT HÀ TĨNH
TRƯỜNG THPT MINH KHAI
10/2008
I. MỤC TIÊU BÀI HỌC
Hiểu được cấu trúc rẽ nhánh trong biểu diễn thuật toán;
Hiểu câu lệnh rẽ nhánh dạng thiếu và dạng đủ;
Hiểu câu lệnh ghép;
Vận dụng để giải các bài toán đơn giản
Xét ví dụ 1
Hai bạn A và B hẹn nhau
“ Nếu mai trời không mưa thì A đến nhà B”
“ Nếu mai trời không mưa thì A đến nhà B nếu trời mưa thì B đến nhà A”

Nếu …thì…nếu không thì…
Nếu …thì…
Ví dụ 2
D:= b*b-4*a*a;
Nếu D >=0 thông báo nghiệm của PT rồi kết thúc;
Kết luận PT vô nghiệm
D:=b*b-4*a*c
D>=0?
Thông báo VN
Kết thúc
Tính và đưa ra nghiệm
Kết thúc
Nhập a, b, c
Đ
S
D>=0?
Nhập a, b, c
Sơ đồ
Nếu <ĐK> thì
Nếu <ĐK> thì nếu không thì
IF <ĐK> THEN
IF <ĐK> THEN ELSE
a. Dạng thiếu
b. Dạng đủ
Điều kiện
Câu lệnh
T
F
Điều kiện
SƠ ĐỒ KHỐI
Dạng thiếu:
Điều kiện
T
Câu lệnh 1
Câu lệnh 2
F
Điều kiện
SƠ ĐỒ KHỐI
Dạng đủ:
Trong đó:
IF, THEN, ELSE là các từ khóa.
ĐK là biểu thức quan hệ hoặc biểu thức logic. Cho giá trị trả về là giá trị logic (True; False).
CL, CL1, CL2 là một câu lệnh trong Pascal.
Ý nghĩa câu lệnh rẽ nhánh:
Kiểm tra ĐK nếu đúng thì thực hiện CL, ngược lại thì
bỏ qua câu lệnh và thoát khỏi lệnh if-then.
Dạng thiếu:
Dạng đủ:
Kiểm tra nếu ĐK đúng thì thực hiện CL1, ngược lại thì
thực hiện CL2
Ví dụ 2: Kết luận nghiệm PT bậc hai:
Ví dụ 1: Tìm số lớn nhất của hai số a và b?

IF D<0 then writeln(`phuong trinh vo nghiem`)
ELSE writeln(`phuong trinh co nghiem`);

VÍ DỤ
Trường hợp sau then hoặc else có nhiều CL. Pascal cho phép gộp các CL đó thành câu lệnh ghép. Có dạng:
Begin
;
End;
Ví dụ:
If D<0 then writeln(`pt vo nghiem`)
Else Begin
x1:=(-b-sqrt(b*b-4*a*c))/(2*a);
x2:= -b/a - x1;
end;
Chạy chương trình (CTRL+F9)
Chạy chương trình (CTRL+F9)
Ví dụ 2: Viết chương trình nhập vào từ bàn phím số a bất kì. Kiểm tra nếu a>0 thì tính chu vi và diện tích hình vuông có cạnh là a. Ngược lại nếu a<=0 thì kết luận a không phải là cạnh của hình vuông.

Program vi_du2;
Var a, C,S: Real;
Begin
Writeln(`nhap a:`);
Readln(a);
If a<=0 then writeln(`a khong phai la canh hinh vuong)
Else Begin
C:=4*a;
S:=a*a;
writeln(`chu vi la: `,C,` dien tich la: `,S);
End;
Readln;
end.


Ví dụ 2: Viết chương trình nhập vào từ bàn phím số a bất kì. Kiểm tra nếu a>0 thì tính chu vi và diện tích hình vuông có cạnh là a. Ngược lại nếu a<=0 thì kết luận a không phải là cạnh của hình vuông.

Program vi_du2;
Var a, C,S: Real;
Begin
Writeln(`nhap a:`);
Readln(a);
If a<=0 then writeln(`a khong phai la canh hinh vuong)
Else Begin
C:=2*a;
S:=a*a;
writeln(`chu vi la: `,C,` dien tich la: `,S);
End;
Readln;
end.


1.Nội dung cần nắm:
2. Nhiệm vụ về 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ẻ: Nguyễn Lan Hương
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)