[bài dạy] cấu trúc rẽ nhánh
TRANSCRIPT
L/O/G/O
Lí luận dạy học tin 2
Cấu Trúc Rẽ Nhánh
www.themegallery.com
● Câu 2 : Em hãy biễu diễn bằng pascal biểu thức toán học sau đây
● Câu 1 : Em hãy viết một ví dụ về khai báo một số nguyên,thực hiện lệnh gán và xuất ra màn hình
Kiểm tra bài cũ
(-b+ sqrt (b*b-4ac)/2a
int a:=n; hoặc int a; a:=n;writeln (a); hoặc write (a);
www.themegallery.com
Đặt vấn đề
Một em hãy lên bảng trình bày các bước giải một phương trình bậc hai
Vậy làm sao để giải một bài toán về phương trình bậc 2 trên máy tình bằng ngôn ngữ lập trình Turbo Pascal ?
Dựa trên những kiến thức đã học ở bài trước cùng kiến thức sắp học ở bài này. Ta sẽ làm được điều đó.
Chúng ta đi vào bài học hôm nay : Cấu Trúc Rẽ Nhánh
www.themegallery.com
Nội dung bài học
Mục lục
Một số ví dụ
Câu lệnh If-Then
Dạng thiếu
Dạng đủ
Câu lệnh ghép
www.themegallery.com
Nếu chiều nay có mưa bay
thì tớ sẽ đi học
Hôm nay chúng ta đi học đầy đủ nhé
Nếu chiều nay có mưa bay thì tớ sẽ nghĩ học, nếu chiều nay không có
mưa bay thì tớ sẽ đi
Hằng ngày có những công việc nào ta chỉ thực hiện được khi một điều kiện cụ thể nào đó được thỏa mãn
Các mệnh đề trên có dạng : Nếu…. Thì ; Nếu…. Thì…..,Nếu....Không….ThìCấu trúc để mô tả các mệnh đề như trên được gọi là cấu trúc rẽ nhánh dạng thiếu và dạng đủ
Cấu trúc rẽ nhánh
www.themegallery.com
Ví dụ
Mệnh đề 2Mệnh đề 1
Câu có dạng NẾU…THÌ: là câu rẽ nhánh DẠNG THIẾU
Câu có dạng NẾU…THÌ,NẾU KHÔNG….THÌ: câu rẽ nhánh dạng ĐẦY ĐỦ
Dựa vào 2 dạng trên, các em hãy đưa một vài ví dụ về Cấu Trúc Rẽ Nhánh
Cấu trúc rẽ nhánh
www.themegallery.com
Câu lệnh If-Then
Điều kiện Câu lệnhĐúng
Sai
IF < Điều kiện > THEN < Câu lệnh > ;
Dạng thiếu
Sơ đồ khối
Nếu < Điều kiện > đúng thì < Câu lệnh > được thực hiện, sai < Câu lệnh > bị bỏ qua.
www.themegallery.com
Câu lệnh If-Then
* Ví dụ 1: Dung lênh if ... Then... kiểm tra tính chẵn lẽ IF a mod 2 = 0 THEN Writeln(‘ a la so chan’);
* Ví dụ 2: Dung lênh if ... Then... kiểm tra phương trình có nghiêm hay không
IF Delta < 0 THEN Writeln(‘ Phương Trình Vô Nghiêm’);
IF Delta 0 THEN Writeln(‘ Phương Trình Có Nghiêm’);
www.themegallery.com
Câu lệnh If-Then
*Thảo luận nhóm : Mỗi nhóm suy nghĩ và lên bảng viết: câu lệnh xác định max của 2 số a và b bằng ngôn ngữ Pascal, ghi rõ
ý tưởng và các bước thực hiện.
Ý tưởng Thực hiện
Nếu a < b thì gán Max = b;
Nếu a > b thì gán Max = a;
If a < b then Max:=b;
If a > b then Max:=b;
www.themegallery.com
Câu lệnh If-Then
IF < Điều kiện > THEN < Câu lệnh 1 >ELSE < Câu lệnh 2 > ;
Dạng đủ
Sơ đồ khối
Điều kiện Câu lệnh 1Đúng Sai Câu lệnh 2
Nếu< Điều kiên > đúng thì < Câu lênh 1 > được thực hiện, ngược lại < Câu lênh 2 > được thực hiện.
www.themegallery.com
Câu lệnh If-Then
Ví dụ 3 : Viết câu lệnh rẽ nhánh dạng đủ kiểm tra số A có phải là số âm hay không ?
Hướng dẫn : Nếu A < 0 thì đưa ra màn hình câu ‘ A là số âm’ ngược lại thì đưa ra màn hình câu ‘A là số không âm’
-IF A < 0 THEN Writeln(‘ A la so am’)
ELSE writeln(‘A la so khong am’);
Ví dụ 4 : Viết câu lệnh rẽ nhánh dạng đủ tìm số lớn nhất max trong 2 số a và b.
Hướng dẫn : Nếu b > a thì gán max cho b còn ngược lại thì gán max cho a.- IF b > a THEN max := b ELSE max := a;
Chú ý: Trước từ khoá ELSE không có dấu chấm phẩy “ ; ”
www.themegallery.com
Câu lệnh If-Then
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> ;
Tìm giống và khác nhau giữa 2 dạng
www.themegallery.com
Câu lệnh If-Then
Khác nhau:
+ Dạng thiếu: điều kiện sai sẽ bỏ qua câu lệnh.
+ Dạng đủ: điều kiện sai sẽ thực hiện câu lệnh 2.
Giống nhau:
+ Là câu lệnh cấu trúc rẽ nhánh
+ Khi gặp điều kiện sẽ thực hiện thao tác thích hợp.
www.themegallery.com
Câu lệnh If-Then• Ví dụ 5:
a) Dung lênh if ... Then...Else kiểm tra phương trình có nghiêm hay không
b)Nếu có thì tìm nghiêm
IF Delta < 0 THEN Writeln(‘ Phương Trình Vô Nghiêm’)
ELSE Writeln(‘ Phương Trình Có Nghiêm’);
IF Delta 0 THEN
X1:=(-b-sqrt(D))/2*a;
X2:=-b/a-x1;Như ở trên sau THEN hoặc ELSE chỉ có một câu lệnh vậy nếu sau từ khóa THEN hoặc ELSE có nhiều câu lệnh thì ta phải
làm sao?
www.themegallery.com
Câu lệnh ghépNếu trong cấu trúc rẽ nhánh, sau THEN hoặc ELSE có từ 2 lệnh trở lên thì gộp thành câu lệnh ghép, đặt các câu lệnh đó trong cặp từ khóa BEGIN…AND;BEGIN
<câu lệnh>END.
• Ví dụ 5 : If D<0 then writeln(“pt vô nghiệm.”);Else
BeginX1:=(-b-sqrt(D))/2*a;X2:=-b/a-x1;
End;
www.themegallery.com
Củng cố
Cấu trúc mệnh đề có dạng:
“Nếu ... thì ...”
“Nếu ... thì ..., ngược lại ...”
gọi là cấu trúc rẽ nhánhIF < Điều kiện > THEN < Câu lệnh >
;
Lệnh rẽ nhánh dạng thiếu
Lệnh rẽ nhánh dạng đủ
IF < Điều kiện > THEN < Câu lệnh1 >
ELSE < Câu lệnh 2 > ;