- Biết cấu trúc chung của lệnh lặp với số lần biết trước For trong NNLT Pascal - Biết sử dụng đúng 2 dạng lệnh lặp For.. Bảng mô tả các chuẩn được đánh giá Mức độ nhận thức Nội dung Nh
Trang 1CHUYÊN ĐỀ: CẤU TRÚC LẶP
Số tiết: 03
Tiết 1: CẤU TRÚC LẶP
Ngày soạn:
Ngày giảng:
I Nội dung của chuyên đề
1 Khái niệm Lặp
2 Lặp với số lần biết trước và câu lệnh For - do
II Chuẩn kiến thức, kĩ năng, thái độ và những phẩm chất, năng lực
1 Kiến thức:
- Hiểu nhu cầu của cấu trúc lặp trong biễu diễn thuật toán
- Biết cấu trúc chung của lệnh lặp với số lần biết trước For trong NNLT Pascal
- Biết sử dụng đúng 2 dạng lệnh lặp For
2 Kĩ năng:
Bước đầu sử dụng được lệnh lặp For để lập trình giải quyết 1 số bài toán đơn giản.
3 Thái độ:
Rèn luyện các phẩm chất của người lập trình, không thoả mãn với kết quả ban đầu đạt được, cẩn thận, chu đáo, có sáng tạo
4 Định hướng hình thành và phát triển các năng lực
- Năng lực tư duy khi nhận biết về cấu trúc lặp
- Năng lực sử dụng ngôn ngữ
- Năng lực giải quyết vấn đề
- Năng lực sáng tạo
- Năng lực hợp tác nhóm
- Năng lực giao tiếp
III Bảng mô tả các mức độ nhận thức, biên soạn câu hỏi và bài tập
1 Bảng mô tả các chuẩn được đánh giá
Mức độ nhận
thức
Nội dung
Nhận biết Thông hiểu Vận dụng thấp Vận dụng nâng cao
lặp, có hai dạng
lặp (lặp với số lần biết trước
và không biết trước) và nhu
cầu sử dụng cấu trúc lặp trong diễn tả thuật toán
Hiểu được ý
nghĩa câu lệnh lặp, có hai dạng lặp
(lặp với số lần biết trước
và không biết trước)
Vận dụng câu
lệnh lặp trong một
số bài toán đơn giản
Áp dụng câu lệnh
lặp để giải một số bài toán nâng cao
Lặp với số lần
biết trước và
câu lệnh For -
do
Biết được thế
nào là lặp với
số lần biết trước và hoạt động của nó
Hiểu được ý
nghĩa câu lệnh lặp và hoạt động của nó
Vận dụng câu
lệnh For - do để giải một số bài tập đơn giản
Áp dụng câu lệnh
For - do để giải một
số bài tập nâng cao
Trang 2IV Tiến trình dạy học chuyên đề
1 Chuẩn bị của giáo viên và học sinh
Giáo viên:
- Bài soạn
- Sách giáo khoa, sách giáo viên, máy chiếu
Học sinh:
- Vở ghi bài
- Sách giáo khoa
2 Phương pháp dạy học
Thuyết trình, vấn đáp, gợi mở, hoạt động nhóm
3 Thiết kế tiến trình dạy học chuyên đề
Hoạt động khởi động:
a) Mục tiêu: Học sinh làm quen và hiểu được nội dung câu lệnh lặp For - do
b) Phương tiện: Sách giáo khoa
c) Tổ chức dạy học (cá nhân/toàn lớp)
1 GV giới thiệu với HS cấu tạo khung chương trình, số tiết và những kiến thức cơ bản của cấu trúc lặp
2 HS dùng SGK tìm hiểu sơ qua kiến thức liên quan đến câu trúc lặp
3 GV cho học sinh biết mục đích của chuyên đề này là nghiên cứu về cấu trúc lặp trong lập trình
Hoạt động thực hành
Hoạt động 1 Tìm hiểu về khái niệm lặp
a) Mục tiêu: HS biết khái niệm lặp và ý nghĩa của nó
b) Phương tiện: SGK
c) Tổ chức dạy học (cá nhân/toàn lớp)
1 Lặp
- GV: Dùng máy chiếu: Trình bày hai bài toán để hình thành khái niệm lặp.
- GV: Giá trị ban đầu của S được gán là bao nhiêu?
- HS: Bắt đầu S được gán giá trị là 1/a
- GV: Mỗi lần cộng thêm vào S một lượng là?
- HS: cộng thêm 1/(a+N) với N=1, 2, 3,…
- GV:Việc cộng thêm được thực hiện bao nhiêu lần Xác định số lần lặp trong 2 bài toán?
- HS: Với bài toán 1, việc cộng thêm dừng khi N=100, số lần lặp đã biết trước là 100
- Với bài toán 2, số lần lặp chưa biết trước, nhưng việc cộng thêm dừng khi1/(a+N)<0.0001
- GV: Trong lập trình có những thao tác phải lặp lại nhiều lần, khi đó ta gọi là cấu trúc lặp
- GV: Lấy VD thực tế: Chương trình tính điểm cho 50 học sinh của một lớp sẽ phải lặp đi lặp lại một số thao tác như: nhập họ tên, điểm các môn, tính điểm trung bình… NNLT đưa
ra cấu trúc lặp chỉ cần viết các lệnh thực hiện các thao tác cho một học sinh sau đó lặp đi lặp lại với các học sinh khác Quá trình dừng khi lặp đủ 50 lần
- GV yêu vầu học sinh quan sát hai thuật toán SGK
- Gọi một số học sinh nhận xét về hai thuật toán trên thông qua các vấn đề sau:
1 Thuật toán có lặp không? Lặp với số lần ?
2 Hai thuật toán giống và khác nhau ntn?
3 Giá trị khởi tạo cho biến đếm N;
4 Trong mỗi bước lặp biến đếm N thay đổi ntn
5 Khi nào thuật toán dừng?
- HS tr¶ lêi: Cả hai thuật toán đều có số lần lặp là 100
- Thuật toán Tong_1a: Giá trị khởi tạo cho biến N =0, sau mỗi lần lặp biến đếm N tăng thêm 1.Thuật toán dừng khi đã lặp đủ 100 lần
Trang 3+ Thuật toỏn Tong_1b: Giỏ trị khởi tạo cho biến N =101, sau mỗi lần lặp biến đếm N giảm
đi 1 Thuật toỏn dừng khi đó lặp đủ 100 lần
-> Ta nói cách lặp trong thuật toán Tong_1a là dạng tiến, trong Tong_1b
là dạng lùi
GV chốt lại
- Xột 2 bài toỏn như sau với a>2 là số nguyờn cho trước:
Bài toỏn 1: Tớnh tổng
100
1
2
1 1
1
1
1
+ + + +
+ +
+
=
a a
a
a
S
Bài toỏn 2: Tớnh tổng
1
2
1 1
1
1
+ + + +
+ +
+
=
N a a
a
a
S
đến khi 1 <0.0001
+N
a
* Nhận xột:
- Bài toỏn 1 cú số lần lặp đó biết trước là 100
- Bài toỏn 2 cú số lần lặp chưa biết trước
- Cấu trỳc lặp: Cú hai loại:
+ Lặp với số lần biết trước
+ Lặp với số lần chưa biết trước
Hoạt động 2: Lặp với số lần biết trước và cõu lệnh For - do
a) Mục tiờu: Học sinh hiểu cõu lệnh lặp với số lần biết trước và cõu lệnh For – do, ý nghĩa và hoạt động của nú
b) Phương tiện: SGK, mỏy chiếu
c) Tổ chức dạy học (cỏ nhõn/ nhúm/toàn lớp)
- GV: Đưa ra 2 dạng cõu lệnh lặp trong Pascal, giải thớch ý nghĩa của cỏc thành phần trong lệnh
- GV: Nếu giỏ trị đầu lớn hơn giỏ trị cuối thỡ vũng lặp cú thực hiện được khụng?
- HS: Vũng lặp khụng thực hiện được
- GV: Tương ứng với mỗi giỏ trị biến đếm, cõu lệnh sau Do thực hiện một lần
GV chốt lại
* Để giải quyết bài toỏn 1 ta cú hai cỏch :
- Thuật toỏn (SGK)
Trong pascal cú 2 loại cõu lệnh lặp cú số lần biết trước:
* Dạng tiến:
For <biến đếm> := <giỏ trị đầu> to <giỏ trị cuối> do <Cõu lệnh>;
* Dạng lựi:
For <biến đếm> := <giỏ trị cuối> downto <giỏ trị đầu> do <Cõu lệnh>;
- Trong đú:
+ Biến đếm:là biến đơn, thường là kiểu số nguyờn
+ Giỏ trị đầu, giỏ trị cuối là cỏc biểu thức cựng kiểu với biến đếm Giỏ trị đầu phải nhỏ hơn hoặc bằng giỏ trị cuối
* Hoạt động của lệnh For-Do:
- Ở dạng lặp tiến: Biến đếm tự tăng dần từ giỏ trị đầu đến giỏ trị cuối.
- Ở dạng lựi: Biến đếm tự giảm dần từ giỏ trị cuối đến giỏ trị đầu.
Hoạt động: Củng cố
Trang 4Nhấn mạnh: Cấu trúc chung của câu lệnh lặp For Sơ đồ thực hiện của lệnh lặp For
Tiết 2: CẤU TRÚC LẶP
Ngày soạn:
Ngày giảng:
I Nội dung của chuyên đề
1 Khái niệm Lặp
2 Lặp với số lần biết trước và câu lệnh While – do
3 Một số ví dụ
II Chuẩn kiến thức, kĩ năng, thái độ và những phẩm chất, năng lực
1 Kiến thức:
- Biết được ý nghĩa của cấu trúc lặp có số lần lặp chưa biết trước
- Biết được cấu trúc chung của lệnh lặp While trong NNLT Pascal
2 Kĩ năng:
- Phân biệt được sự giống và khác nhau giữa cấu trúc lặp For và While
- Sử dụng đúng lệnh lặp While trong lập trình
- Bước đầu biết lựa chọn đúng dạng lệnh lặp để lập trình giải quyết một số bài toán đơn giản
3 Thái độ:
Rèn luyện các phẩm chất của người lập trình, không thoả mãn với kết quả ban đầu đạt được, cẩn thận, chu đáo, có sáng tạo
4 Định hướng hình thành và phát triển các năng lực
- Năng lực tư duy khi nhận biết về cấu trúc lặp
- Năng lực sử dụng ngôn ngữ
- Năng lực giải quyết vấn đề
- Năng lực sáng tạo
- Năng lực hợp tác nhóm
- Năng lực giao tiếp
III Bảng mô tả các mức độ nhận thức, biên soạn câu hỏi và bài tập
4 Bảng mô tả các chuẩn được đánh giá
Mức độ nhận
thức
Nội dung
Nhận biết Thông hiểu Vận dụng thấp Vận dụng nâng cao
Bài toán 2
(SGK/42) Nhận biết ý nghĩa của câu
lệnh lặp với số lần chưa biết trước
Hiểu được ý
nghĩa câu lệnh lặp với
số lần chưa biết trước, phân biệt được với câu lệnh lặp với
số lần biết trước Câu lệnh
While…Do Biết ý nghĩa vàcấu trúc câu
lệnh While - do
Hiểu được ý
nghĩa câu lệnh lặp While - do và hoạt động
Vận dụng câu
lệnh While - do để giải một số bài tập đơn giản
Áp dụng câu lệnh
While - do để giải một số bài tập nâng cao
Trang 5của nó
Ví dụ Biết ý nghĩa và
cấu trúc câu lệnh While - do
Hiểu được ý
nghĩa câu lệnh lặp While - do và hoạt động của nó
Vận dụng câu
lệnh While - do để giải một số bài tập đơn giản
Áp dụng câu lệnh
While - do để giải một số bài tập nâng cao
IV Tiến trình dạy học chuyên đề
1 Chuẩn bị của giáo viên và học sinh
Giáo viên:
- Bài soạn
- Sách giáo khoa, sách giáo viên, máy chiếu
Học sinh:
- Vở ghi bài
- Sách giáo khoa
2 Phương pháp dạy học
Thuyết trình, vấn đáp, gợi mở, hoạt động nhóm
3 Thiết kế tiến trình dạy học chuyên đề
Hoạt động khởi động:
a) Mục tiêu: Học sinh làm quen và hiểu được nội dung câu lệnh While - do
b) Phương tiện: Sách giáo khoa
c) Tổ chức dạy học (cá nhân/toàn lớp)
1 GV giới thiệu với HS cấu tạo khung chương trình, số tiết và những kiến thức cơ bản của cấu trúc lặp với số lần chưa biết trước
2 HS dùng SGK tìm hiểu sơ qua kiến thức liên quan đến câu trúc lặp
3 GV cho học sinh biết mục đích của chuyên đề này là nghiên cứu về cấu trúc lặp trong lập trình
Hoạt động thực hành
Hoạt động 1: Tìm hiểu về khái niệm lặp
a) Mục tiêu: HS biết khái niệm lặp và ý nghĩa của nó
b) Phương tiện: SGK
c) Tổ chức dạy học (cá nhân/toàn lớp)
* Bài toán 2:
- GV: Nêu sự khác nhau của bài toán này với bài toán đã giải ở tiết trước? Lặp bao nhiêu lần? Lặp đến khi nào?
- HS: Bài trước: cho giới hạn N
Bài này: cho giới hạn S
Chưa xác định được ngay số lần lặp
Lặp cho đến khi điều kiện 1 <0.001
+N
Kết luận: qua 2 ví dụ trên ta thấy có 1 dạng toán có sự lặp lại của câu lệnh nhưng không biết được số lần lặp Cần có 1 cấu trúc điều khiển lặp lại 1 công việc nhất định khi thõa
mãn 1 điều kiện nào đó
GV chốt lại
Bài toán 2: Tính tổng
Trang 61
2
1 1
1
1
+ + + +
+ +
+
=
N a a
a
a
S
đến khi 1 <0.0001
+N
a
Việc thực hiện tính tổng lặp lại cho đến khi điều kiện 1 <0.001
+N
Hoạt động2 Tìm hiểu về câu lệnh While - do
a) Mục tiêu: HS biết ý nghĩa của cấu trúc lặp có số lần chưa biết trước
b) Phương tiện: SGK
c) Tổ chức dạy học (cá nhân/toàn lớp)
3 Câu lệnh While …Do
- GV: Yêu cầu HS nghiên cứu sgk và cho biết cấu trúc chung của lệnh lặp While
- HS: Tham khảo sgk và trả lời
Cấu trúc:
While <điều kiện> Do <lệnh cần lặp
Giải thích:
<điều kiện>: biểu thức quan hệ hoặc biểu thức logic
<lệnh cần lặp>: các lệnh cần phải lặp lại
- GV: Điều kiện để lặp lại trong bài toán 2 là gì?
- HS: 1 >0.001
+i
a
- Trong bài toán 2 lệnh cần lặp là gì?
- HS: S := S + 1/(a+I): để tính tổng
i := i + 1: để tăng chỉ số
- GV: Dựa vào cấu trúc, cho biết máy thực hiện tính <điều kiện> trước hay <lệnh cần lặp> trước?
- HS: MT thực hiện điều kiện trước
- GV: Sự khác nhau trong lệnh cần lặp của For và While là gì?
- HS: Trong While phải có lệnh thay đổi biến chỉ số
- GV: Yêu cầu HS vẽ sơ đồ thực hiện lên bảng
- HS: Lên bảng vẽ sơ đồ thực hiện của lệnh While.
- GV: Nhận xét đúng sai và bổ sung
- GV: Chiếu sơ đồ mẫu và giải thích
GV chốt lại
3 Câu lệnh While …Do
Cấu trúc:
While <điều kiện> Do <lệnh cần lặp>;
Trong đó:
<điều kiện>: biểu thức quan hệ hoặc biểu thức logic
<lệnh cần lặp>: các lệnh cần phải lặp lại
Sơ đồ thực hiện:
điều kiện
lệnh cần lặp
S Đ
Trang 7* Trong <lệnh cần lặp> phải có lệnh thay đổi biến chỉ số (để thay đổi giá trị <điều kiện>)
Hoạt động 3: Ví dụ
a) Mục tiêu: HS biết vận dụng cấu trúc lặp có số lần chưa biết trước để giải một số ví dụ
b) Phương tiện: SGK
c) Tổ chức dạy học (cá nhân/toàn lớp)
* Một số ví dụ:
Trở lại bài toán 2
-GV: Đã xác định được <điều kiện>, <lệnh cần lặp> hãy viết câu lệnh While hoàn chỉnh?
- HS: Quan sát, xác định lại các thành phần và trả lời:
While A< B Do
begin
A := A + 0.015*A;
T := T + 1;
end;
- GV: Chia lớp theo nhóm (2 HS) thảo luận và viết chương trình hoàn thiện
- HS: Cho 1 hs lên bảng trình bày
- GV: Chính xác hóa chương trình cho cả lớp (chỉnh sửa lại chương trình của HS)
- GV: đưa ra ví dụ 2
Phân tích để xác định <điều kiện> và <lệnh cần lặp>.?
- GV: Điều kiện để tiếp tục lặp là gì?
Gợi ý: Điều kiện: M<>N
- GV: Các lệnh cần lặp là gì?
- HS: M := M – N; hoặc N := N – M;
- Yêu cầu HS nêu thuật toán tìm ƯCLN của 2 số đó
- Thuật toán:
B1: Nếu m=n thì ucln=m, dừng;
B2: Nếu m>n thì m:=m-n ngược lại n:=n-m, quay lại B1
- HS Suy nghĩ và trả lời:
+ Điều kiện nào để lặp lại
+ Những lệnh nào cần lặp lại
- GV: Yêu cầu hs viết chương trình hoàn thiện bài toán ở nhà
Củng cố: Hãy nêu 2 câu hỏi cần đặt ra khi gặp bài toán dạng này?
GV chốt lại
Ví dụ 1:
Var A, B: extended; T: byte;
Begin
Write(‘So tien ban dau A: ’);
Readln( A);
Write(‘So tien can co B(B>A): ’);
Readln(B);
T := 0;
While A< B Do
begin
A := A + 0.015*A;
T := T + 1;
end;
Writeln(‘Phai cho ’,T,’ thang’);
Readln
Trang 8Hoạt động: Củng cố
Nhấn mạnh: Cấu trúc, ý nghĩa và sử dụng câu lệnh lặp While – do
Trang 9Tiết 3: BÀI TẬP
Ngày soạn:
Ngày giảng:
I Nội dung của chuyên đề
1 Bài tập vận dụng câu lệnh For
2 Bài tập vận dụng câu lệnh While
II Chuẩn kiến thức, kĩ năng, thái độ và những phẩm chất, năng lực
4 Kiến thức:
- Hiểu nhu cầu của cấu trúc lặp trong biễu diễn thuật toán
- Biết cấu trúc chung của lệnh lặp với số lần biết trước For trong NNLT Pascal
- Biết sử dụng đúng 2 dạng lệnh lặp For
5 Kĩ năng:
Bước đầu sử dụng được lệnh lặp For để lập trình giải quyết 1 số bài toán đơn giản.
6 Thái độ:
Rèn luyện các phẩm chất của người lập trình, không thoả mãn với kết quả ban đầu đạt được, cẩn thận, chu đáo, có sáng tạo
4 Định hướng hình thành và phát triển các năng lực
- Năng lực tư duy khi nhận biết về cấu trúc lặp
- Năng lực sử dụng ngôn ngữ
- Năng lực giải quyết vấn đề
- Năng lực sáng tạo
- Năng lực hợp tác nhóm
- Năng lực giao tiếp
III Bảng mô tả các mức độ nhận thức, biên soạn câu hỏi và bài tập
3 Bảng mô tả các chuẩn được đánh giá
Mức độ nhận
thức
Nội dung
Nhận biết Thông hiểu Vận dụng thấp Vận dụng nâng cao
Bài tập vận
dụng câu lệnh
For - do
Hiểu được ý
nghĩa câu lệnh lặp For -do
Vận dụng câu
lệnh lặp For - do trong một số bài toán đơn giản
Áp dụng câu lệnh
lặp For - do để giải một số bài toán nâng cao
Bài tập vận
dụng câu lệnh
While - do
Hiểu được ý
nghĩa câu lệnh lặp While - do
Vận dụng câu
lệnh While - do để giải một số bài tập đơn giản
Áp dụng câu lệnh
While - do để giải một số bài tập nâng cao
IV Tiến trình dạy học chuyên đề
1 Chuẩn bị của giáo viên và học sinh
Giáo viên:
- Bài soạn
- Sách giáo khoa, sách giáo viên, máy chiếu
Học sinh:
- Vở ghi bài
- Sách giáo khoa
4 Phương pháp dạy học
Thuyết trình, vấn đáp, gợi mở, hoạt động nhóm
Trang 103 Thiết kế tiến trình dạy học chuyên đề
Hoạt động khởi động:
a) Mục tiêu: Học sinh nhớ và hiểu được nội dung câu lệnh lặp For – do; While – do b) Phương tiện: Sách giáo khoa
c) Tổ chức dạy học (cá nhân/toàn lớp)
1 GV giới thiệu với HS cấu tạo khung chương trình, số tiết và những kiến thức cơ bản của cấu trúc lặp
2 HS dùng SGK tìm hiểu sơ qua kiến thức liên quan đến câu trúc lặp
3 GV cho học sinh biết mục đích của chuyên đề này là nghiên cứu về cấu trúc lặp trong lập trình
Hoạt động thực hành
Hoạt động 1 Bài tập vận dụng câu lệnh For – do
a) Mục tiêu: HS biết sử dụng câu lệnh lặp For – do để giải một số bài tập
b) Phương tiện: SGK
c) Tổ chức dạy học (cá nhân/nhóm/toàn lớp)
1 Bài tập vận dụng
Cho hai số nguyên dương a, b (a<b) Hãy đếm xem trong phạm vi từ a đến b có bao nhiêu
số chia hết cho 5
- GV: Bài toán thể hiện việc lặp thế nào?
- HS: Lặp lại việc kiểm tra từng số từ a đến b xem có chia hết cho 5 hay không?
- GV: Sử sụng cấu trúc lặp nào là phù hợp?
- HS: Lặp với số lần biết trước For – do
- GV: Nêu cách kiểm tra điều kiện chia hết cho 5 của các số?
- HS: Dùng câu lệnh rẽ nhánh If – then
- GV gọi 1 HS lên bảng giải bài tập
- HS lên bảng thực hiện
- GV yêu cầu các HS còn lại theo dõi và nhận xét
- GV nhận xét, hoàn chỉnh bài làm và đánh giá
GV chốt lại
Uses crt;
Var
a, b,i, dem: integer;
Begin
Clrscr;
dem:=0;
for i:=a to b do
If i mod 5 = 0 then dem := dem + 1;
writeln(dem);
readln;
End
2 Bài tập 5a (SGK/51):
- GV: Hãy khai triển biểu thức Y =∑
= +
50
n
dưới dạng tường minh ?
- HS: lên bảng trình bày
- GV: Nhìn vào công thức khai triển, em hãy cho biết n lấy giá trị trong đoạn nào?
- HS: n nhận giá trị từ 1 đến 50
- GV: Em hãy thử đưa ra phương pháp tính Y?
- HS trả lời