1. Trang chủ
  2. » Cao đẳng - Đại học

Bai 9 Cau truc re nhanh

4 7 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 14,85 KB

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

Nội dung

GV: Đưa ra các ví dụ có sử dụng lệnh rẽ nhánh, nếu không có câu lệnh rẽ nhánh thì không thể thực hiện được.. HS: Quan sát và nghe giảng.[r]

Trang 1

Ngày soạn: 25/10/2010

Ngày giảng:

Lớp dạy:

Bài 9: CẤU TRÚC RẼ NHÁNH

1 Kiến thức

- Hiểu nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán

- Hiểu được cấu trúc và hoạt động rẽ nhánh dạng thiếu và dạng đủ

2 Kỹ năng

- Nhận biết được sự xuất hiện của cấu trúc rẽ nhánh trong khi giải quyết một số bài toán

- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán một số bài toán đơn giản

- Viết được lưu đồ thuật toán của cấu trúc rẽ nhánh dạng thiếu và dạng đủ

3 Thái độ

- Tiếp tục khơi gợi lòng ham thích giải toán bằng lập trình trên máy tính

- Tiếp tục rèn luyện các phẩm chất của người lập trình như: xem xét giải quyết vấn đề một cách cẩn thận, chu đáo, có sáng tạo, không thỏa mãn với kết quả ban đầu đạt được,…

1 Giáo viên: máy vi tính, máy chiếu, sách giáo khoa, sách giáo viên và đồ dùng dạy học

2 Học sinh: sách giáo khoa, vở ghi chép, đồ dùng học tập và chuẩn bị bài mới

III Tiến trình:

1 Kiểm tra bài cũ (5’):

- Để nhập dữ liệu từ bàn phím dùng thủ tục nào? để đưa dữ liệu ra màn hình dùng thủ tục nào?

- Nêu một số thao tác thường dùng trong Pascal?

HOẠT ĐỘNG CỦA GIÁO VIÊN VÀ HỌC

GV: Trong thực tế hàng ngày, có rất nhiều

việc chỉ được thực hiện khi một điều kiện

nào đó được thỏa mãn Ví dụ:

+ Nếu mai trời mưa thì Châu sẽ ở nhà

xem TV

+ Nếu mai trời không mưa thì Châu sẽ

đến nhà Ngọc

+ Nếu mai trời không mưa thì Châu sẽ

đến nhà Ngọc, nếu mưa thì Châu sẽ ở nhà

xem TV

Yêu cầu HS tìm 1 số ví dụ tương tự

HS: Lấy ví dụ

GV: Yêu cầu HS nêu cấu trúc chung của

cách diễn đạt đó

HS: Suy nghĩ trả lời

GV: Trong nhiều thuật toán, các thao tác

1 Rẽ nhánh:

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

Nếu thì (1) Nếu thì, nếu không thì (2) được gọi là cấu trúc rẽ nhánh thiếu (mô tả mệnh đề 1) và đủ (mô tả mệnh đề dạng 2)

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

ax2 + bx + c = 0 (a ≠ 0 )

Ta thực hiện theo các bước

+ Tính Delta: D = b2 – 4ac + Nếu D < 0 thì kết luận phương trình vô nghiệm

+ Nếu D >= 0 thì kết luận phương trình có nghiệm

Sơ đồ khối:

12’

Trang 2

tiếp theo sẽ phụ thuộc vào kết quả nhận

được từ các bước trước đó Cấu trúc dùng

để mô tả các mệnh đề có dạng như trên

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

GV: hãy nêu các bước giải phương trình

bậc hai:

ax2 + bx + c = 0 (a ≠ 0)

HS: Nêu các bước giải

GV: Nhận xét phần trả lời của học sinh

Đưa ra bảng phụ vẽ lưu đồ thuật toán giải

phương trình bậc hai và giải thích hoạt

động của lưu đồ thuật toán

HS: Chú ý quan sát lắng nghe

GV: Các ngôn ngữ lập trình đều có các

câu lệnh để mô tả cấu trúc rẽ nhánh Sau

đây ta xét câu lệnh mô tả cấu trúc rẽ

nhánh trong ngôn ngữ Pascal

GV: Giới thiệu cấu trúc lệnh If – then

HS: Nghe, ghi và quan sát

GV:Lưu ý HS sau Then và sau Else chỉ có

một câu lệnh chương trình

GV: Với hai dạng này, dạng nào dùng

thuận tiện hơn?

HS: Suy nghĩ tìm câu trả lời

GV: Gợi ý để HS đưa ra được tùy trường

hợp cụ thể mà dùng dạng thiếu hay dạng

đủ

GV: Treo (hoặc chiếu lên màn hình) sơ đồ

từng câu lệnh (dạng thiếu - dạng đủ) và

giải thích hoạt động của từng câu lệnh

HS: Quan sát và nghe giảng

Các ngôn ngữ lập trình đều có các câu lệnh để

mô tả cấu trúc rẽ nhánh

2 Câu lệnh if – then:

- Pascal dùng câu lệnh if – then để mô tả việc

rẽ nhánh tương ứng với hai loại mệnh đề rẽ nhánh như sau:

a) Dạng thiếu:

if <điều kiện> then <câu lệnh>;

b) Dạng đủ:

if <điều kiện> then <câu lệnh1>

else <câu lệnh 2>;

Trong đó:

Điều kiện là biểu thức lôgic Câu lệnh, câu lệnh 1, câu lệnh 2 là một câu

lệnh đơn

Ý nghĩa của các câu lệnh:

- Dạng thiếu: Nếu điều kiện đúng thì câu lệnh được thực hiện, nếu điều kiện sai thì câu lệnh

sẽ bị bỏ qua và không thực hiện gì

- Dạng đủ: Nếu điều kiện đúng thì thực hiện câu lệnh 1, ngược lại (nếu điều kiện sai) thì thực hiện câu lệnh 2

- Lưu đồ dạng thiếu:

15’

Nhập a, b, c

D  b2 - 4acD≥

0 nghiệm thực rồi Tính và đưa ra

kết thúc

Thông báo vô nghiệm rồi kết thúc

Đúng Sai

Trang 3

GV: Đưa ra các ví dụ có sử dụng lệnh rẽ

nhánh, nếu không có câu lệnh rẽ nhánh thì

không thể thực hiện được

HS: Quan sát và nghe giảng

GV: ở ví dụ 3, sử dụng cách nào nhanh

hơn

HS: cách 2 tiện hơn

GV: Phân tích sự tiện lợi trong cách 2 và

số lệnh mà máy phải thực hiện

GV: Tiếp tục đưa ra các ví dụ thực tế và

yêu cầu học sinh sử dụng câu lệnh if –

then để mô tả

HS: Thực hiện theo yêu cầu của GV

GV: Cấu trúc rẽ nhánh là gì?

HS: Suy nghĩ trả lời

GV: Ta đã biết trong câu lệnh if – then thì

sau then, sau else chỉ có một câu lệnh.

Vậy muốn thực hiện nhiều câu lệnh sau

then hay sau else thì làm thế nào?

HS: Đưa ra các ý kiến

GV:Khi đó ta cần gộp nhiều câu lệnh đó

- Lưu đồ dạng đủ:

* Chú ý:

- Trước else không có dấu “ ; ”.

- If…then có thể lồng nhau.

- Khi viết câu lệnh rẽ nhánh đủ và lồng nhau

cần phân biệt Else của If nào.

Ví dụ 1:

if D<0 then write('Phuong trinh vo nghiem ');

Ví dụ 2:

if a mod 3 = 0 then write(a, ' chia het cho 3 ') else write(a, ' khong chia het cho 3');

Ví dụ 3: Tìm giá trị lớn nhất (max) trong hai

số a và b:

cách 1:

max := a;

if b>a then max := b;

cách 2:

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

- Cấu trúc rẽ nhánh là câu lệnh dùng để mô tả mệnh đề rẽ nhánh

3 Câu lệnh ghép:

- Câu lệnh ghép có dạng:

begin

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

end;

8’

Trang 4

lại và coi đó là một câu lệnh trong chương

trình Các 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

ghép (hay câu lệnh hợp thành)

GV: Đưa ra một số chú ý

HS: Nghe và ghi bài

GV: Lấy ví dụ và phân tích cho học sinh

hiểu ý nghĩa của câu lệnh ghép

HS: Quan sát, nghe và ghi bài

GV: Đưa ra các tình huống thực tế bắt

buộc phải sử dụng câu lệnh ghép và yêu

cầu HS dùng câu lệnh Pascal để thể hiện

HS: Thực hiện theo yêu cầu của GV

Ví dụ:

if D<0 then writeln('Phuong trinh vo nghiem.') else

begin

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

x2:= (- b + sqrt(D))/(2*a);

end;

4 Củng cố (3’):

- Hệ thống bài giảng, nhấn mạnh các kiến thức trọng tâm:

+ Câu lệnh if – then dạng thiếu: Cấu trúc, ý nghĩa, sơ đồ hoạt động

+ Câu lệnh if – then dạng đủ: Cấu trúc, ý nghĩa, sơ đồ hoạt động

+ Câu lệnh ghép: cấu trúc, ý nghĩa

5 Hướng dẫn về nhà (1’):

- Xem trước bài: Cấu trúc lặp

- Trả lời câu hỏi 1, 2, 4 sgk trang 50, 51

- Viết chương trình nhập vào 3 số a, b, c và in ra màn hình giá trị lớn nhất trong 3 số đó

Ngày đăng: 03/06/2021, 01:39

TỪ KHÓA LIÊN QUAN

w