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

Chia sẻ bởi Trần Đại Nghĩa | Ngày 10/05/2019 | 78

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:

14 November 2011
GV: Trần Đại Nghĩa
Bài 9: Cấu trúc rẽ nhánh

14 November 2011
GV: Trần Đại Nghĩa
1. Rẽ nhánh
Xét ví dụ(A là số nguyên)
Ví dụ 1: Nếu A chia hết cho 2 thì A là số chẵn
Ví dụ 2: Nếu A chia hết cho 2 thì A là số chẵn, ngược lại thì A là số lẻ
Cấu trúc dùng để mô tả hai ví dụ trên gọi là cấu trúc rẽ nhánh
Cấu trúc tổng quát
Dạng thiếu: Nếu …thì…
Dạng đủ : Nếu …thì …, ngược lại thì…
14 November 2011
GV: Trần Đại Nghĩa
Ví dụ: Giải phương trình bậc hai:
ax2 + bx + c = 0 (a ≠ 0)
Hãy xác định các bước để giải phương trình trên?
Nhập a,b,c
Tính biệt số delta D = b2 – 4ac
Nếu D ≥ 0 thì đưa ra các nghiệm, ngược lại thì đưa ra thông báo phương trình vô nghiệm
14 November 2011
GV: Trần Đại Nghĩa
Sơ đồ khối thể hiện cấu trúc rẽ nhánh
Nhập a,b,c
D  b2-4ac
D ≥ 0?
Thông báo vô nghiệm
rồi kết thúc
Tính và đưa ra nghiệm
rồi kết thúc
sai
đúng
14 November 2011
GV: Trần Đại Nghĩa
2.Câu lệnh if - then
Để 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 thiếu và đủ nói ở trên, pascal có hai dạng câu lệnh if – then:
Dạng thiếu
If <điều kiện> then ;
Dạng đủ
If <điều kiện> then else;
14 November 2011
GV: Trần Đại Nghĩa
2.Câu lệnh if- then
Trong đó
Điều kiện là biểu thức lôgic.
Câu lệnh, câu lệnh1, câu lệnh2, là một câu lệnh của pascal.
Sơ đồ khối
Dạng thiếu
Điều kiện
Câu lệnh
Kết thúc
đúng
sai
14 November 2011
GV: Trần Đại Nghĩa
2.Câu lệnh if - then
Sơ đồ khối
Dạng đủ
Câu lệnh 2
Câu lệnh 1
Điều kiện
sai
đúng
Kết thúc
14 November 2011
GV: Trần Đại Nghĩa
LƯU Ý:
Ở dạng thiếu :điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng thì câu lệnh sẽ được thực hiện, ngược lại không làm gì cả.
Ở dạng đủ: điều kiện cũng được tính và kiểm tra. Nếu điều kiện đúng thì câu lệnh 1 sẽ được thực hiện, ngược lại câu lệnh 2 sẽ được thực hiện.
14 November 2011
GV: Trần Đại Nghĩa
2. Câu lệnh if - then
Chú ý
Ở dạng thiếu có thể sẽ không có lệnh nào được thực hiện nếu điều kiện sai.
Ở dạng đủ có ít nhất một câu lệnh được thực hiện.
Trước else không có dấu chấm phẩy ( ; ).
Câu lệnh if-then có thể lồng nhau.
Vídụ
Vd1: if D< 0 then writeln(‘phuong trinh vo nghiem’); (dạng thiếu)
Vd2: if a mod 3 =0 then write(‘ a chia het cho 3’) else write(‘ a khong chia het cho 3’); (dạng đủ)
14 November 2011
GV: Trần Đại Nghĩa
3. Câu lệnh ghép
Trong pacal cho phép gộp nhiều câu lệnh đơn thành một câu lệnh gọi là câu lệnh ghép
Cú pháp
Begin
< các câu lệnh >;
End;
Chú ý: Câu lệnh ghép có ít nhất từ 2 lệnh đơn trở lên

14 November 2011
GV: Trần Đại Nghĩa
3. Câu lệnh ghép
Ví dụ: (đoạn chương trình giải PTB2)
if D < 0 then writeln(‘phuong trinh vo nghiem’)
else
Begin
x1:= (-b - sqrt(D))/(2*a);
write(‘gia tri x1:’,x1);
x2:=(-b + sqrt(D))/(2*a);
write(‘gia tri x2:’,x2);
End;
14 November 2011
GV: Trần Đại Nghĩa
4.Ví dụ
Ví dụ 2( trang 41 SGK)
Hãy xác định bài toán:
Input :N nhập từ bàn phím
Output :Đưa số ngày của năm N ra màn hình.
Nêu ý tưởng:
*Nếu N chia hết cho 400 hoặc N chia hết cho 4 nhưng N không chia hết cho 100
Thì in ra số ngày của năm nhuận là 366
Ngược lại in ra số ngày là 365
14 November 2011
GV: Trần Đại Nghĩa
5. Củng cố kiến thức
Hãy nhớ
Cấu trúc mô tả các mệnh đề
Nếu… thì…
Nếu… thì… ngược lại
gọi là cấu trúc rẽ nhánh
if <điều kiện> then ; gọi là lệnh rẽ nhánh dạng thiếu
if <điều kiện> then else; gọi là rẽ nhánh đầy đủ
14 November 2011
GV: Trần Đại Nghĩa
5. Củng cố kiến thức
Câu lệnh ghép
Begin
< dãy câu lệnh>;
End;
Bài tập về nhà
Ôn tập lại bài học hôm nay
Làm bài tấp số1,2 và 4 ở SGK trang 50,51.
Nghiên cứu trước bài 10 :’ Cấu trúc lặp’


* 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 Đại Nghĩa
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)