Tải bản đầy đủ (.ppt) (28 trang)

Slide tin học 11 bài cấu trúc rẽ nhánh _H.T Nhung

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (840.34 KB, 28 trang )


UBND TỈNH ĐIỆN BIÊN
SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐIỆN BIÊN
Cuộc thi thiết kế bài giảng E - Learning
Bài giảng:
Tin học lớp 11
Tiết 10+11- BÀI 9:
CẤU TRÚC RẼ NHÁNH
Giáo viên : Hà Thị Nhung
Số ĐT: 01652146787
Gmail :
Trường PTDTNT – THPT Mường Chà– Điện Biên
Tháng 1/2015


Nội dung bài học :
Rẽ nhánh
Câu lệnh if - then
Câu lệnh ghép
CẤU TRÚC RẼ NHÁNH
Một số ví dụ
.

1. RẼ NHÁNH
Mời các bạn cùng
xem và tìm hiểu các
tình huống sau nhé!
TRỞ VỀ

Ừm để
tớ nghĩ


đã
Nếu ngày
mai mưa
thì tớ
nghỉ.
À nếu ngày mai
mưa thì tớ nghỉ,
nếu không mưa
thì tớ đến nhà cậu
học nhé.
Này, ngày mai
cậu có đi học
nhóm không?

Nếu thì
Nếu … thì…,
nếu không thì …
Cấu trúc dùng để mô tả các mệnh đề có dạng như trên gọi là
cấu trúc rẽ nhánh thiếu và đủ.
Cấu trúc dùng để mô tả các mệnh đề có dạng như trên gọi là
cấu trúc rẽ nhánh thiếu và đủ.
TRỞ VỀ

Ví dụ: Giải phương trình bậc hai ax
2
+bx+c=0 (a≠0)
Hãy nêu các
bước giải
phương trình
bậc hai?

-
Nhập hệ số a,b,c
-
Tính Delta=b
2
- 4ac
-
Nếu Delta âm thì thông báo PT
vô nghiệm, ngược lại tính và
đưa ra nghiệm.
TRỞ VỀ

Các em hãy vẽ sơ đồ
khối diễn tả thuật toán
giải phương trình bậc 2
(với a

0)
Sau khi tính Delta, tuỳ
thuộc vào giá trị Delta,
một trong hai thao tác sẽ
thực hiện.
Nhập a, b, c
Tính Delta = b
2
– 4ac
Kiểm tra
Delta < 0
Tính và đưa
ra nghiệm

Thông báo vô
nghiệm
Kết thúc
Sai Đúng
TRỞ VỀ

Tiểu kết 1
Thông qua tình huống ta có hai mệnh đề:
-
Dạng thiếu:
Nếu thì
-
Dạng đủ:
Nếu thì , nếu không thì
Cấu trúc dùng để mô tả hai mệnh đề trên được
gọi là cấu trúc rẽ nhánh dạng thiếu và đủ.
TRỞ VỀ

IF <Điều kiện> THEN <Câu lệnh>;
Điều kiện
Đúng
Câu lệnh
Nếu <điều kiện> đúng thì <câu lệnh> được thực hiện,
ngược lại <câu lệnh> sẽ bị bỏ qua.
Sai
a. Dạng thiếu
Câu lệnh
Đúng
Câu lệnh
Điều kiệnĐiều kiện

2. Câu lệnh IF - THEN
- Điều kiện là biểu thức quan hệ hoặc biểu thức lôgic.
- Câu lệnh là một lệnh của Pascal.
Trong đó:
Ví dụ: IF a mod 2=0 THEN Write (‘ a la so chan’);
TRỞ VỀ

Ví dụ Đáp án
VD1: Kiểm tra số
nguyên a có phải là số lẻ
không?
VD2:Kiểm tra số nguyên
a có chia hết cho 3 và 5
không?
If a mod 2 <>0
Then write(‘a la so le’);
If (a mod 3 =0) and (a mod 5
=0) then write(‘a la so chia
het cho 3 va 5’);

b. Dạng đủ
IF <Điều kiện> THEN <Câu lệnh 1> ELSE <Câu lệnh 2>;
Điều kiện
Đúng
Câu lệnh 1
Sai
Câu lệnh 2
Nếu <điều kiện> đúng thì <câu lệnh1> được thực hiện,
ngược lại thì <câu lệnh 2> được thực hiện.
Điều kiện

Câu lệnh 1Câu lệnh 2
Điều kiện
Câu lệnh 1
Điều kiện
Ví dụ:
IF a mod 2=0 THEN Write (‘a là so chan’)
ELSE Write (‘a la so le’);
TRỞ VỀ

Ví dụ Đáp án
VD1: Kiểm tra số
nguyên a có chia hết hay
không chia hết cho 5?
VD2: Tìm số lớn nhất
max trong hai số a và b.
If a mod 5 = 0 Then write(‘a
chia het cho 5’)
Else write(‘a khong chia het
cho 5’);
If b > a Then max:= b
Else max:=a;

Hãy dùng câu lệnh IF –
THEN dạng đủ để xét các
trường hợp của DELTA
IF Delta<0 THEN Writeln(‘Phuong trinh vo nghiem’)
ELSE
X1:= (-B + SQRT(Delta))/(2*A);
X2:= (-B - SQRT(Delta))/(2*A);
Writeln(‘ Nghiem X1= ’, X1:5:1);

Writeln(‘ Nghiem X2= ’, X2:5:1);
TRỞ VỀ

Em hãy chọn đáp án đúng cho bài toán sau:
Kiểm tra số nguyên X có chia hết cho 5 và 7 không?
Đúng rồi
Đúng rồi
Sai rồi
Sai rồi
Em phải trả lời trước
khi tiếp tục
Em phải trả lời trước
khi tiếp tục
Đáp án
Đáp án Trả lời lạiTrả lời lại
A)
If( x mod 5 = 0) and (x mod 7 = 0) then writeln (' x chia het cho 5
va 7') else Write (' x khong chia het cho 5 va 7' );
B)
If (x mod 5 = 0) and (x mod 7 <> 0) then writeln (' x chia het cho 5
va 7')else Write (' x khong chia het cho 5 va 7' );
C)
If( x mod 5 = 0) or (x mod 7 = 0) then writeln (' x chia het cho 5
hoac 7')else Write (' x khong chia het cho 5 hoac 7' );
D)
If( x mod 5 <> 0) or (x mod 7 = 0) then writeln (' x chia het cho 5
hoac 7')else Write (' x khong chia het cho 5 hoac 7' );

Em hãy cho biết câu sau là đúng hay sai
'Câu lệnh trước Else không có dấu chấm phẩy'

Đúng rồi
Đúng rồi
Sai rồi
Sai rồi
Em phải trả lời trước
khi tiếp tục
Em phải trả lời trước
khi tiếp tục
Đáp án
Đáp án
Trả lời lại
Trả lời lại
A) True
B) False

Tiểu kết 2
Câu lệnh if- then có hai dạng:
-
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>;
* Lưu ý: Câu lệnh trước ELSE không có dấu “ ; ”
TRỞ VỀ

3. CÂU LỆNH GHÉP
Ngôn ngữ lập trình cho phép gộp nhiều câu lệnh thành
một câu lệnh gọi là câu lệnh ghép, có dạng:

BEGIN
< Các câu lệnh>;
END;
BEGIN
< Các câu lệnh>;
END;
IF Delta<0 THEN Writeln(‘ phuong trinh vo nghiem’)
ELSE
BEGIN
X1:= (-B + SQRT(Delta))/(2*A);
X2:= (-B - SQRT(Delta))/(2*A);
Writeln(‘ Nghiem X1= ’, X1:5:1);
Writeln(‘ Nghiem X2= ’, X2:5:1);
END;
Ví dụ:
TRỞ VỀ

Câu lệnh ghép có dạng :
A) Begin
<Các câu lênh>;
End.
B) Begin
<Các câu lênh>;
End;
C) Begin:
<Các câu lênh>;
End;
D) Begin:
<Các câu lênh>;
End.

Đúng rồi
Đúng rồi
Sai rồi
Sai rồi
Em phải trả lời trước
khi tiếp tục
Em phải trả lời trước
khi tiếp tục
Đáp án
Đáp án
Trả lời lại
Trả lời lại

Tiểu kết 3
Ngôn ngữ lập trình cho phép gộp nhiều câu lệnh
thành một câu lệnh gọi là câu lệnh ghép, có dạng:
BEGIN
< Các câu lệnh>;
END;
TRỞ VỀ

Program GPTB2;
Uses crt;
Var . . . ;
BEGIN
. . . Nhập vào 3 hệ số a,b,c .
Delta :=. . .;
Readln;
END.
Nếu Delta<0 thì Writeln(‘phuong trinh vo nghiem’)

ngược lại Tính và đưa nghiệm ra màn hình;
4. MỘT SỐ VÍ DỤ
Em hãy hoàn thiện
chương trình giải
phương trình bậc 2
(a

0) theo dàn ý sau:
Ví dụ 1:
TRỞ VỀ

TRỞ VỀ

Hãy xác định
Input và Output
của bài?
Ví dụ 2: Tìm số ngày của năm N, biết rằng năm nhuận là năm chia hết cho
400 hoặc chia hết 4 nhưng không chia hết cho 100.
Input: Nhập năm N từ bàn phím.
Output: Đưa số ngày của năm N ra màn hình.
Nếu N chia hết cho 400 hoặc N chia hết cho 4
nhưng 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
TRỞ VỀ

Em hãy khai báo biến cho bài toán trên?
Viết điều kiện:
Nếu N chia hết cho 400 hoặc chia hết cho 4
nhưng không chia hết cho 100

thì nhận số ngày của năm nhuận, ngược lại
nhận số ngày của năm thường.
Nhập vào NĂM cần tính số lượng ngàyIn ra kết quả?
TRỞ VỀ

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.
 Lệnh rẽ nhánh dạng thiếu
 Lệnh rẽ nhánh dạng đủ

Câu lệnh ghép
BEGIN
<Các câu lệnh>;
END;
IF <ĐIỀU KIỆN> THEN <CÂU
LỆNH>;
IF <ĐIỀU KIỆN> THEN <CÂU
LỆNH 1>
ELSE <CÂU
LỆNH2>;

×