1. Trang chủ
  2. » Công Nghệ Thông Tin

bài 9 cấu trúc rẽ nhánh

28 1,2K 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 1,17 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nếu trời mưa thì tôi sẽ ở nhà, Điều kiện đúng Thực hiện công việc với điều kiện đúng Điều kiện không thoả mãn Thực hiện công việc với điều kiện không thoả Là một mệnh đề đầy đủ vì nó đ

Trang 1

GIÁO VIÊN : NGUYỄN THỊ THANH XUÂN

SỞ GDĐT TP HỒ CHÍ MINH

TRƯỜNG THPT ĐINH THIỆN LÝ

MÔN: TIN HỌC

Trang 2

Đây là một mệnh đề thiếu vì nó không đề cập việc gì sẽ xảy ra nếu điều kiện không thoả.

Nếu bạn học giỏi thì bạn sẽ được thưởng

Điều kiện đúng

Thực hiện công việc

?

Trang 3

Nếu trời mưa thì tôi sẽ ở nhà,

Điều kiện đúng

Thực hiện công việc với điều kiện

đúng

Điều kiện không thoả mãn

Thực hiện công việc với điều kiện không

thoả

Là một mệnh đề đầy đủ vì nó đề cập việc gì sẽ xảy

ra nếu điều kiện không thoả

Trang 4

Trong ngôn ngữ tin học, cấu trúc

“Nếu thì…” được biểu diễn như thế nào?

Trang 5

CẤU TRÚC RẼ NHÁNH

BÀI 9

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

Trang 6

Nội dung bài học

Rẽ nhánh 1

Cấu trúc IF … THEN 2

Câu lệnh ghép 3

Một số ví dụ 4

Trang 7

1 Rẽ nhánh

Ví dụ về mệnh đề “Nếu … thì”

Dạng phủ định của mệnh đề trên là:

Nếu điện không bị mất/ thì lớp sẽ học bình thường (2)

Nếu điện bị mất/ thì lớp học sẽ được nghỉ (1)

Dạng (1) hoặc (2) gọi là dạng thiếu của mệnh

đề.

Gộp (1) và (2) ta có dạng đủ của mệnh đề.

Nếu điện bị mất thì lớp học sẽ được nghỉ, nếu không thì lớp

sẽ học bình thường.

Trang 8

1 Rẽ nhánh

Dạng thiếu:

Nếu < điều kiện > đúng thì

thực hiện < công việc >

Dạng đủ:

hiện < công việc 1 > còn không

Trang 9

Ví dụ:

Nếu a chia hết cho 2 thì a là số chẵn (Dạng )

Nếu a chia hết cho 2 thì a là số chẵn còn không a là số lẻ (Dạng )

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

Trang 10

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

Hãy nêu các bước c

gi i phải phương trình ương trình ng trình

b c hai?ậc hai?

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

- Tính Delta=b2 - 4ac

- Nếu Delta <0 thì thông báo

PT vô nghiệm, ngược lại tính

và đưa ra nghiệm

Trang 11

Sau khi tính Delta, tùy

một trong hai thao tác sẽ

thực hiện

Nhập a, b, c

Tính Delta = b 2 – 4ac

Kiển tra Delta < 0

S ơng trình đồ thuật toán thu t toán ậc hai?

gi i phải phương trình ương trình ng tình

b c 2 v ra sao?ậc hai? ẽ ra sao?

(a ≠ 0)

Trang 12

1 Rẽ nhánh

Mệnh đề “Nếu … thì” và “Nếu … thì…, nếu không thì…” có thể biểu diễn trong ngôn ngữ Pascal

được không???

Trang 13

Dạng Thiếu:

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

 < điều kiện > kiểu logic sẽ cho ra

một trong hai giá trị: đúng (TRUE)

hoặc sai (FALSE).

thức điều kiện đúng thì thực hiện

<câu lệnh 1> , nếu sai thì câu lệnh

này sẽ bỏ qua.

Có 2 dạng:

2.Cấu trúc IF … THEN

Điều kiện Sai

Câu lệnh Đúng

Dạng thiếu

Trang 14

Dạng Đủ:

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

ELSE <câu lệnh 2> ; (2)

 < điều kiện > kiểu logic sẽ cho ra

một trong hai giá trị: đúng (TRUE)

hoặc sai (FALSE).

thức điều kiện đúng thì thực hiện

<câu lệnh 1> , nếu sai thì thực hiện

Trang 15

2.Cấu trúc IF … THEN

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

“If <biểu thức điều kiện> then….”

và “If <biểu thức điều kiện> then ….else…”

Trang 16

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

If then vi t l nh … then viết lệnh ết lệnh ệnh

xét các tr ng

để xét các trường ường

h p c a Deltaợp của Delta ủa Delta

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

Trang 17

Câu lệnh ghép bắt đầu bằng từ khóa Begin sau đó

là các câu lệnh, cuối cùng là từ khóa End với dấu

‘ ; ’

Cú pháp:

begin

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

Trang 19

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 ố ngày của năm N, biết rằng năm nhuận là năm chia hết ủa năm N, biết rằng năm nhuận là năm chia hết ăm N, biết rằng năm nhuận là năm chia hết ết rằng năm nhuận là năm chia hết ằng năm nhuận là năm chia hết ăm N, biết rằng năm nhuận là năm chia hết ận là năm chia hết ăm N, biết rằng năm nhuận là năm chia hết ế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.ặc chia hết cho 4 nhưng không chia hết cho 100 ết rằng năm nhuận là năm chia hết ưng không chia hết cho 100 ết rằng năm nhuận là năm chia hết

Input: nh p N t b n phímận là năm chia hết ừ bàn phím àn phím

Output: đưng không chia hết cho 100.a s ng y c a n m N ra m n hìnhố ngày của năm N, biết rằng năm nhuận là năm chia hết àn phím ủa năm N, biết rằng năm nhuận là năm chia hết ăm N, biết rằng năm nhuận là năm chia hết àn phím

N uết rằng năm nhuận là năm chia hết N chia h t cho 400 ết rằng năm nhuận là năm chia hết ho c ặc chia hết cho 4 nhưng không chia hết cho 100 N

chia h t cho 4 nh ng không ết rằng năm nhuận là năm chia hết ưng không chia hết cho 100

chia h t cho 100ết rằng năm nhuận là năm chia hết

thì In ra s ng y c a n m nhu n l 366,ố ngày của năm N, biết rằng năm nhuận là năm chia hết àn phím ủa năm N, biết rằng năm nhuận là năm chia hết ăm N, biết rằng năm nhuận là năm chia hết ận là năm chia hết àn phím

ng ưng không chia hết cho 100.ợc lại ạic l i In ra s ng y l 365ố ngày của năm N, biết rằng năm nhuận là năm chia hết àn phím àn phím

4 Một số ví dụ

Trang 20

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

Kết thúc Thuật toán

Đúng

Sai

Trang 21

Em hãy khai báo bi n cho b i toán trên? ết rằng năm nhuận là năm chia hết àn phím

Vi t i u ki n: ết rằng năm nhuận là năm chia hết đ ều kiện: ện:

N u ết rằng năm nhuận là năm chia hết N chia h t cho 400 ho c chia h t cho ết rằng năm nhuận là năm chia hết ặc chia hết cho 4 nhưng không chia hết cho 100 ết rằng năm nhuận là năm chia hết

4 nh ng không chia h t cho 100 ưng không chia hết cho 100 ết rằng năm nhuận là năm chia hết

thì nh n s ng y c a n m nhu n, ận là năm chia hết ố ngày của năm N, biết rằng năm nhuận là năm chia hết àn phím ủa năm N, biết rằng năm nhuận là năm chia hết ăm N, biết rằng năm nhuận là năm chia hết ận là năm chia hết ng ưng không chia hết cho 100.ợc lại c

l i ại nh n s ng y c a n m th ận là năm chia hết ố ngày của năm N, biết rằng năm nhuận là năm chia hết àn phím ủa năm N, biết rằng năm nhuận là năm chia hết ăm N, biết rằng năm nhuận là năm chia hết ưng không chia hết cho 100.ờng ng.

Nh p v o n m N c n tính s ng y ận là năm chia hết àn phím ăm N, biết rằng năm nhuận là năm chia hết ần tính số ngày ố ngày của năm N, biết rằng năm nhuận là năm chia hết àn phím

In ra k t qu ? ết rằng năm nhuận là năm chia hết ả?

Trang 22

Củng cố

 C u trúc mô t các m nh ấu trúc mô tả các mệnh đề: ả các mệnh đề: ệnh đề: đề: :

“ N u ếu … thì …”

“ N u ếu … thì … ng ược lại ại c l i …”

g i là c u trúc r nhánh ọi là cấu trúc rẽ nhánh ấu trúc mô tả các mệnh đề: ẽ nhánh.

 l nh r nhánh d ng thi u ệnh đề: ẽ nhánh ại ếu

Trang 23

Câu 1: cú pháp biểu diễn cấu trúc rẽ nhánh dạng thiếu là:

A.Iff<biểu thức điều kiện>then<câu lệnh>;

B.Iff<biểu thức điều kiện>then<câu lệnh>else<câu lệnh>;C.If<biểu thức điều kiện>then<câu lệnh>;

D.If<biểu thức điều kiện>then<câu lệnh>else<câu lệnh>;

C.If<biểu thức điều kiện>then<câu lệnh>;

Trang 24

Câu 2: cú pháp biểu diễn cấu trúc rẽ nhánh dạng đầy đủ là:

A.Iff<biểu thức điều kiện>then<câu lệnh>;

B.Iff<biểu thức điều kiện>then<câu lệnh>else<câu lệnh>;

C.If<biểu thức điều kiện>then<câu lệnh>;

D.If<biểu thức điều kiện>then<câu lệnh>else<câu lệnh>;

Câu 3: muốn kiểm tra đồng thời cả ba giá trị của A,B,C có cùng lớn

hơn 0 hay không ta viết câu lệnh if thế nào cho đúng?

A.If A,B,C > 0 then…

B.If A>0, B>0, C>0 then…

C.If (A>0)or (B>0)or(C >0) then…

D.If(A>0) and (B>0) and (C>0)then…

D.If<biểu thức điều kiện>then<câu lệnh>else<câu lệnh>;

D.If(A>0) and (B>0) and (C>0)then…

Trang 25

Câu 4: xét chương trình sau:

var a,b,c : integer;

BEGIN

write (‘a= ’); readln(a);

write (‘b= ’); readln(b);

write (‘c= ’); readln(c);

if a<b then a:=b;

if a<c then a:=c;

writeln(a);

END

Những phát biểu nào sau đây là đúng khi chạy chương trình? Nếu nhập:

A a= 7; b=10; c= 2007 thì kết quả chương trình ra 7;

B a=7; b=10; c=2007 thì kết quả chương trình là 10;

C a=7; b=10; c=2007 thì kết quả chương trình là 2007

D a=5; b=1; c=1983 thì kết quả chương trình là 5;

E a=5; b=1; c=1983 thì kết quả chương trình là 1;

F.a=5; b=1; c=1983 thì kết quả chương trình là 1983;

C a=7; b=10; c=2007 thì kết quả chương trình là 2007

F.a=5; b=1; c=1983 thì kết quả chương trình là 1983;

Trang 26

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ố đó.

Trang 27

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

là hết rồi!!

Trang 28

Hai dạng câu lệnh if – then như sau:

Điều kiện là biểu thức quan hệ hoặc logic.

Câu lệnh, câu lệnh 1, câu lệnh 2 là một câu lệnh của Pascal.

Giống nhau: Hai câu lệnh đều cùng là câu lệnh rẽ nhánh và khi

gặp một điều kiện nào đó thì chọn lựa thực hiện thao tác thích hợp.

Khác nhau: Trong câu lệnh if – then dạng thiếu, nếu điều kiện

không đúng thì thoát khỏi cấu trúc rẽ nhánh, thực hiện câu lệnh tiếp theo của chương trình, còn trong câu lệnh if – then dạng đủ, nếu điều kiện không đúng thì thực hiện công việc 2, sau đó mới thoát khỏi cấu trúc rẽ nhánh, thực hiện câu lệnh tiếp theo của

chương trình.

Ngày đăng: 28/05/2014, 16:39

TỪ KHÓA LIÊN QUAN

w