Tải bản đầy đủ (.doc) (14 trang)

Giáo án Tin học 11 bài 9: Cấu trúc rẽ nhánh

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 (79.53 KB, 14 trang )

Giáo án Tin học 11
CẤU TRÚC RẼ NHÁNH
I-MỤC TIÊU:
1.Kiến thức:
-Hiểu được khái niệm rẽ nhánh trong lập trình
-Biết sử dụng các câu lệnh thực hiện rẽ nhánh trong TP (Dạng thiếu và dạng đủ)
- Hiểu được câu lệnh ghép.
2.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ác câu lệnh rẽ nhánh dạng thiéu và đủ và áp dụng để thể hiện được
thuật toán của một số bài toán đơn giản.
II-ĐỒ DÙNG DẠY HỌC:
1.Chuẩn bị của giáo viên:
-Máy tính, máy chiếu prơjector.
-Một số chương trình mẫu viết sẵn.
2.Chuẩn bị của học sinh:
-Sách giáo khoa, vở ghi.
3. nội dung bài
TG

Nội dung trình chiếu
Hoạt động của Gv và HS
* Slide 1: Đưa ra một số ví dụ về Thường ngày có rất nhiều việc, chỉ được


những cơng việc hằng ngày có sự thực hiện khi một điều kiện nào đó được
lựa chọn.

thỏa mãn.

- Nếu trời khơng mưa thì tơi sẽ mời GV đưa ví dụ.


các bạn đi ăn chè bưởi, nếu mưa

GV: Em hãy lấy một số ví dụ về những

thì tơi mời các bạn ăn chè ngó.

cơng việc nào đó chỉ xảy ra khi một điều

- Nếu bạn ốm thì tơi sẽ cho bạn kiện nào đó được thỏa mãn?
nghỉ học.

GV: Trong tin học, để mơ tả những hành
động có rẽ nhánh (lựa chọn) bằng cấu

10’

* Slide 2: Tên bài học

trúc rẽ nhánh.

* Slide 3, 4:
1. Rẽ nhánh:

1. Rẽ nhánh

Ví dụ 1: Châu hẹn Ngọc: “Chiều GV: Chúng ta xét một số ví dụ.
mai nếu trời khơng mưa thì Châu
sẽ đến nhà Ngọc”.
Ví dụ 2: Lần khác, Ngọc nói với
Châu: “Chiều mai nếu trời khơng

mưa thì Ngọc sẽ đến nhà Châu,
nếu trời mưa thì buổi tối Ngọc sẽ
điện lại cho Châu”.
Ví dụ 3: Giải phương trình bậc hai:
ax2 + bx + c = 0 , (a≠0)

- GV: Em hãy lên bảng trình bày lời giải
giải phương trình bậc hai?

Delta=b2 -4ac;

HS: Delta=b2 -4ac;

- Nếu delta<0 thì pt vơ nghiệm - Nếu delta<0 thì pt vơ nghiệm x=-b/2a
x=-b/2a
5’

Nếu delta>0 thì pt có 2 nghiệm phân biệt:

Nếu delta>0 thì pt có 2 nghiệm x=(-b±√ ∆)/2a
phân biệt:


X=(-b±√ ∆)/2a
*Slide 5:
5’

Cấu trúc điều kiện hành động

GV: Quay lại các ví dụ ở trên, chúng ta đi


- Lần khác, Ngọc nói với Châu:

phân tích cấu trúc hành động.

“Chiều mai nếu trời khơng mưa
thì Ngọc sẽ đến nhà Châu, nếu
trời mưa thì buổi tối Ngọc sẽ điện
lại cho Châu”.
- Nếu trời khơng mưa thì tơi sẽ
mời các bạn đi ăn chè bưởi, ngược

GV: Dựa vào ví dụ, em nào có thể khái

lại tơi mời các bạn ăn chè ngó.

qt dạng hành động?

Nếu (Điều kiện đúng) thì (Hoạt
động 1) cịn khơng thì (Hoạt động
2);

HS: nếu (đk đúng) thì hoạt động 1, ngược

- Châu hẹn Ngọc: “Chiều mai nếu lại hoạt động 2.
trời khơng mưa thì Châu sẽ đến GV: Từ nếu trong tiếng Anh là gì?
nhà Ngọc”.

Từ Thì, ngược lại?


- Nếu bạn ốm thì tơi sẽ cho bạn HS trả lời: Nếu - IF, Thì - Then và ngược
nghỉ học.

lại - Else.

- Trường hợp (Hoạt động 2 = Ø)
thì cấu trúc điều kiện hành động là: GV: Xét các ví dụ khác.
Nếu (Điều kiện đúng) thì (Hoạt GV: Em nào có thể khái quát các dạng
động 1);

hành động này?

+ Có hai dạng:

HS:

Dạng đủ:

Nếu (đk đúng) thì hoạt động 1.

If <Điều kiện> Then <Câu lệnh 1> GV: Chúng ta so sánh 2 dạng hành động
Else <Câu lệnh 2>;

trên?


Dạng thiếu:

HS dạng 1 thì có trường hợp ngược lại,


If <Điều kiện> Then <Câu lệnh>;

dạng 2 thì khơng.

If, Then, Else: Từ khố

GV: Dạng 1 có hoạt động 2 là rỗng thì trở

Điều kiện: Biểu thức logic hoặc về dạng 2, vậy dạng 2 là trường hợp đặc
5’

biểu thức quan hệ.

biệt của dạng 1.

Câu lệnh: Một câu lệnh nào đó GV: Tương ứng với 2 dạng hành động
trong Pascal

trên, trong TP có cấu trúc rẽ nhánh với
câu lệnh rẽ nhánh dạng đủ và dạng thiếu.

+ Dạng đủ:
If <Điều kiện> Then <Câu lệnh1>
Else <Câu lệnh 2>;
10’

GV: Chúng ta quay lại các ví dụ trên, em

Chú ý 1:


nào có thể nêu sự thực hiện của câu lệnh

- Trong TP, kết thúc một câu lệnh

như thế nào?

bằng dấu chấm phẩy (;), nhưng

HS: Dạng 1: Nếu điều kiện đúng thì thực

câu lệnh ngay trước else khơng

hiện câu lệnh 1, ngược lại thực hiện câu

có dấu chấm phẩy.

lệnh 2.

Ví dụ: Kiểm tra tính chẵn lẻ của số Dạng 2: Nếu điều kiện đúng thì thực hiện
nguyên dương N?

câu lệnh, nếu sai thì khơng thực hiện câu

If (n MOD 2 =0) then write(‘N la lệnh.
so chan’) else write(‘N la so le’);
+ Dạng thiếu:
If <Điều kiện> Then <Câu lệnh >;
Điều kiện được tính và kiểm tra,
nếu điều kiện đúng (có giá trị
TRUE) thì câu lệnh được thực


Gv: Chúng ta quay lại ví dụ giải pt bậc

hiện, ngược lại (điều kiện có giá trị 2:. Em hãy chuyển các câu nếu ..


10’

False) thì câu lệnh sẽ bị bỏ qua

thì..sang câu lệnh If ..Then..

(câu lệnh khơng được thực hiện).

HS:

Ví dụ 3:

- IF delta<0 Then write(‘pt vo nghiem’);

- IF delta<0 Then write(‘pt vo - IF delta=0 Then
nghiem’);

write(‘pt co 1 nghiem duy nhat’);

- IF delta=0 Then

- IF delta>0 Then

write(‘pt co 1 nghiem duy nhat’);


write(‘pt co 2 nghiem phan biet’);

- IF delta>0 Then
write(‘pt co 2 nghiem phan biet’);
Chú ý 2:
-

- GV: Từ ví dụ 3 với các câu lệnh if then

Có thể xây dựng một cấu dạng thiếu, chúng ta có thể đưa về dạng

trúc có nhiều hơn 2 lựa chọn bằng đủ được khơng?
cách sử dụng IF .. THEN…ELSE

HS: Đưa về dạng đủ được.

-

GV: Chúng ta có thể đưa về dạng đủ
IF ..THEN..lồng nhau.

Ví dụ 3:

được và dùng các câu lenẹh if then lồng
nhau.

- IF delta<0 Then write(‘pt vo IF delta<0 Then write(‘pt vo nghiem’)
nghiem’)


Else

Else

IF delta=0 Then

IF delta=0 Then

write(‘pt co 1 nghiem duy nhat’)

write(‘pt co 1 nghiem duy nhat’)

Else

Else

write(‘pt co 2 nghiem phan biet’);

write(‘pt co 2 nghiem phan biet’);

GV: Với các câu lệnh trên, chúng ta chưa
tính được giá trị của nghiệm, mà chỉ đưa

Dạng của câu lệnh ghép:

thơng báo có nghiệm hay khơng.

BEGIN

GV: Chúng ta theo dõi ví dụ thì thấy


< Câu lệnh 1>;

rằng, trường hợp delta bằng 0 hoặc lớn


5’

< Câu lệnh 2>;

hơn 0 , phải thực hiện 2 thao tác: tính

……………….

nghiệm và đưa câu thơng báo ra màn

<Câu lệnh n>;

hình, tương ứng là hai câu lệnh. Để thể

END;

hiện được điều đó, TP cung cấp cho

Ví dụ 1:

chúng ta câu lệnh ghép.

Tìm nghiệm thực


GV: Em hãy dùng câu lenẹh ghép để viết

của phương

lại ví dụ 3 trên?

trình bậc hai:

HS:

ax2 + bx + c = 0

IF delta<0 Then write(‘pt vo nghiem’)

với a ≠ 0

Else
IF delta=0 Then

PROGRAM VI_DU_1;

Begin

Uses crt;

X:=-b/(2*a);

Var

write(‘pt co 1 nghiem duy nhat’);


a,b,c:real; Delta,x1,x2:Real;

Begin

End

clrscr;

Else

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

readln(a,b,c);

Begin

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

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

IF Delta<0 then writeln(‘pt vo

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

nghiem.’

write(‘pt co 2 nghiem phan biet’);

else


end;

begin
x1:=(-b-sqrt(Delta))/(2*a);
x2:=-b/a-x1;
Writeln(‘x1=’,x1:8:3,’
x2=’,x2:8:3);
end;

GV: Chúng ta xét một số ví dụ.


readln
End.
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.
PROGRAM Vi_du_2;
Uses crt;
Var

N, SN: Integer;

BEGIN

Clrscr;
Write(‘Nam:’);

readln(N);

If (N MOD 400=0) OR
( (N MOD4=0)
AND (N MOD 100<>0))
Then
Else

SN:=366
SN:=365;

Writeln(‘So ngay cua nam’,
N,’la’,SN);
Readln
END.
4. Củng cố
- Nắm được cú pháp của câu lệnh rẽ nhánh dạng thiếu và dạng đủ


- Nắm được khi nào thì dùng câu lệnh dạng đủ và khi nào dùng câu lệnh dạng thiếu
- Nắm được câu lệnh ghép.
- Biết sử dụng if the lồng nhau.
- Bài tập về nhà: Bài 4 (sgk – tr.51) và bài 3.1; bài 3.2; 3.3; 3.5; 3.14; 3.15; 3.16;
3.17; 3.18; 3.19; 3.20; 3.21 (sbt)
- GV: Hướng dẫn HS bài 3.18 và 3.19:
+ 3 số a, b, c thứ tự lập thành cấp số nhân có tính chất: b2=c*a
+ 3 số a, b, c thứ tự lập thành cấp số cộng có tính chất: b=(c+a)/2



BÀI TẬP VÀ THỰC HÀNH 2 (TIẾT 1)
I-MỤC TIÊU:
1.Kiến thức:
-Biết được một chương trình pascal hồn chỉnh.
-Biết lựa chọn và tổ chức rẽ nhánh trong lập trình khi giải một bài tốn cụ
thể
2.Kỹ năng:
-Soạn được chương trình, lưu lên đĩa, dịch lỗi cú pháp, thực hiện và tìm lỗi
thuật tốn và hiệu chỉnh.
-Bước đầu sử dụng cấu trúc rẽ nhánh.
II-ĐỒ DÙNG DẠY HỌC:
1.Chuẩn bị của giáo viên:
-Máy tính, máy chiếu prơjector.
-Một số chương trình mẫu viết sẵn, câu hỏi thảo luận
2.Chuẩn bị của học sinh:
-Sách giáo khoa, vở ghi.
III-HOẠT ĐỘNG DẠY VÀ HỌC:
1.Hoạt động 1: bài toán Pitago.
T

Hoạt động của giáo viên

Hoạt động của học sinh


10’ 1.Chiếu chương trình lên bảng. Yêu 1.Quan sát bảng và trả lời các câu
cầu học sinh thực hiện các nhiệm vụ:


hỏi

-Xác định bài toán?

- Input: a, b, c nguyên dương.
- Output: “3 số a, b, c là bộ pitago”
hoặc “3 số a, b, c không là bộ
pitago”

- Nêu ý tưởng?

- Ys tưởng: Kiểm tra xem có đẳng
thức nào trong 3 đẳng thức sau thỏa
mãn không:
a2=b2+c2
b2=a2+c2

2
2
2
- GV: Khi kiểm tra a, b, c có phải là bộ c =b +a

pitago không, ta cần kiểm tra 3 số này - Không cần đồng thời. Mà xảy ra 1
thỏa mãn đồng thời hay không 3 đẳng trong 3 đẳng thức đúng là có thể kết
thức đó?

luận được nó là bộ pitago.

- Xảy ra không đồng thời, chỉ cần 1 - Dùng hàm logic OR để kiểm tra.
trong 3 đúng là kết luận được. Vậy,

chúng ta dùng hàm gì?
- Từ ý tưởng xây dựng thuật toán?

- Thuật toán:
+ Nhập 3 số nguyên a, b, c
+ Nếu (a2=b2+c2) OR (b2=a2+c2) OR


(b2=a2+c2) thì thơng báo “la bo
pitago” rồi kết thúc
+ Thơng báo “khong la bo pitago”
rồi kết thúc.
2.Hoạt động 2: Rèn kỹ năng lập chương trình.
T

Hoạt động của giáo viên

Hoạt động của học sinh

30’ 1. Dựa vào thuật toán viết chương trình trình 1.Viết chương trình trình
hồn chỉnh?
2. Lưu chương trình ?
IV-ĐÁNH GIÁ CUỐI BÀI (5’):
1.Những nội dung chính:
-Các bước hồn thành một chương trình: Xác định bài tốn, thuật tốn, soạn
chương trình, lưu.


BÀI TẬP VÀ THỰC HÀNH 2 (TIẾT 2)
I-MỤC TIÊU:

1.Kiến thức:
-Biết được một chương trình pascal hồn chỉnh.
-Biết lựa chọn và tổ chức rẽ nhánh trong lập trình khi giải một bài tốn cụ
thể
- Viết và hiệu chỉnh, chạy chương trình trình với các bộ dữ liệu khác nhau để
kiểm tra thuật tốn.
2.Kỹ năng:
-Soạn được chương trình, lưu lên đĩa, dịch lỗi cú pháp, thực hiện và tìm lỗi
thuật tốn và hiệu chỉnh.
-Bước đầu sử dụng cấu trúc rẽ nhánh.
II-ĐỒ DÙNG DẠY HỌC:
1.Chuẩn bị của giáo viên:
-Máy tính, máy chiếu prơjector.
-Một số chương trình mẫu viết sẵn, câu hỏi thảo luận
2.Chuẩn bị của học sinh:
-Sách giáo khoa, vở ghi.
III-HOẠT ĐỘNG DẠY VÀ HỌC:
*. KIỂM TRA 15 PHÚT - THỰC HÀNH:


Viết chương trình nhập vào 3 số nguyên dương a, b, c. Kiểm tra xem a, b, c theo
thức tự có lập thành cấp số nhân khơng? Nếu phải thì tăng mỗi số lên 2 đơn vị, rồi
đưa giá trị các số a, b, c ra màn hình? (Trong đó, a, b, c thứ tự lập thành cấp số
nhân có tính chất: b2= a*c).
1.Hoạt động 1: Mở chương trình trình Pitago và thực hiện, kiểm tra lỗi, hiệu
chỉnh chương trình trình
T

Hoạt động của giáo viên


20’ 1. Mở chương trình Pitago?

Hoạt động của học sinh
1. Mở chương trình trình Pitago, tiết
trước đã soạn thảo và lưu.

2. Nhấn F7 để thực hiện từng câu lệnh
chương trình, nhập các giá trị: 3, 4, 5.

2. HS thao tác lần lượt các bước
theo hướng dẫn của GV.

3. Vào bảng Dubug mở cửa sổ hiệu
chỉnh để xem xem giá trị a2, b2, c2.
4. Nhấn F7 để thực hiện các câu lệnh
tính những giá trị nói trên, so sánh với
kết quả a2=9, b2=16, c2=25.
5. Quan sát rẽ nhánh
2.Hoạt động 2: Test với các bộ dữ liệu, kỹ năng lập trình, sử dụng các
câu lệnh khác nhau.
T

Hoạt động của giáo viên

Hoạt động của học sinh

20’ 1. Chạy chương trình theo các bước như tiét 1. chạy lại chương trình tình
trước với a=700, b= 1000, c=800



2. Thay dãy các câu lệnh:

với bộ dữ liệu đó.

a2:=a; b2:=b; c2:=c

2. HS thay đổi câu lệnh và

a2:=a2*a; b2:=b2*b; c2:=c2*c;

kiểm tra trên máy bằng cách
chạy chương trình trình với

Bằng dãy các câu lệnh:

bộ dữ liệu trên và trả lời câu

a2:=a*a; b2:=b*b; c2:=c*c

hỏi.

(Hoặc sử dụng hàm bình phương)
Thì kết quả có thay đổi không với bộ dữ liệu
như trên
IV-ĐÁNH GIÁ CUỐI BÀI (5’):
1.Những nội dung chính:
-Các bước hồn thành một chương trình: Xác định bài tốn, thuật tốn, soạn
chương trình, lưu, sử dụng các hàm chuẩn, cách thao tác iệu chỉnh, chạy chương
trình với các bộ dữ liệu khác nhau.




×