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

Bai 9 cau truc re nhanh

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 (1.21 MB, 24 trang )

BÀI 9

Chương III
CẤU TRÚC RẼ NHÁNH VÀ LẶP


BI 9
1. Rẽ nhánh

Ví dụ:

Mời các em cùng
xem và tìm hiểu
các tình huống
sau nhé!


BI 9
Này, ngày mai
cậu có đi học
nhóm không?

à! Nếu ngày
mai ma thì
tớ nghỉ, nếu
không ma
thì tớ đến
nhà cậu học
nhé.

Nếu ngày


mai ma
thì tớ
nghỉ.

ừm,
để tớ
nghĩ
đÃ.


BI 9

Nếu ... thì

Nếu thì,
nếu không thì

Cấu
Cấu trúc
trúc dùng
dùng để
để mô
mô tả
tả các
các mệnh
mệnh đề
đề có

dạng
dạng nh

nh trên
trên
gọi
gọi là
là cấu
cấu trúc
trúc rẽ
rẽ nhánh.
nhánh.


BÀI 9

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.


BI 9

Ví dụ: giải phơng trình bậc hai ax2+bx+c=0 (a0)

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.


BÀI 9

NhËp hÖ sè a,b,c

Nhập a, b, c

TÝnh Delta=b2 - 4ac

D b2-4ac

Ngợc lại thông báo

S

Thụng bỏo vụ
nghim



D 0

Nếu Delta>=0
thì tính
Tớnh v a ra nghim

thc

Kt thỳc

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.


BÀI 9

a) Dạng thiếu :
Cú pháp:

IF <điều kiện> THEN <câu lệnh>;

* 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 ca dng thiu?
ỳng

iu kin

Cõu lnh

Sai

Nếuthiu
<điều kiện> đúng thì <câu lệnh> đợc thực hiện,

a) Dng
Ví dụ
1:

bỏ qua.
IF asai
mod
2=0 lệnh>
THEN bị
Writeln(
a la so chan’);


BÀI 9

b) Dạng đủ :
Cú pháp:

IF <điều kiện> THEN <câu lệnh 1> ELSE <câu lệnh 2>;
Lưu đồ cú pháp của dạng đủ?
Sai

Đúng

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

Câu lệnh 1


a) Dạng thiếu
b) Dạng :

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.


BÀI 9

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 thiếu:

If a mod 2 = 0 then writeln (‘ a la so chan ’);
writel
mod 2
If a
..............................
then
n
0
so <>
le ’);

................

(‘ a la

Dạng đầy đủ:


If .................................
........................................................
a mod 2 =then writeln
(‘a la so chan’)
0
Else ................................................
writeln (‘a la so le’ );

a) Dạng thiếu
b) Dạng đủ :

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(;)


BÀI 9

c) BÀI TẬP NHĨM

Nhóm 1
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 đủ ?

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

a) Dạng thiếu

b) Dạng đủ :

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 đủ ?


BÀI 9

c/. ĐÁP ÁN BÀI TẬP NHĨM

N1

 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 đủ
a) Dạng thiếu
b) Dạng đủ :

If Delta < 0 then Writeln (‘Phuong trinh vo nghiem’)
Else Writeln ( ‘Phuong trinh co nghiem’);


BI 9

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);


BÀI 9


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 lnh ghộp.
- Câu lệnh ghép của pascal có
dạng:

BEGIN
BEGIN
<
< các
các c©u
c©u lƯnh>;
lƯnh>;
END;
END;
* 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.


BI 9

Ví dụ: Đoạn chơng trình sau trong ngôn ngữ
pascal có sử dụng 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;


BI 9

4. Mt s vớ d
Em hÃy hoàn thiện
Program GPTB2;
chơng trình giải ph
Uses crt; ơng trình bậc 2

Var . . . ;

(a<>0) theo dµn ý
sau:

BEGIN
. . . NhËp vµo 3 hÖ sè a,b,c .. .
Delta :=........................................;

If Delta<0 then Writeln(‘PTVN’)
Else ......................................
a) Dạng thiếu
b) Dạng đủ :

Readln;

END.


BÀI 9


BÀI 9

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.
a) Dạng thiếu
b) Dạng đủ :


BÀI 9

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 <lệnh 1> Else <lệnh 2>;
B. If <điều kiện> then <lệnh> ; Else
C. If <điều kiện> then <lệnh 1> Else <điều kiện>;

D. If <lệnh> then <điều kiện>;


BÀI 9

BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG

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 9

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 9

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 9

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


BI 9

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 !



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×