1. Trang chủ
  2. » Giáo án - Bài giảng

CẤU TRÚC RẼ NHÁNH

7 892 2

Đ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 7
Dung lượng 66 KB

Nội dung

- Sự cần thiết có cấu trúc rẽ nhánh trong lập trình - Học sinh biết được cấu trúc, ý nghĩa của cấu trúc rẽ nhánh lập trình bằng ngôn ngữ Pascal - Hiểu được câu lệnh rẽ nhánh dạng thiếu v

Trang 1

Chương 3 CẤU TRÚC RẼ NHÁNH VÀ LẶP Bài 9 CẤU TRÚC RẼ NHÁNH (tiết 1)

Tiết PPCT: 12 Người soạn: Nguyễn Thị Quyên

Ngày soạn : 20/10/2009

Ngày giảng: 31/10/2009

I.Mục tiêu.

1 Về kiến thức

- Sự cần thiết có cấu trúc rẽ nhánh trong lập trình

- Học sinh biết được cấu trúc, ý nghĩa của cấu trúc rẽ nhánh lập trình bằng ngôn ngữ Pascal

- Hiểu được câu lệnh rẽ nhánh dạng thiếu và đầy đủ

- Sự cần thiết của câu lệnh ghép trong lập trình, nắm được cấu trúc câu lệnh ghép trong Pascal

2 Về kĩ năng

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

- Viết được câu lệnh rẽ nhánh dạng thiếu và đầy đủ và áp dụng thực hiện được một số bài toán đơn giản

- Sử dụng câu lệnh ghép khi cần thiết trong lập trình

3 Về thái độ

- Giúp học sinh hiểu rõ tầm quan trọng của cấu trúc rẽ nhánh

- Làm cho học sinh yêu thích lập trình, yêu môn học hơn

- Phát triển tư duy lập trình, phương pháp làm việc khoa học

II Những phương pháp dạy học chủ yếu.

- Kết hợp các phương pháp sau: thuyết trình, vấn đáp, gợi mở, phát hiện

và giải quyết vấn đề, vẽ hình minh họa, phiếu học tập, tổ chức hoạt động nhóm nhỏ…

III Những hoạt động chính:

- Hoạt động 1: Tìm hiểu cú pháp và ý nghĩa cấu trúc rẽ nhánh

- Hoạt động 2: Tìm hiểu cú pháp và ý nghĩa câu lệnh rẽ nhánh if – then trong lập trình

- Hoạt động 3: Tìm hiểu cú pháp và ý nghĩa câu lệnh ghép trong lập trình

- Hoạt động 4: Rèn kĩ năng viết câu lệnh if - then

IV Phương tiện dạy học.

1.Chuẩn bị của giáo viên

- Máy tính, máy chiếu

- Giáo án, sách giáo khoa và sách giáo viên Tin học 11

Trang 2

- Bảng, phấn, phiếu học tập, hình minh họa

2 Chuẩn bị của học sinh

- Vở ghi

- Sách giáo khoa Tin học 11

V Tài liệu tham khảo.

- Sách bài tập Tin học 11

VI Tiến trình lên lớp.

1 Ổn định lớp (1’)

- Gv: Yêu cầu lớp trưởng báo cáo sĩ số

- Hs: Báo cáo sĩ số

2 Gợi động cơ (3’)

- Gv: + Cho chạy CT giải phương trình bậc 2 đã được lập trình sẵn + Nhập bộ giá trị a=1, b=2, c=1 để delta>=0

+ Nhập bộ giá trị a=1, b=2, c=3 để delta <0 => CT gặp lỗi

- Gv: Làm thế nào để xử lí tình huống này? Làm thế nào để máy có thể đưa ra màn hình kết quả mà ta mong muốn là: đưa ra nghiệm của phương trình nếu delta>=0 nhưng vẫn đưa ra thông báo khi delta<0?

- Gv: Chúng ta sẽ cùng tìm hiểu cách mà máy tính làm việc đó trong giờ hôm nay

- Gv: Ghi tên chương, tên bài lên bảng

3 Nội dung bài học (27’)

3.1 Hoạt động 1: Giới thiệu cấu trúc rẽ nhánh trong lập trình (5’)

- VD1: Nếu tôi học tốt thì tôi sẽ đi thi

đại học

Nếu tôi học tốt thì tôi sẽ đi thi

đại học nếu không thì tôi sẽ đi học

nghề

- VD2: Tùy thuộc giá trị của delta đưa ra

kết luận nghiệm

Nếu delta>=0 thì kết luận phương

trình có nghiệm

Nếu delta<0 thì kết luận phương

trình vô nghiệm

Nếu delta>=0 thì kết luận phương

trình có nghiệm nếu không thì kết luận

phương trình vô nghiệm

- Cấu trúc chung:

Nếu thì

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

- Gv: Trong mỗi NNLT thì luôn có các cấu trúc tương ứng để thực hiện việc chọn thực hiện hay không thực hiện 1 việc nào đó Trong Pascal cũng có các câu lệnh như vậy gọi là cấu trúc rẽ nhánh dạng thiếu và dạng đầy đủ

Trang 3

3.2 Hoạt động 2: Tìm hiểu cú pháp và ý nghĩa câu lệnh rẽ nhánh if – then trong lập trình Pascal (15’)

Tương ứng với 2 cấu trúc trên

Pascal có 2 dạng câu lệnh rẽ

nhánh dạng thiếu và đầy đủ sau:

- Cú pháp:

+ Dạng thiếu:

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

+ Dạng đầy đủ:

If <điều kiện> then <câu lệnh 1>

else <câu lệnh 2>;

- Trong đó:

+ if, then, else là các từ khóa;

+ điều kiện là biểu thức logic;

+ câu lệnh, câu lệnh 1, câu lệnh 2

là 1 câu lệnh của Pascal

- Chú ý: trước else không có dấu

chấm phẩy (;)

- Y nghĩa câu lệnh:

+ Dạng thiếu: Kiểm tra điều kiện,

nếu điều kiện đúng thì câu lệnh

được thực hiện còn nếu điều kiện

sai thì câu lệnh bị bỏ qua

+ Dạng đầy đủ: Kiểm tra điều

kiện Nếu điều kiện đúng thì thực

hiện câu lệnh 1, nếu điều kiện sai

thì thực hiện câu lệnh 2

- Một số các ví dụ:

VD1: Xét nghiệm phương trình

bậc 2

- Dạng thiếu:

If delta<0 then write('phuong

trinh vo nghiem');

If delta>=0 then write('phuong

trinh co nghiem);

- Dạng đầy đủ:

- Gv: Cụ thể ngôn ngữ Pascal sẽ dùng câu lệnh nào để thực hiện việc rẽ nhánh trên? Chúng ta chuyển sang phần 2

- Gv: Viết cú pháp câu lệnh rẽ nhánh dạng thiếu và dạng đầy đủ

- Gv: Yêu cầu Hs nhắc lại biểu thức logic là gì?

- Gv: Nêu hoạt động của câu lệnh

rẽ nhánh dạng thiếu

- Gv: Yêu cầu học sinh nêu hoạt động của câu lệnh rẽ nhánh dạng đầy đủ?

- Gv: Hoàn chỉnh câu trả lời của hs

- Gv: Yêu cầu hs tìm từ khóa, biểu thức logic, câu lệnh trong ví dụ

- Hs: dựa vào cú pháp ở trên để trả lời

- Gv: Có nhận xét gì về 2 điều kiện viết ở dạng thiếu?

- Gv: nhận xét câu trả lời

- Gv: Vì vậy thay vì bắt máy tính

Trang 4

If delta>=0 then write('pt co

nghiem') then write('pt vo

nghiem');

VD2: viết câu lệnh kiểm tra xem

x=100 hay không?

- Dạng thiếu:

If x=100 then write(‘x bang 100’);

If x<>100 then write(‘x khac

100’);

- Dạng đầy đủ:

If x=100 then write(‘x bang 100’)

else write(‘x khac 100’);

VD3: Kiểm tra xem số a(nguyên,

dương) là số chẵn hay số lẻ?

- Dạng thiếu:

If a mod 2=0 then write(‘a la so

chan’);

If a mod 2<>0 then write(‘a la so

le’);

- Dạng đầy đủ:

If a mod 2=0 then write(‘a la so

chan’) else write(‘a la so le’);

đi kiểm tra nhiều lần thì chúng ta

có thể gộp 2 câu lệnh đó lại thành

1 câu lệnh ở dạng đầy đủ như trên Nếu delta>=0 thì thông báo phương trình có nghiệm nếu không thì thông báo phương trình

vô nghiệm

- Gv: Minh họa bằng chạy chương trình Pascal cho hs thấy sự hoạt động của câu lệnh

Gv: Gọi 1 hs lên bảng viết các câu lệnh

- Gv: Gọi hs khác nhận xét bài làm trên bảng và hoàn chỉnh câu trả lời

- Gv: Minh họa bằng chương trình

đã đánh sẵn

- Gv: Gọi 1 hs lên bảng viết các câu lệnh

- Gv: Gọi hs khác nhận xét bài làm trên bảng và hoàn chỉnh bài làm của hs

- Gv: Minh họa bằng chương trình

đã đánh sẵn

3.3 Hoạt động giới thiệu câu lệnh ghép (7’)

- Gv: Bây giờ chúng ta quay lại ví dụ giải phương trình bậc 2 nhưng cô có yêu cầu là: tính nghiệm x1, x2 của phương trình khi delta>=0? => Làm thế nào để làm được điều này?

Trang 5

Nội dung Hoạt động của thầy và trò

- Theo cú pháp, sau một số từ

khóa( như Then, Else) phải là một

câu lệnh nhưng trong nhiều trường

hợp, các thao tác phức tạp đòi hỏi có

nhiều câu lệnh để mô tả Trong

trường hợp như vậy NNLT cho phép

gộp nhiều câu lệnh thành một câu

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

- VD1:

If delta<0 then write(‘pt vo

nghiem’) else

begin

X1:= (-b- sqrt(delta))/(2*a);

X2:= -b/a – X1;

Write(‘pt co nghiem: ‘ ,

X1:6:2, X2:6:2);

End;

- Cú pháp câu lệnh ghép trong

Pascal:

Begin

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

End;

- Chú ý: sau end là dấu chấm phẩy

- VD: Đổi chỗ 2 số nguyên dương

a, b sao cho số lớn đứng

trước, số bé đứng sau

If a>b then

Begin

Tg:=a;

A:=b;

B:=tg;

End;

- Gv: Cho chạy CT giải bài toán trên nhưng không dùng câu lệnh ghép

- Gv: Hỏi hs là CT tính đúng nghiệm không, yêu cầu hs lấy các ví dụ để thử?

- Gv: Có 1 cách để giải quyết vấn đề này đó là biến câu lệnh đơn thành câu lệnh ghép bằng cách thêm cặp từ khóa (begin end;) vào

- Gv: Cho chạy lại CT sau khi đã sửa lại CT đúng

- Gv: Yêu cầu hs thay các giá trị khác

để kiểm tra tính đúng đắn của CT

- Gv: Nêu cú pháp câu lệnh trong Pascal

- Gv: Yêu cầu hs quan sát CT tìm sự đặc biệt?

(sau end là dấu chấm phẩy)

Trang 6

3.4 Hoạt động 4: Rèn luyện (9’)

- VD1: Kiểm tra xem a có là tháng trong năm hay không?

Dạng thiếu:

If (a>0) and (a<=12) then write(‘a la thang trong nam’);

If (a<0) and (a>12) then write(‘a khong la thang trong nam’); Dạng đủ:

If (a>0) and (a>=12) then write(‘a la thang trong nam’)

else write(‘a khong la thang trong nam’);

- VD2: Kết quả của đoạn chương trình sau là gì?

x:= -5; y:= 5;

if x>y then x:= x-y else x:= y-x;

C x= -10, y= 5 D x= -5, y= 10

Đáp án: A

- VD3: Điều kiện đỗ vào trường ĐHBK là thí sinh có tổng điểm 3 môn thi khối A: Toán Lý, Hóa phải lớn hơn 24 điểm Viết câu lệnh kiểm tra xem thí sinh Biết Tuốt có đỗ vào trường hay không?

Dạng thiếu:

If D>24 then write(‘Biet Tuot da do vao truong’);

If D<24 then write(‘Biet Tuot khong do vao truong’);

Dạng đủ:

If D>24 then write(‘Biet Tuot da do vao truong’)

else write(‘Biet Tuot khong do vao truong’);

- VD4: Dùng câu lệnh if – then để viết đoạn CT tính thương a/b ?

If b<>0 then

begin

T:= a/b;

write(‘ thuong so la: ‘, T);

end

else write(‘khong chia duoc’);

Trang 7

4 Củng cố - BTVN (2’)

- Nhắc lại nội dung chính

- Nhận xét tinh thần học tập của học sinh

- Ra BTVN: học bài cũ và đọc trước các ví dụ phần 4/41/SGK Tin học 11

5 Rút kinh nghiệm giờ lên lớp:

6 Giáo viên hướng dẫn kí duyệt:

Ngày đăng: 12/07/2014, 15:00

TỪ KHÓA LIÊN QUAN

w