Mục tiêu - Nhận biết câu lệnh, thao tác lặp, số lần lặp, điều kiện lặp, điều kiện dừng lặp - Biết phân loại về sự lặp Nhóm 1 trả lời các câu hỏi liên quan tới bài toán tìm ước chung lớn
Trang 1SỞ GD VÀ ĐT VĨNH PHÚCTrường THPT Tam Đảo
Tên chủ đề dạy học:
CẤU TRÚC LẶP TRONG NGÔN NGỮ LẬP TRÌNH PASCAL
Giáo viên thực hiện: Nguyễn Văn Luyện
Môn: Tin họcTổ: Toán – Tin
Tam Đảo, 11/2018
Trang 2CHỦ ĐỀ: CẤU TRÚC LẶP TRONG NGÔN NGỮ LẬP TRÌNH PASCAL
(3 tiết)
(Tin học lớp 11)
I Kế hoạch chung.
1 Cấu trúc lặp và Câu lệnh lặp for to do
2 Câu lệnh lặp for downto do
3 Câu lệnh lặp while do
II Mục tiêu
1 Kiến thức
- Khái niệm về cấu trúc lặp
- Biết cú pháp và ý nghĩa của các câu lệnh lặp
2 Kỹ năng
- Biết vận dụng câu lệnh lặp để giải một số bài toán
- So sánh được sự khác nhau giữa các câu lệnh lặp
3 Thái độ
- Nghiêm túc, chú ý học tập
4 Các năng lực cần hình thành và phát triển
- Năng lực tự học thông qua sách giáo khoa, tài liệu, mạng internet
- Năng lực giải quyết vấn đề thông qua các ví dụ trong bài học
- Năng lực sáng tạo thông qua nội dung bài học
- Năng lực hợp tác thông qua bạn bè, thầy cô và những người xung quanh
- Năng lực thực hành thông qua các bài tập
- Năng lực sử dụng công nghệ thông tin thông qua việc thực hành các bài tập trên máy tính
III Nhiệm vụ của giáo viên và học sinh
- Giáo viên chuẩn bị trước
+ Các phiếu học tập (nếu có), máy tính, máy chiếu
+ Giáo án, SGK
- Học sinh chuẩn bị trước
+ đọc bài mới trong sách giáo khoa
+ SGK, vở ghi
IV Phương pháp dạy học
- Phương pháp dạy học nêu vấn đề và dạy học hợp tác
V Phương tiện dạy học
- Máy chiếu, sử dụng các phần mềm dạy học để tăng tính trực quan cho bài giảng
Trang 3Tiết 1
CẤU TRÚC LẶP và CÂU LỆNH LẶP FOR DO
I KHÁI NIỆM VỀ CẤU TRÚC LẶP
Hoạt động 1: khởi động
1 Mục tiêu
- Nhận biết câu lệnh, thao tác lặp, số lần lặp, điều kiện lặp, điều kiện dừng lặp
- Biết phân loại về sự lặp
Nhóm 1 trả lời các câu hỏi liên quan tới bài toán tìm ước chung lớn nhất
Nhóm 2 trả lời các câu hỏi liên quan tới bài toán tìm giá trị lớn nhất sau:
+, nhứng thao tác nào được lặp, lặp bao nhiêu lần, có khi nào không lặp lần nào không, điều kiện lặp là gì, khi nào thì ngừng…
GV mời đại diện của 2 nhóm trả lời Gv phân tích, giảng giải
4 Dự kiến sản phẩm của học sinh
Nhóm 1:
Trang 4Nhận biết được thao tác lặp trong bài toán tìm UCLN, điều kiện dừng lặp, điều kiện lặp
- Treo 2 bảng phụ có sơ đồ thuật
toán tìm UCLN và tìm Max
- Gv chia lớp thành 2 nhóm:
nhóm 1 thảo luận các câu hỏi về
thuật toán tìm UCLN, nhóm 2 thảo
luận các câu hỏi về thuật toán tìm
Max
- Gv đưa ra nhận xét, và câu trả
lời đúng
- Gv nhận xét: biết trước số lần
lặp trong thuật toán tìm max, không
biết trước số lần lặp trong thuật toán
tìm UCLN Có thể chia thành 2 loại
lặp là : lặp biết trước và lặp không
biết trước số lần lặp
- Quan sát sơ đồ thuật toán
- Thảo luận để trả lời các câu hỏiĐại diện các nhóm phát biểu
- Học sinh ghi bài
HOẠT ĐỘNG 2: HÌNH THÀNH KIẾN THỨC
1 Mục tiêu
- Biết khái niệm về cấu trúc lặp
- Biết phân loại cấu trúc lặp
2 chuẩn bị
- Giáo viên chuẩn bị, máy chiếu, bảng phụ vẽ sẵn sơ đồ thuật toán tìm ước chung
lớn nhất, tìm giá trị lớn nhất
Trang 53 Kĩ thuật tổ chức hoạt động
GV: chia lớp thành 4 nhóm hoạt động thảo luận vấn đề: thế nào là lặp, khái niệm
về sự lặp?
GV mời đại diện của 2 nhóm trả lời Gv phân tích, giảng giải
4 Dự kiến sản phẩm của học sinh
Học sinh phát biểu được khái niện lặp
luận thế nào là lặp, khái niệm về sự lặp?
- Gv phát biểu khái niệm về lặp: lặp
là thực hiện từ 0, 1, nhiều lần một câu
lệnh, dãy lệnh (lệnh ghép)
- Cấu trúc lặp là cấu trúc điều khiển
trong ngôn ngữ lập trình để mô tả sự
lặp trong đó mô tả:
+ thao tác được lặp
+ điều kiện lặp, hoặc điều kiện ngừng
lặp
- Gv hỏi: có mấy loại cấu trúc lặp?
- Thảo luận để trả lời các câu hỏi
- Đại diện các nhóm phát biểu
- hs ghi bài
- học sinh trả lời
Trang 6- có 2 loại cấu trúc lặp tương ứng với
Cho thuật toán kiểm tra số nguyên tố sau, hãy xác định điều kiện lặp, thao tác lặp,
sự lặp thuộc loại nào?
B1: Nhập N.
B2: Nếu N=1 thì thông báo N không là snt rồi kết thúc.
B3: Nếu N<4 thì thông báo N là snt rồi kết thúc
B4: Gán i:=2; d:= [ N ] (i = 2 d)
B5: Nếu i>=d thì thông báo N là snt
B6: Nếu N chia hết cho i thì N không là snt
B7: i:=i+1 quay trở lại B5
HOẠT ĐỘNG 4: VẬN DỤNG, TÌM TÒI VÀ MỞ RỘNG
Trang 7II CÂU LỆNH FOR TO DO
Hoạt động 1: khởi động
1 Mục tiêu
- Biết câu lệnh for to do để mô tả thao tác lặp biết trước số lần lặp
- Biết cần có một đại lượng để điều khiển, đếm việc lặp, mỗi lần lặp đại lượng đótăng 1 đơn vị
2 chuẩn bị
- Giáo viên chuẩn bị, máy chiếu, bảng phụ vẽ sẵn sơ đồ thuật toán tìm giá trị lớn
nhất
3 Kĩ thuật tổ chức hoạt động
GV: tổ chức đàm thoại với lớp với các câu hỏi sau:
Hãy chỉ ra vai trò của đại lượng i trong sơ đồ thuật toán tìm giá trị lớn nhất?
Sau mỗi lần lặp, i được tăng lên bao nhiêu đơn vị?
Nếu có nhiều phần tử lớn nhất, thì thuật toán trên cho kết quả là phần tử nào?
Trong Pascal có câu lệnh nào để mô tả việc lặp như trên?
4 Dự kiến sản phẩm của học sinh
Học sinh nhận biết được mỗi lần i tăng 1 đơn vị i có vai trò đếm số lần lặp, điều khiển lặp
Trang 8- Treo bảng phụ có sơ đồ thuật
toán tìm Max
- GV nêu ra các câu hỏi:
Hãy chỉ ra vai trò của đại lượng i trong
sơ đồ thuật toán tìm giá trị lớn nhất?
Sau mỗi lần lặp, i được tăng lên bao
nhiêu đơn vị?
Nếu có nhiều phần tử lớn nhất, thì thuật
toán trên cho kết quả là phần tử nào?
Trong Pascal có câu lệnh nào để mô tả
việc lặp như trên?
Gv: đại lượng i có vai trò điều khiển
việc lặp, đếm số lần lặp
Gv: giới thiệu câu lệnh for to do
- Quan sát sơ đồ thuật toán
- Thảo luận để trả lời các câu hỏi
HOẠT ĐỘNG 2: HÌNH THÀNH KIẾN THỨC
1 Mục tiêu
- Biết cú pháp, ý nghĩa câu lệnh for to do
2 chuẩn bị
- Giáo viên chuẩn bị, máy chiếu, bảng phụ vẽ sẵn sơ đồ thuật toán tìm tìm giá trị
lớn nhất, sơ đồ cấu trúc câu lệnh for to do
Gv chuẩn bị 2 đoạn chương trình có lệnh for to do
Trang 9- Biến đếm (biến điều khiển) là biến nào?
- Giá trị đầu, giá trị cuối của biến đếm?
- Câu lệnh nào được lặp, lặp lại bao nhiêu lần? khi nào số lần lặp là 0?
- Khi nào ngừng lặp?
- Vẽ sơ đồ của mỗi đoạn lệnh?
- Ý nghĩa mỗi đoạn lệnh?
GV mời đại diện của 2 nhóm trả lời Gv phân tích, giảng giải
4 Dự kiến sản phẩm của học sinh
Học sinh vẽ được sơ đồ mỗi đoạn chương trình 1 và 2, phát hiện được biến đếm, bước tăng của biến đếm, phát hiện được những câu lệnh được lặp
5 Phương pháp
Thuyết trình, thảo luận nhóm
6 tiến trình dạy học
- Gv giới thiệu câu lệnh for to do
- Gv phân tích câu lệnh for to do
thông qua sơ đồ câu lệnh Chỉ rõ biến
điều khiển, câu lệnh lặp, số lần lặp,
- hs ghi bài
- Cú pháp:
For biênđếm:= gtđầu to gtcuoi do
Trang 10điều kiện lặp, khi nào ngừng lăp.
- Gv lấy một ví dụ minh họa bằng
cách phân tích và vẽ sơ đồ đoạn
chương trình sau:
t:=1;
for k:= 1 to n do
t:=t*2;
writeln(‘luy thua ‘,n,’ của 2 là ‘,t);
- Gv hướng dẫn học sinh hoàn thành sơ
đồ của mỗi đoạn chương trình bằng cách
điền thông tin vào sơ đồ của lệnh for to
Trang 11nhóm thảo luận, phân tích về một
đoạn chương trình bằng cách trả lời
các câu hỏi sau:
- Biến đếm (biến điều khiển) là
biến nào?
- Giá trị đầu, giá trị cuối của biến
đếm?
- Câu lệnh nào được lặp, lặp lại bao
nhiêu lần? khi nào số lần lặp là 0?
- Khi nào ngừng lặp?
- Vẽ sơ đồ của mỗi đoạn lệnh?
- Ý nghĩa mỗi đoạn lệnh?
Hs thảo luận nhóm và trả lời
- Giáo viên chuẩn bị, máy chiếu, sơ đồ thuật toán tìm tìm giá trị lớn nhất; các bước
của thuật toán kiểm tra một số là số nguyên tố hay không
3 Kĩ thuật tổ chức hoạt động
Gv: đưa ra thuật toán tìm max và thuật toán kiểm tra số nguyên tố; chia lớp thành 2nhóm, mỗi nhóm viết một đoạn chương trình có câu lệnh for to do tương ứng với một thuật toán
4 Dự kiến sản phẩm của học sinh
Học sinh viết được đoạn chương trình mô tả sự lặp trong 2 thuật toán
5 Phương pháp
Thuyết trình, thảo luận nhóm
Trang 126 tiến trình dạy học
Giá trị đầu, giá trị cuối, đại lượng
điều khiển việc lặp, thao tác lặp…từ
đó chỉ việc điền vào cú pháp của lệnh
for to do
HOẠT ĐỘNG 4: VẬN DỤNG, TÌM TÒI VÀ MỞ RỘNG
Trang 13Hãy viết chương trình hoàn chỉnh cho bài toán kiểm tra số nguyên tố
Trang 14Tiết 2
CÂU LỆNH FOR DOWNTO DO
Hoạt động 1: khởi động
1 Mục tiêu
- Biết câu lệnh for downto do để mô tả thao tác lặp biết trước số lần lặp
- Biết cần có một đại lượng để điều khiển, đếm việc lặp, mỗi lần lặp đại lượng đógiảm 1 đơn vị
2 chuẩn bị
- Giáo viên chuẩn bị, máy chiếu
- Bài toán: nhập vào sô nguyên dương n, tìm số lớn nhất không vượt quá n mà chiahết cho 11; và 2 cách giải quyết:
Cách 1: áp dụng thuật toán tìm max
B1: Cho max=0;
B2: i:=1;
B3: nếu i > n thì thông báo max là số cần tìm, kết thúc
B4: nếu i chia hết cho 11 và i > max thì max := i;
- Gv kết luận cách 2 nhanh hơn
- Gv đặt vấn đề: Trong Pascal có câu lệnh nào để mô tả việc lặp như cách 2?
4 Dự kiến sản phẩm của học sinh
Học sinh nhận biết được cách giải quyết thứ 2 tốt hơn cách 1 và suy nghĩ, tìm tòi xem có câu lệnh nào trong Pascal mô tả được sự lặp trong cách 2
5 Phương pháp
Thuyết trình, thảo luận nhóm,
6 tiến trình dạy học
- Đưa ra bài toán: nhập vào sô nguyên
dương n, tìm số lớn nhất không vượt
quá n mà chia hết cho 11; và 2 cách giải
quyết: - Quan sát bài toán và một trong 2
cách giải
Trang 15Cách 1: áp dụng thuật toán tìm max
- Gv yêu cầu học sinh cho biết số
lượng các phép tính toán trong mỗi
Trang 16Gv chuẩn bị 2 đoạn chương trình có lệnh for downto do
For i:= 999 downto 101 do
If (i div 100) = (i mod 10) thenBegin
- Biến đếm (biến điều khiển) là biến nào?
- Giá trị đầu, giá trị cuối của biến đếm?
Trang 17- Câu lệnh nào được lặp, lặp lại bao nhiêu lần? khi nào số lần lặp là 0?
- Khi nào ngừng lặp?
- Vẽ sơ đồ của mỗi đoạn lệnh?
- Ý nghĩa mỗi đoạn lệnh?
GV mời đại diện của 2 nhóm trả lời Gv phân tích, giảng giải
4 Dự kiến sản phẩm của học sinh
Học sinh vẽ được sơ đồ mỗi đoạn chương trình 1 và 2, phát hiện được biến đếm, bước tăng của biến đếm, phát hiện được những câu lệnh được lặp
- Gv phân tích câu lệnh for to do
thông qua sơ đồ câu lệnh Chỉ rõ biến
điều khiển, câu lệnh lặp, số lần lặp,
điều kiện lặp, khi nào ngừng lăp
- Gv lấy một ví dụ minh họa bằng
cách phân tích và vẽ sơ đồ đoạn
chương trình sau:
For j:= 100 downto 1 do
If j mod 3 = 0 then write(j, ‘ ‘);
- Gv hướng dẫn học sinh hoàn thành sơ
đồ của mỗi đoạn chương trình bằng cách
điền thông tin vào sơ đồ của lệnh for
Trang 18nhóm thảo luận, phân tích về một
đoạn chương trình bằng cách trả lời
các câu hỏi sau:
- Biến đếm (biến điều khiển) là
biến nào?
- Giá trị đầu, giá trị cuối của biến
đếm?
- Câu lệnh nào được lặp, lặp lại bao
nhiêu lần? khi nào số lần lặp là 0?
- Khi nào ngừng lặp?
- Vẽ sơ đồ của mỗi đoạn lệnh?
- Ý nghĩa mỗi đoạn lệnh?
Hs thảo luận nhóm và trả lời
Trang 19- Giáo viên chuẩn bị, máy chiếu, 6 đoạn chương trình:
Đoạn 1: Xét chương trình sau:
Trang 20Gv: chia lớp thành 6 nhóm, mỗi nhóm xác định kết quả của một đoạn chương trình
4 Dự kiến sản phẩm của học sinh
Học sinh xác định được kết quả của 6 đoạn chương
5 Phương pháp
Thuyết trình, thảo luận nhóm, đàm thoại
6 tiến trình dạy học
Trang 21- Đưa ra 6 đoạn chương trình sau:
Đoạn 1: Xét chương trình sau:
Trang 22Kết quả của chương trình trên là:
Trang 23- Gv kết luận: khó áp dụng câu lệnh for do trong trường hợp này.
- Gv giới thiệu câu lệnh While do
4 Dự kiến sản phẩm của học sinh
Học sinh khẳng định không thể hoặc khó áp dụng câu lệnh for do để thực hiện thuật toán tìm ước chung lớn nhất
Trang 24for downto do để mô tả sự lặp trong
thuật toán tìm ưcln
- Yêu cầu học sinh cho biết những
khó khăn mà họ gặp phải
- Đặt vấn đề, trong ngôn ngữ Pascal
có câu lệnh nào giúp dễ dàng giải
- Giáo viên chuẩn bị, máy chiếu, sơ đồ cấu trúc câu lệnh for downto do
Gv chuẩn bị 2 đoạn chương trình có lệnh for downto do
Trang 25- Vẽ sơ đồ của mỗi đoạn lệnh?
- Ý nghĩa mỗi đoạn lệnh?
- Kết quả của đoạn chương trình với n = 109
GV mời đại diện của 2 nhóm trả lời Gv phân tích, giảng giải
4 Dự kiến sản phẩm của học sinh
Học sinh vẽ được sơ đồ mỗi đoạn chương trình 1 và 2, phát hiện được điều kiện lặp, câu lệnh được lặp, ý nghĩa mỗi đoạn chương trình, kết quả của mỗi đoạn chương trình với n= 109
5 Phương pháp
Thuyết trình, thảo luận nhóm
6 tiến trình dạy học
- Gv giới thiệu câu lệnh while do
- Gv phân tích câu lệnh for to do
thông qua sơ đồ câu lệnh Chỉ rõ
nguyên lý hoạt động
- Gv minh họa bằng đoạn chương
trình của thuật toán tìm ước chung
Trang 26While n > 0 do
begin
dv:= n mod 10; s:= s + dv;n:= n div 10;
- Gv hướng dẫn học sinh hoàn thành sơ
đồ của mỗi đoạn chương trình bằng cáchđiền thông tin vào sơ đồ của lệnh while do
- Gv chia lớp thành 2 nhóm Mỗi
nhóm thảo luận, phân tích về một
Trang 27đoạn chương trình bằng cách trả lời
các câu hỏi sau:
- Điều kiện lặp là gì?
- Câu lệnh nào được lặp, lặp lại bao
nhiêu lần? khi nào số lần lặp là 0?
- Khi nào ngừng lặp?
- Vẽ sơ đồ của mỗi đoạn lệnh?
- Ý nghĩa mỗi đoạn lệnh?
- Kết quả của đoạn chương trình
- Giáo viên chuẩn bị, máy chiếu, 4 đoạn chương trình:
Đoạn 1:Xét chương trình sau:
Trang 28Gv: chia lớp thành 4 nhóm, mỗi nhóm xác định kết quả của một đoạn chương trình
4 Dự kiến sản phẩm của học sinh
Học sinh xác định được kết quả của 4 đoạn chương
5 Phương pháp
Thuyết trình, thảo luận nhóm, đàm thoại
6 tiến trình dạy học
- Đưa ra 4 đoạn chương trình sau:
Đoạn 1:Xét chương trình sau:
Trang 30- Hãy viết chương trình hoàn chỉnh nhập vào số nguyên dương n, in ra số lượng chữ số của nó.
- Có thể dùng câu lệnh while do thay thế cho câu lệnh for do được không?
- chuyển đoạn chương trình sau tư for do sang while do