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

Chia sẻ bởi Phạm Thị Tươi | Ngày 10/05/2019 | 45

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:

quý thầy cô giáo và các em!
3.Câu lệnh ghép
1.Rẽ nhánh
2.Câu lệnh rẽ nhánh IF-THEN
Chương III
CẤU TRÚC RẼ NHÁNH VÀ LẶP
1. Rẽ nhánh
Ví dụ:
ừ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.
Cấu trúc rẽ nhánh là một điều khiển chọn thực hiện hay không thực hiện công việc phù hợp một điều kiện đang xảy ra.
Ví dụ: D? giải phương trình bậc hai ax2+bx+c=0 (a?0)
Em 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=b2 - 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.
Mọi ngôn ngữ lập trình đều có các câu lệnh để mô tả cấu trúc rẽ nhánh.
Nhập hệ số a,b,c
Nếu Delta>=0 thì tính
Tính Delta=b2 - 4ac
Ngược lại thông báo
Kết thúc
a) Dạng thiếu :
a) Dạng thiếu
IF <điều kiện> THEN ;
* Trong đó:
- Điều kiện: là biểu thức quan hệ hoặc biểu thức logic.
- Câu lệnh: là 1 câu lệnh của Pascal.
Thế nào là biểu thức logic?
Lưu đồ cú pháp của dạng thiếu?
Di?u ki?n
Đúng

Câu lệnh
Sai

Câu lệnh
Đúng

Câu lệnh
Di?u ki?n
Di?u ki?n
Cú pháp:
Nếu <điều kiện> đúng thì được thực hiện,
sai bị bỏ qua.
Ví dụ 1:
IF a mod 2=0 THEN Writeln(` a la so chan`);
b) Dạng đủ :
a) Dạng thiếu
IF <điều kiện> THEN ELSE ;
Lưu đồ cú pháp của dạng đủ?
Cú pháp:
Điều kiện
Đúng

Câu lệnh 1
Sai

Câu lệnh 2
Điều kiện

Câu lệnh 1

Câu lệnh 2
Điều kiện

Câu lệnh 1
b) Dạng đủ :
Nếu <điều kiện> đúng thì được thực hiện, ngược lại thì được thực hiện.
a) Dạng thiếu
b) Dạng đủ :
Ví dụ 2: Viết câu lệnh kiểm tra số nguyên a, xem a là số chẵn hay số lẻ?
sử dụng dạng thiếu và dạng đầy đủ.
Dạng đầy đủ:
If ................................. then ........................................................
Else ................................................
Dạng thiếu:
If a mod 2 = 0 then writeln (‘ a la so chan ’);
If .............................. then ................ (‘ a la so le ’);
a mod 2 <> 0
writeln
a mod 2 = 0
writeln (‘a la so chan’)
writeln (‘a la so le’ );
Lưu ý: - Sau Then và sau Else chỉ có 1 lệnh chương trình.
- Câu lệnh trước Else không có dấu chấm phẩy(;)
Viết câu lệnh rẽ nhánh tìm số lớn nhất Max trong 2 số nguyên a và b theo dạng thiếu và dạng đủ ?
a) Dạng thiếu
b) Dạng đủ :
c) BÀI TẬP NHÓM
Nhóm 1
Nhóm 2
Viết câu lệnh rẽ nhánh đưa ra câu thông báo số nguyên a là số dương hay số âm theo dạng thiếu và dạng đủ ?
Nhóm 3
Viết câu lệnh rẽ nhánh đưa ra câu thông báo “Có nghiệm” hoặc “Vô nghiệm” của phương trình bậc 2 tùy thuộc vào điều kiện của Delta dạng thiếu và dạng đủ ?
N1
c/. ĐÁP ÁN BÀI TẬP NHÓM
D?ng thiếu:
Max:=a;
If b > a then Max:=b;
Dạng đủ:
If a > b Then Max:=a
Else Max:=b;
N2
- Dạng thiếu
If a < 0 then Writeln (‘a la so am’);
If a > 0 then Writeln(‘ a la so duong’);
- Dạng đủ
If a < 0 then Writeln (‘a la so am’)
Else Writeln (‘ a la so duong’);
N3
- Dạng thiếu
If Delta < 0 then Writeln (‘Phuong trinh vo nghiem’);
If Delta >= 0 then Writeln (‘Phuong trinh co nghiem’);
- Dạng đủ
If Delta < 0 then Writeln (‘Phuong trinh vo nghiem’)
Else Writeln ( ‘Phuong trinh co nghiem’);
Các em quan sát đoạn chương trình và cho biết sau Else có mấy lệnh chương trình?
IF Delta<0 then writeln(`phương trình vô nghiệm`)
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);
3. Câu lệnh ghép:
Ngôn ngữ lập trình cho phép gộp một dãy câu lệnh thành một câu lệnh gọi là câu lệnh ghép.
BEGIN
< các câu lệnh>;
END;
- Câu lệnh ghép của pascal có dạng:
* Câu lệnh, câu lệnh 1, câu lệnh 2 trong câu lệnh if –then ở mục trên có thể là câu lệnh ghép.
IF Delta<0 then writeln(`phương trình vô nghiệm`)
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ụ: Đoạn chương trình sau trong ngôn ngữ pascal có sử dụng câu lệnh ghép.
Program GPTB2;
Uses crt;
Var . . . ;
BEGIN
. . . Nhập vào 3 hệ số a,b,c .. .
Delta :=........................................;
Readln;
END.
If Delta<0 then writeln(`ptvn`)
Else ......................................
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:
4. Một số ví dụ
Câu lệnh rẽ nhánh If – then dạng thiếu, dạng đủ và hoạt động của câu lệnh If – then.
Câu lệnh ghép, cách dùng câu lệnh ghép trong lập trình.
Tìm hiểu các bước giải phương trình bậc nhất có dạng: ax + b =0 (a<>0)
Chuẩn bị nội dung bài thực hành số 2 và làm bài tập 1,2, 4 SGK trang 50, 51.
GHI NHỚ - BÀI TẬP VỀ NHÀ
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
Câu 1: Câu lệnh nào sau đây viết đúng cú pháp?
A. If <điều kiện> then Else ;
B. If <điều kiện> then ; Else
C. If <điều kiện> then Else <điều kiện>;
D. If then <điều kiện>;
Câu 2: Cho đoạn chương trình sau:
a:=5; b:=10;
x := a;
If a < b Then x := b;
Write(x);

-Kết quả X bằng bao nhiêu?
A. 5
B. 10
C. 15
D. 20
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
Câu 3: Trong pascal cách viết câu lệnh ghép nào sau đây là đúng?
A. Begin a :=1; b :=2; End.
B. Begin a ;=1, b :=2; End;
C. Begin a :=1; b :=2; End;
D. Begin a :=1; b :=2, End.
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
Câu 4: Chọn câu lệnh sai trong các câu lệnh sau:

A. If a < b ; Then x := x + 1;
B. if a < b then x := b - a;
C. if a < b then x := a + b;
D. if a < b then x := a else x := b;
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
Câu 5: Sau khi thi hành đoạn chương trình sau , thì biến x viết ra mà hình có giá trị là bao nhiêu ?
Begin
a:= 4 ; b: = 1; x:= 2 ;
If a + b > 6 Then x := x + a + b;
Write(x);
End.
A. 2
B. 7
C. 5
D. 0
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
Chúc các Thầy giáo, Cô giáo mạnh khỏe;
Chúc các em học sinh chăm ngoan, học giỏi !
* 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ẻ: Phạm Thị Tươi
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)