Upload
dionne
View
99
Download
2
Embed Size (px)
DESCRIPTION
CHƯƠNG 3: CẤU TRÚC RẼ NHÁNH VÀ LẶP. BÀI 9: CẤU TRÚC RẼ NHÁNH. Rẽ nhánh. 2. Câu lệnh if-then. 3. Câu lệnh ghép. 4. Một số ví dụ. Nội dung:. Nếu em rẽ trái thì em sẽ đến Hải Phòng. Hải Phòng. ?. Nếu em rẽ trái thì em sẽ đến Hải Phòng ngược lại em sẽ đi đến Hà Nội. Lai Khê. - PowerPoint PPT Presentation
Citation preview
CHƯƠNG 3:CẤU TRÚC RẼ NHÁNH VÀ LẶP
BÀI 9:
CẤU TRÚC RẼ NHÁNH
Nội dung:
1. Rẽ nhánh
2. Câu lệnh if-then
3. Câu lệnh ghép
4. Một số ví dụ
Lai Khê
Hải Phòng
Hà Nội
?Nếu em rẽ trái thì em sẽ đến
Hải Phòng
Nếu em rẽ trái thì em sẽ đến
Hải Phòng ngược lại em sẽ
đi đến Hà Nội
Dạng thiếu:
Nếu … thì…
Dạng đủ:
Nếu … thì… nếu không thì…
Nếu trời mưa thì Minh sẽ ở nhà xem ti vi.
Nếu trời mưa thì Minh sẽ ở nhà xem ti vi, nếu trời không mưa (điều kiện ngược lại)thì Minh
sẽ đi đá bóng với Hùng
1. Rẽ nhánh
Ví dụ: Giải phương trình bậc hai: ax2 + bx +c =0Giải thuật:
Bước 1: tính delta D = b2 – 4acBước 2: kiểm tra D+Nếu D<0:
Bước 3: Ta sẽ thông báo phương trình vô nghiệm.+ Nếu D>0: Bước 4: Tính và đưa ra nghiệm của phương trình.
Nhập a,b,c
D = b2 – 4ac
D>=0 ?ĐúngSai
Thông báo vô nghiệm rồi kết
thúc
Tính và đưa ra nghiệm thực rồi
kết thúc
Để mô tả cấu trúc rẽ nhánh, Pascal dùng câu lệnh if-then
2 dạng:
Trong đó: - Điều kiện là một biểu thức logic (trả về kết quả đúng hoặc sai) - Câu lệnh, câu lệnh 1, câu lệnh 2 là một câu lệnh của Pascal
2. Câu lệnh if-then
SƠ ĐỒ HOẠT ĐỘNG CỦA CÂU LỆNH IF.. THENDạng thiếu
If <điều kiện> then <câu lệnh>;
<ĐK>
<Câu lệnh>
Đ
SKhi điều kiện
không thỏa, câu lệnh có được thực hiện hay
không?
Câu lệnh sẽ không được thực hiện, chương trình sẽ
thoát
Bài toán: Giải phương trình bậc hai: ax2 + bx +c =0
Bước 1: tính delta D = b2 – 4ac Bước 2: kiểm tra D
+Nếu D<0:Bước 3: Ta sẽ thông báo phương trình vô nghiệm
If D<0 then writeln(‘ phuong trinh vo nghiem’);
Ví dụ:
Dạng đủ If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
<ĐK>
<Câu lệnh 1> <Câu lệnh 2>
SĐ
2 câu lệnh có xảy ra
đồng thời hay
không?
Bài toán: Giải phương trình bậc hai: ax2 + bx +c =0 Bước 1: tính delta D = b2 – 4acBước 2: kiểm tra D
+Nếu D<0:Bước 3: Ta sẽ thông báo phương trình vô nghiệm
+ Nếu D>=0: Bước 4: Tính và đưa ra màn hình nghiệm của phương trình.
If D<0 then writeln(‘ phuong trinh vo nghiem’)Else begin
x1 := (-b + sqrt (D) ) / (2*a);x2 := (-b + sqrt (D) ) / (2*a);writeln (‘x1 = ‘,x1:5:2,’ x2 = ‘,x2:5:2);
end;
Trước else không có dấu “ ;
“
Ví dụ:
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.
Tìm giống và khác nhau giữa 2 dạng ?
3. CÂU LỆNH GHÉP:Trong Pascal 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 như sau: BEGIN
< Các Câu lệnh >;END;
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ô:
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(‘PTVN’) ng îc l¹i TÝnh vµ in
nghiÖm;
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 (a0) theo dµn ý
sau:
VÝ dô 1:
* Bài tập củng cố:
1. Nêu cú pháp của câu lệnh if-then ở hai dạng thiếu và đủ?2. Bài tập trắc nghiệm:
Câu 1: Hãy chọn phương án ghép đúng nhất. Trong câu lệnh IF – THEN, sau IF là <điều kiện>. Điều kiện là:
A, Biểu thức logic. B. Biểu thức số học. C. Một câu lệnh.
Câu 2: Hãy chọn phương án ghép đúng nhất. Trong câu lệnh IF <điều kiện> THEN <câu lệnh>. Câu lệnh đứng sau THEN được thực hiện khi?
A. điều kiện cho giá trị sai. B. điều kiện cho giá trị đúng.C. Không cần xét điều kiện
Câu 3: Với cấu trúc IF <điều kiện> THEN <câu lệnh 1> ELSE <câu lệnh 2>,
câu lệnh 2 được thực hiện khi? A.biểu thức điều kiện đúng. B.biểu thức điều kiện sai
C.câu lệnh 1 được thực hiện
* Bài tập củng cố:
Áp dụng: hãy nhập vào một số nguyên a,nếu a chia hết cho hai thì in ra màn hình “a la so chan”, ngược lại in ra “a la so le”.
Program baitap1;Uses crt;Var a: integer;Begin
Write(‘nhap so nguyen a ‘); readln(a);If (a mod 2 =0) then
Writeln(a, ‘la so chan’);Else
Writeln(a, ‘la so le’);Readln
End.
* Dặn dò:- Học cấu trúc và hoạt động của câu lệnh If…then dang đủ và
dạng thiếu.- Đọc trước phần 3,4 SGK và trả lời câu hỏi: Nếu sau Then hoặc
Else nhiều hơn 1 câu lệnh thì giải quyết như thế nào?