Bg cau trucrenhanh

Preview:

Citation preview

Click to edit Master title style

TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HCM

KHOA CNTT

TIN 3

Giảng viên: Nguyễn Khắc VănSinh viên:

Lê Thị Yến Nhi – K37.103.062

Trần Nguyễn Thu Thảo –K37.103.075

Trước khi vào bài ngày hôm

nay, các em hãy xem tình

huống.

Châu và Ngọc chuẩn bị các bài thực

hành cho môn Tin học

ChâuNgọc

Chiều mai nếu

trời không

mưa thì Châu

sẽ đến nhà

Ngọc.

Chiều mai nếu trời

không mưa thì Ngọc

sẽ đến nhà Châu, nếu

mưa thì sẽ gọi điện

cho Châu để trao đổi.

Nếu… thì…

Nếu… thì…,

nếu không thì…

Cấu trúc dùng để mô tả các dạng mệnh đề như trên

được gọi là cấu trúc rẽ nhánh thiếu và đủ.

Một việc làm

cụ thể sẽ được

thực hiện nếu

một điều kiện

cụ thể thỏa

mãn.

Một trong hai

việc làm cụ thể

chắc chắn sẽ xảy

ra tùy thuộc vào

điều kiện cụ thể

có thỏa mãn hay

không.

Trong ngôn ngữ

tin học, cấu trúc

rẽ nhánh “Nếu

..thì…”

được biểu diễn

như thế nào?

CẤU TRÚC RẼ NHÁNH

BÀI 9

Nội dung bài học

Rẽ nhánh1

Cấu trúc IF … THEN2

Câu lệnh ghép3

Một số ví dụ4

Ví dụ: Giải phương trình bậc hai:

ax2 + bx + c = 0 (ĐK : a 0)

1. Rẽ nhánh

- Vậy trong tin học thì

giải như thế nào ???

• Input: nhập a, b, c

• Output: Xuất ra nghiệm của

phương trình bậc hai.

• Nhập hệ số a,b,c

• Tính D=b2 - 4ac

• Nếu D ≥ 0 thì tính rồi đưa ra nghiệm

thực và kết thúc, ngược lại thông báo vô

nghiệm rồi kết thúc.

- Nêu các bước giải

phương trình bậc 2

trong toán học ?

1. Xác định input, output.

2. Trình tự các bước thực hiện

giải phương trình bậc 2.

Sau khi tính Delta, tùy

thuộc vào giá trị Delta, một

trong hai thao tác sẽ thực

hiện :

D ≥ 0

D < 0

Nhập a, b, c

D b2 – 4ac

D ≥ 0

Thông báo

vô nghiệm,

rồi kết thúc

Sai Đúng

Sơ đồ biểu diễn

thuật toán giải

phương trình

bậc 2 (a ≠ 0)

Tính rồi đưa

ra nghiệm thực,

rồi kết thúc

1. Rẽ nhánh

Mệnh đề “Nếu … thì”

và “Nếu … thì…, nếu không

thì…”

biểu diễn trong ngôn ngữ Pascal

như thế nào???

1. Rẽ nhánh

2. Câu lệnh IF … THEN

Câu lệnh If-then

Dạng thiếu

Dạng đủ

Điều kiệnĐúng

Câu lệnh

Sai

Câu lệnhĐúng

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

2. Câu lệnh IF … THEN

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

Là biểu thức logic Là một câu lệnh của pascal.

Ví dụ :

If D < 0 then writeln (‘ Phuong trinh vo nghiem : ’)

Dạng thiếu:

Điều kiệnĐúng

Câu lệnh 1

Sai

Câu lệnh 2

Đ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

IF <điều kiện> THEN <câu lệnh 1> (2)

ELSE <câu lệnh 2> ;

2. Câu lệnh IF … THEN

Dạng đủ:

Ví dụ:If a mod 3 = 0 then write

(‘a chia het cho 3’)else write (‘a khong chia

het cho 3’)

2. Câu lệnh IF … THEN

Ví dụ : Tìm số lớn nhất max trong 2 số a và b.

Dùng câu lệnh gán max:=a và lệnh if-then dạng thiếu

If b > a then max:=b;

If b > a then max:=b else max:=a ;

2. Câu lệnh IF … THEN

Sự giống nhau và khác nhau của hai dạng câu lệnh :

Dạng thiếu Dạng đủ

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ệnh 2> ;

Hãy dùng câu lệnh If…

then viết lệnh để xét

các trường hợp của

Delta

IF D<0 THEN Writeln(‘phuong trinh vo nghiem’)

ELSE

X1:= (-B + SQRT(D))/(2*A);

X2:= (-B - SQRT(D))/(2*A);

Writeln(‘ Nghiem X1= ’, X1:5:1);

Writeln(‘ Nghiem X2= ’, X2:5:1);

3.Câu lệnh ghép

Câu lệnh ghép là một câu lệnh được hợp thành từ nhiều

câu lệnh thành phần.

VD:

if a < b then

begin

max:=b;

min:=a;

end;

Cú pháp:

begin<Các câu lệnh > ;

end;

3.Câu lệnh ghépprogram Giai_PTB2 ;

uses crt ;

var a,b,c : real;

D, x1, x2 : real;

begin

clrscr ;

write ( ‘a, b, c: ’ ) ;

readln(a, b, c) ;

D := b*b-4*a*c ;

if D < 0 then writeln (‘ Phuong trinh vo nghiem ’)

else

begin

x1 := ( - b – sqrt (D)) / ( 2*a );

x2 := -b/a – x1 ;

writeln ( ‘ Phuong trinh co nghiem x1 = ’, x1:8:3, ‘ x2= ’, x2:8:3 ) ;

end;

readln;

end.

Hãy xác định

Input và

Output của

bài toán?

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 cho 4 nhưng không chia hết cho 100.

Input: nhập 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

4. Một số ví dụ

Liệt kê

B1:Nhập N

B2: Kiểm tra N chia hết

cho 400 hoặc (N chia hết

cho 4 và không chia hết

cho 100)

B3:Nếu B2 đúng thì

thông báo năm N có 366

ngày và kết thúc thuật

toán

B4:Nếu B2 sai thông báo

năm N có 365 ngày và

kết thúc thuật toán

4. Một số ví dụ

Sơ đồ khối

Bắt đầu

Nhập N

Thông báo năm

này

có 365 ngày

Thông báo năm

này

có 366 ngày

(N mod 400=0) or ((N mod

4=0)

and (N mod 100<>0) )

Kết thúc

Thuật toán

Đúng

Sai

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 N cần tính số ngày

In ra kết quả?

Củng cố 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ệnh 2>;

Bài tập thêm: viết chương trình lập

trình nhập từ bàn phím hai số

nguyên a,b đưa ra màn hình giá

trị lớn hơn trong hai số đó.

Mở rộng cho ba số a, b, c.

Dặn dòVề nhà:

1. Làm bài tập : 1, 2, 4 trang 51 SGK

2. Chuẩn bị bài 10: TỔ CHỨC LẶP

Tiết học đếnđây

là hết

Recommended