Tải bản đầy đủ (.docx) (87 trang)

GIÁO ÁN 5512 TIN HỌC 11 HỌC KÌ 2

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 (421.31 KB, 87 trang )

Ngày soạn: …. /…. /….
TIẾT 19, 20, 21, 22, 23. CHỦ ĐỀ: CẤU TRÚC LẶP
I. MỤC TIÊU
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
- Hiểu cấu trúc với số lần biết trước và chưa biết trước.
- Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tính huống cụ thể.
- Mơ tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp.
- Viết đúng các lệnh lặp với số lần biết trước và chưa biết trước.
- Viết được thuật toán của một số bài toán đơn giản.
2. Năng lực:
* Năng lực chung:
- Năng lực tự chủ và tự học: biết chủ động, tích cực thực hiện những công việc của bản
thân trong học tập.
- Năng lực giao tiếp và hợp tác: biết sử dụng ngôn ngữ kết hợp với hình ảnh để trình
bày thơng tin, ý tưởng trong các hoạt động học tập.
- Năng lực giải quyết vấn đề và sáng tạo: phân tích được tình huống, đề xuất và lựa
chọn giải pháp để chọn được phương án nhằm giải quyết vấn đề được đặt ra.
* Năng lực đặc thù:
- Năng lực NLc: Giải quyết vấn đề với sự hỗ trợ của công nghệ thông tin và truyền
thơng.
3. Phẩm chất:
- Trung thực: HS có ý thức báo cáo các kết quả hoạt động của mình một cách chính
xác.
- Chăm chỉ: HS tích cực tìm tịi và sáng tạo trong học tập.
- Trách nhiệm: HS có ý thức chia sẻ thông tin với các thành viên trong nhóm.
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
1. Thiết bị: Máy tính, máy chiếu.
2. Học liệu: SGK, bài giảng điện tử, một số chương trình viết bằng NNLT Pascal.
III. TIẾN TRÌNH DẠY HỌC
3.1. Ổn định:


T
Lớp
Ngày
Sĩ số
Ghi chú
iết
dạy
11A1
11A2
11A3
11A4
1
9
11A5
11A6
11A7
11A9
2
11A1
0
11A2
11A3
11A4
11A5
11A6
1


11A7
11A9

11A1
11A2
11A3
11A4
2
1
11A5
11A6
11A7
11A9
11A1
11A2
11A3
11A4
2
2
11A5
11A6
11A7
11A9
11A1
11A2
11A3
11A4
2
3
11A5
11A6
11A7
11A9

3.2. Kiểm tra bài cũ: Không kiểm tra.
3.3. Hoạt động học tập:
HOẠT ĐỘNG 1: HOẠT ĐỘNG MỞ ĐẦU (KHỞI ĐỘNG)
a) Mục đích: HS biết khái niệm lặp trong thực tế.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK.
c) Sản phẩm: HS vận dụng kiến thức thực tế để trả lời câu hỏi GV đưa ra.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS lấy ví dụ về lặp trong thực tế?
- Bước 2: Thực hiện nhiệm vụ: HS thực hiện nhiệm vụ trong thời gian 03 phút.
- Bước 3: Báo cáo, thảo luận: GV gọi một số HS trả lời, HS khác nhận xét, bổ sung.
- Bước 4: Kết luận, nhận định: GV đánh giá kết quả của HS, trên cơ sở đó dẫn dắt HS
vào bài học mới.
HOẠT ĐỘNG 2: HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động 2.1. Tìm hiểu ý nghĩa của cấu trúc lặp
a) Mục đích: HS nắm được khái niệm lặp trong lập trình. Nhận biết được có 2 loại cấu
trúc lặp là lặp với số lần biết trước và lặp với số lần chưa biết trước.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:
* Bài tốn 1:
- Input: nhập a>2 nguyên.
2


S

- Output:
- Ý tưởng:

1

1
1
1


 ... 
a a 1 a  2
a  100

1
+ Xuất phát, S được gán giá trị a
1
+ Tiếp theo, cộng vào S một giá trị a  N với N= 1, 2, …, 100

* Bài toán 2:
- Input: nhập a>2 nguyên.
1
1
1
1
1
S 

 ... 
 ...
 0,0001
a a 1 a  2
aN
- Output:
cho đến khi a  N


- Ý tưởng:
1
+ Xuất phát, S được gán giá trị a
1
+ Tiếp theo, cộng vào S một giá trị a  N với N= 1, 2, … cho đến khi
1
 0,0001
aN
thì dừng lại.

* Nhận xét sự giống và khác nhau của 2 bài toán:
- Giống:
1
+ Xuất phát, S được gán giá trị a
1
+ Tiếp theo, cộng vào S một giá trị a  N với N= 1, 2, …

+ Công việc được lặp lại một số lần
- Khác:
+ BT1: số lần lặp là 100 lần
+ BT2: số lần lặp chưa biết trước
* Cấu trúc lặp phân biệt 2 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
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV chia lớp thành 4 nhóm, yêu cầu HS tìm hiểu SGK
kết hợp với kiến thức của bản thân và hoạt động theo nhóm để hồn thành nhiệm vụ:
+ Nhóm 1, 3: Phân tích input, output, ý tưởng giải bài tốn 1 (SGK, 42).
+ Nhóm 2, 4: Phân tích input, output, ý tưởng giải bài tốn 2 (SGK, 42).

+ u cầu sau khi hồn thành nhiệm vụ nhóm, nhóm 1,2 trao đổi kết quả, nhóm 3,4 trao
đổi kết quả để trả lời câu hỏi:
> Câu hỏi 1: Nêu sự giống và khác nhau trong cách giải bài toán 1, bài toán 2?
> Câu hỏi 2: Lặp với số lần biết trước là gì?
> Câu hỏi 3: Phân loại cấu trúc lặp?
- Bước 2: Thực hiện nhiệm vụ:
+ Các nhóm tự phân cơng nhiệm vụ cho các thành viên.
+ HS làm việc theo nhóm trong khoảng thời gian: 10 phút.
- Bước 3: Báo cáo, thảo luận:
+ GV yêu cầu đại diện các nhóm báo cáo kết quả.
3


+ Các nhóm nhận xét, bổ sung cho nhau.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động và chốt kiến thức.
Hoạt động 2.2. Tìm hiểu về thuật tốn Tong_1a
a) Mục đích: HS nhớ lại khái niệm thuật toán đã được học ở lớp 10 và vận dụng vào tìm
hiểu thuật tốn Tong_1a.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức:
* Thuật tốn Tong_1a
B1: S:=1/a; N:=0;
B2: N:=N+1;
B3: Nếu N>100 thì chuyển đến B5;
B4: S:= S+1/(a+N) rồi quay lại B2;
B5: Đưa S ra màn hình rồi kết thúc.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của

bản thân và trao đổi với bạn bên cạnh để trả lời câu hỏi:
+ Câu hỏi: Tìm hiểu thuật tốn Tong_1a, giải thích ý nghĩa của từng bước trong thuật
toán?
- Bước 2: Thực hiện nhiệm vụ:
+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 05 phút.
+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động và chốt kiến thức.
+ GV hướng dẫn HS về nhà đọc và tìm hiểu thuật tốn Tong_1b (SGK, 43).
Hoạt động 2.3. Tìm hiểu về câu lệnh FOR-DO
a) Mục đích: HS biết được cấu trúc chung của lệnh for-do. Hiểu được ý nghĩa của các
thành phần trong cấu trúc lặp. Biết được hoạt động của cấu trúc lặp for-do dạng tiến và
dạng lùi.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thứ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 lệnh>;
- Trong đó:
+ Biến đếm thường là biến đơn, thường có kiểu 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 và giá trị đầu phải ≤
giá trị cuối. Nếu giá trị đầu lớn hơn giá trị cuối thì vịng lặp không thực hiện được.
- Hoạt động của lệnh for-do:
+ Ở dạng lặp tiến, câu lệnh viết sau từ khóa do được thực hiện tuần tự, biến đếm lần
lượt nhật các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối.
+ Ở dạng lặp lùi, câu lệnh viết sau từ khóa do được thực hiện tuần tự với biến đếm lần

lượt nhận các giá trị liên tiếp giảm từ giá trị cuối về giá trị đầu.
d) Cách thức thực hiện:
4


- Bước 1: Chuyển giao nhiệm vụ: GV chia lớp thành 4 nhóm, u cầu HS tìm hiểu SGK
kết hợp với kiến thức của bản thân và hoạt động theo nhóm để hồn thành nhiệm vụ:
+ Nhóm 1, 3: Nêu và giải thích cú pháp, hoạt động của câu lệnh for-do dạng tiến?
+ Nhóm 2, 4: Nêu và giải thích cú pháp, hoạt động của câu lệnh for-do dạng lùi?
- Bước 2: Thực hiện nhiệm vụ:
+ Các nhóm tự phân công nhiệm vụ cho các thành viên.
+ HS làm việc theo nhóm trong khoảng thời gian: 5 phút.
- Bước 3: Báo cáo, thảo luận:
+ GV yêu cầu đại diện các nhóm báo cáo kết quả.
+ Các nhóm nhận xét, bổ sung cho nhau.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động và chốt kiến thức.
Hoạt động 2.4. Tìm hiểu về chương trình Tong_1a
a) Mục đích: HS hiểu cách vận dụng cấu trúc for-do vào giải bài toán 1, nắm được các
lệnh trong chương trình Tong_1a.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:
program Tong_1a;
uses crt;
var s: real;
a,n: integer;
begin
clrscr;
write(‘Nhap gia tri a:’);

readln(a);
s:=1/a;
for n:= 1 to 100 do s:= s+1/(a+n);
write(‘Tong s =’,s: 8:3);
readln
end.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của
bản thân và trao đổi với bạn bên cạnh để trả lời câu hỏi:
+ Câu hỏi 1: Đoạn lệnh nào nhập vào giá trị a?
+ Câu hỏi 2: Chương trình trên dùng cấu trúc lặp dạng nào? Đoạn lệnh nào thực hiện tính
tổng?
- Bước 2: Thực hiện nhiệm vụ:
+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 05 phút.
+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động, chạy thử chương trình để HS quan sát và chốt kiến thức.
+ GV hướng dẫn HS về nhà đọc và tìm hiểu chương trình Tong_1b (SGK, 44).
Hoạt động 2.5. Tìm hiểu về chương trình ví dụ 2
a) Mục đích: HS hiểu cách vận dụng cấu trúc for-do vào giải ví dụ 2, nắm được các lệnh
trong chương trình vi_du_2.
5


b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:

program Vi_du_2;
uses crt;
var m, n, i: integer; t: longint;
begin
clrscr;
write(‘nhap so m < n:’);
write(‘m=’); readln(m);
write(‘n=’); readln(n);
t:= 0;
for i:= m to n do
if (i mod 3 = 0 ) or (i mod 5 = 0) then t:= t + i;
write(‘tong=’, t);
readln
end.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của
bản thân và trao đổi với bạn bên cạnh để trả lời câu hỏi:
+ Câu hỏi 1: Đoạn lệnh nào nhập vào giá trị m, n?
+ Câu hỏi 2: Chương trình trên dùng cấu trúc lặp dạng nào? Đoạn lệnh nào thực hiện tính
tổng? Đoạn lệnh đó khác gì việc tính tổng ở bài tốn tong_1a?
- Bước 2: Thực hiện nhiệm vụ:
+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 05 phút.
+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động, chạy thử chương trình để HS quan sát và chốt kiến thức.
Hoạt động 2.6. Tìm hiểu về thuật tốn Tong_2
a) Mục đích: HS nhớ lại khái niệm thuật toán đã được học ở lớp 10 và vận dụng vào tìm

hiểu thuật tốn Tong_2.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:
* Thuật toán Tong_2
B1: S:=1/a; N:= 0;
B2: Nếu 1/(a+N) < 0.0001 thì chuyển đến B5;
B3: N:=N+1;
B4: S:=S + 1/(a+N); rồi quay lại B2;
B5: Đưa kết quả ra màn hình, rồi kết thúc;
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của
bản thân và trao đổi với bạn bên cạnh để trả lời câu hỏi:
+ Câu hỏi: Tìm hiểu thuật tốn Tong_2, giải thích ý nghĩa của từng bước trong thuật
toán?
- Bước 2: Thực hiện nhiệm vụ:
6


+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 05 phút.
+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động và chốt kiến thức.
Hoạt động 2.7. Tìm hiểu về câu lệnh WHILE-DO
a) Mục đích: HS biết được cấu trúc chung của lệnh while-do. Hiểu được ý nghĩa của các
thành phần trong cấu trúc lặp while-do. Biết được hoạt động của cấu trúc lặp while-do.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo

yêu cầu của GV.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:
- Cú pháp: while <điều kiện> do <câu lệnh>;
- Trong đó:
+ Điều kiện là biểu thức logic.
+ Câu lệnh là một câu lệnh đơn hoặc ghép.
- Hoạt động của câu lệnh while-do:

d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của
bản thân và trao đổi với bạn bên cạnh để trả lời câu hỏi:
+ Câu hỏi: nêu và giải thích cú pháp, hoạt động của câu lệnh while-do?
- Bước 2: Thực hiện nhiệm vụ:
+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 05 phút.
+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động và chốt kiến thức.
Hoạt động 2.8. Tìm hiểu về chương trình Tong_2
a) Mục đích: HS hiểu cách vận dụng cấu trúc while-do vào giải bài toán 2, nắm được các
lệnh trong chương trình Tong_2.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức:
program Tong_2;
7



uses crt;
var s : real; a, n : integer;
begin
clrscr;
write(‘Hay nhap gia tri a vao!’);
readln(a);
s := 1/a; n := 0;
while 1/(a+n) >= 0.0001 do
begin
n:= n + 1;
s := s + 1/(a+n);
end;
writeln(‘Tong S la:’, S: 8: 4);
readln
end.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của
bản thân và trao đổi với bạn bên cạnh trả lời câu hỏi:
+ Câu hỏi 1: Đoạn lệnh nào nhập vào giá trị a?
+ Câu hỏi 2: Chương trình trên dùng cấu trúc lặp dạng nào? Đoạn lệnh nào thực hiện tính
tổng?
- Bước 2: Thực hiện nhiệm vụ:
+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 05 phút.
+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động, chạy thử chương trình để HS quan sát và chốt kiến thức.
Hoạt động 2.9. Tìm hiểu về thuật tốn UCLN

a) Mục đích: HS nhớ lại thuật tốn UCLN đã được học ở lớp 10.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
u cầu của GV.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:
* Thuật toán UCLN
B1: Nhập M, N từ bàn phím;
B2: Nếu M=N thì lấy giá trị chung này làm UCLN rồi chuyển đến bước 5.
B3: Nếu M>N thì M:=M-N ngược lại N:=N-M
B4: Quay lại B2;
B5. Đưa ra kết quả UCLN rồi kết thúc.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của
bản thân và trao đổi với bạn bên cạnh để trả lời câu hỏi:
+ Câu hỏi: Tìm hiểu thuật tốn UCLN, giải thích ý nghĩa của từng bước trong thuật toán?
- Bước 2: Thực hiện nhiệm vụ:
+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 05 phút.
+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
8


+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động và chốt kiến thức.
+ GV hướng dẫn HS tìm hiểu thuật tốn tìm UCLN bằng sơ đồ khối (SGK, 47).
Hoạt động 2.10. Tìm hiểu về chương trình UCLN
a) Mục đích: HS hiểu cách vận dụng cấu trúc while-do vào giải ví dụ tìm UCLN của 2
số nguyên dương m, n, nắm được các lệnh trong chương trình UCLN.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo

yêu cầu của GV.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:
program UCLN;
uses CRT;
var m, n : integer;
begin
clrscr;
write(‘Nhap vao M, N:’);
readln(m,n);
while m <> n do
if m>n Then m:=m-n else n:=n-m;
writeln(‘UCLN=’,m);
readln
end.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của
bản thân và trao đổi với bạn bên cạnh trả lời câu hỏi:
+ Câu hỏi 1: Đoạn lệnh nào nhập vào giá trị m, n?
+ Câu hỏi 2: Chương trình trên dùng cấu trúc lặp dạng nào? Đoạn lệnh nào thực hiện tìm
UCLN?
- Bước 2: Thực hiện nhiệm vụ:
+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 05 phút.
+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động, chạy thử chương trình để HS quan sát và chốt kiến thức.
Hoạt động 2.11. Thực hành chương trình Tong_1a, Vi_du_2, Tong_2, UCLN
a) Mục đích: HS nắm được hoạt động của for-do, while-do bằng cách thực hành chạy

trực tiếp chương trình trên máy tính.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để thực hành chương trình Tong_1a,
Vi_du_2, Tong_2, UCLN theo hướng dẫn của GV.
c) Sản phẩm: HS hồn thành 4 chương trình và chạy thử trên máy tính.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV chia 2-3HS/1 nhóm. Yêu cầu các nhóm HS thực
hành 4 chương trình và chạy thử chương trình.
- Bước 2: Thực hiện nhiệm vụ:
+ HS làm việc theo nhóm trong khoảng thời gian: 30 phút.
- Bước 3: Báo cáo, thảo luận:
+ GV yêu cầu đại diện một số nhóm báo cáo kết quả chạy thử chương trình.
9


+ Các nhóm nhận xét, bổ sung cho nhau.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động và chốt kiến thức.
Hoạt động 2.12. Bài tập
a) Mục đích: HS biết vận dụng cấu trúc lặp for-do hoặc while-do vào bài toán cụ thể.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hoàn thành bài tập 7 (SGK, 51).
uses crt;
var cha, con, nam: Integer;
begin
clrscr;
write(‘tuoi cha, tuoi con =’); readln(cha, con);
nam:=0;
while (cha+nam<>2*(con+nam)) do
nam:=nam+1;

write(‘So nam de tuoi cha gap doi tuoi con la:’, nam);
readln;
end.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV chia lớp thành 4 nhóm, u cầu HS tìm hiểu SGK
kết hợp với kiến thức của bản thân và hoạt động theo nhóm để hồn thành nhiệm vụ giải
bài tập 7 (SGK, 51).
- Bước 2: Thực hiện nhiệm vụ:
+ Các nhóm tự phân cơng nhiệm vụ cho các thành viên.
+ HS làm việc theo nhóm trong khoảng thời gian: 5 phút.
- Bước 3: Báo cáo, thảo luận:
+ GV yêu cầu đại diện các nhóm báo cáo kết quả.
+ Các nhóm nhận xét, bổ sung cho nhau.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động, chạy thử chương trình để HS quan sát và chốt kiến thức.
HOẠT ĐỘNG 3: LUYỆN TẬP
a) Mục đích: Củng cố lại kiến thức đã học, rèn luyện kĩ năng bài học góp phần hình
thành các kĩ năng mới cho HS
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK và vận dụng kiến thức đã học để trả
lời câu hỏi.
c) Sản phẩm: HS hoàn thành câu hỏi:
* Câu hỏi: Vẽ sơ đồ hoạt động của cấu trúc lặp for-do dạng tiến?
* Trả lời câu hỏi:

10


d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV trình chiếu câu hỏi, yêu cầu HS trả lời.
- Bước 2: Thực hiện nhiệm vụ: HS thảo luận và tìm đáp án.

- Bước 3: Báo cáo, thảo luận: GV gọi một số HS trả lời, HS khác nhận xét, bổ sung.
- Bước 4: Kết luận, nhận định: GV đánh giá kết quả của HS, chốt đáp án và kiến thức
có liên quan.
HOẠT ĐỘNG 4: VẬN DỤNG
a) Mục đích: HS biết nhận diện bài toán sử dụng cấu trúc lặp với số lần biết trước.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK và vận dụng kiến thức đã học để trả
lời câu hỏi.
c) Sản phẩm: HS hoàn thành câu hỏi:
* Câu hỏi: Vận dụng cấu trúc lặp for-do dạng tiến, lùi và while-do để giải bài tốn
sau: Viết chương trình nhập vào 2 số ngun dương m, n (0a. Đếm số lượng số chẵn và không chia hết cho 3 trong đoạn [m,n]
b. Tính tổng các số lẻ hoặc chia hết cho 5 trong đoạn [m,n]
* Trả lời câu hỏi:
- Sử dụng cấu trúc lặp for-do tiến:
var m,n,i,d,s:longint;
begin
write('Nhap 0d:=0; s:=0;
for i:=m to n do
begin
if (i mod 2=0) and (i mod 3<>0) then dem:=dem+1;
if (i mod 2<>0) or (i mod 5=0) then s:=s+i;
end;
writeln('Dem=',d);
writeln('Tong=',s);
end.
- Sử dụng cấu trúc lặp for-do lùi:
var m,n,i,d,s:longint;
begin
write('Nhap 0

d:=0; s:=0;
for i:=n downto m do
begin
11


if (i mod 2=0) and (i mod 3<>0) then dem:=dem+1;
if (i mod 2<>0) or (i mod 5=0) then s:=s+i;
end;
writeln('Dem=',d);
writeln('Tong=',s);
end.
- Sử dụng cấu trúc lặp while-do thay cho for-do tiến:
var m,n,i,d,s:longint;
begin
write('Nhap 0d:=0; s:=0; i:=m;
while i<=n do
begin
if (i mod 2=0) and (i mod 3<>0) then dem:=dem+1;
if (i mod 2<>0) or (i mod 5=0) then s:=s+i;
i:=i+1;
end;
writeln('Dem=',d);
writeln('Tong=',s);
end.
- Sử dụng cấu trúc lặp while-do thay cho for-do lùi:
var m,n,i,d,s:longint;
begin
write('Nhap 0

d:=0; s:=0; i:=n;
while i>=m do
begin
if (i mod 2=0) and (i mod 3<>0) then dem:=dem+1;
if (i mod 2<>0) or (i mod 5=0) then s:=s+i;
i:=i-1;
end;
writeln('Dem=',d);
writeln('Tong=',s);
end.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV trình chiếu câu hỏi, yêu cầu HS trả lời.
- Bước 2: Thực hiện nhiệm vụ: HS thảo luận và tìm đáp án.
- Bước 3: Báo cáo, thảo luận: GV gọi một số HS trả lời, HS khác nhận xét, bổ sung.
- Bước 4: Kết luận, nhận định: GV đánh giá kết quả của HS, chạy thử chương trình để
HS quan sát, chốt đáp án và kiến thức có liên quan.
3.4. Củng cố, dặn dò:
GV củng cố bài học bằng sơ đồ hóa kiến thức được chuẩn bị sẵn và trình chiếu, nhấn
mạnh các nội dung trọng tâm của bài.
3.5. Hướng dẫn về nhà:
- Học bài cũ và tìm hiểu thuật tốn Tong_1b (SGK, 43), chương trình Tong_1b (SGK,
44), thuật tốn sơ đồ khối UCLN (SGK, 47).
- Hoàn thành câu hỏi phần vận dụng.
- Chuẩn bị bài mới: Kiểu mảng.
+ Phân tích input, output, viết CT bài tốn nhiệt độ tuần?
12


+ Nêu khái niệm mảng 1 chiều? VD?
+ Cách khai báo biến mảng 1 chiều? VD?

+ Tham chiếu đến phần tử trong mảng 1 chiều? VD?
+ Phân tích input, output, đọc hiểu thuật tốn, viết chương trình ví dụ 1 (mảng 1
chiều)?
+ Phân tích input, output, viết chương trình bài 1a, 2a (Bài tập và thực hành 3)
+ Phân tích input, output, viết chương trình bài 1a (Bài tập và thực hành 4)?
Ngày kí duyệt:
/ /
20
TỔ TRƯỞNG

Đỗ Huy Bình
--------------- ***** ---------------

13


Ngày soạn: …. /…. /….
TIẾT 24, 25, 26, 27, 28, 29, 30, 31. CHỦ ĐỀ: KIỂU MẢNG
I. MỤC TIÊU
1. Kiến thức:
- Hiểu khái niệm mảng một chiều và hai chiều.
- Hiểu cách khai báo và truy cập đến các phần tử của mảng.
- Cài đặt được thuật toán của một số bài toán đơn giản với kiểu dữ liệu mảng một
chiều.
- Thực hiện được khai báo mảng, truy cập, tính toán các phần tử của mảng.
- Nâng cao kĩ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thơng qua việc tìm
hiểu, chạy thử các chương trình có sẵn.
- Biết giải một số bài tốn tính tốn, tìm kiếm đơn giản trên máy tính.
- Biết nhận xét, phân tích, đề xuất thuật tốn giải bài tốn sao cho chương trình chạy
nhanh hơn.

- Làm quen với dữ liệu có cấu trúc và bài tốn trong thực tế.
2. Năng lực:
* Năng lực chung:
- Năng lực tự chủ và tự học: biết chủ động, tích cực thực hiện những công việc của bản
thân trong học tập.
- Năng lực giao tiếp và hợp tác: biết sử dụng ngôn ngữ kết hợp với hình ảnh để trình
bày thơng tin, ý tưởng trong các hoạt động học tập.
- Năng lực giải quyết vấn đề và sáng tạo: phân tích được tình huống, đề xuất và lựa
chọn giải pháp để chọn được phương án nhằm giải quyết vấn đề được đặt ra.
* Năng lực đặc thù:
- Năng lực NLc: Giải quyết vấn đề với sự hỗ trợ của công nghệ thông tin và truyền
thơng.
3. Phẩm chất:
- Trung thực: HS có ý thức báo cáo các kết quả hoạt động của mình một cách chính
xác.
- Chăm chỉ: HS tích cực tìm tịi và sáng tạo trong học tập.
- Trách nhiệm: HS có ý thức chia sẻ thơng tin với các thành viên trong nhóm.
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
1. Thiết bị: Máy tính, máy chiếu.
2. Học liệu: SGK, bài giảng điện tử, một số chương trình viết bằng NNLT Pascal.
III. TIẾN TRÌNH DẠY HỌC
3.1. Ổn định:
T
Lớp
Ngày
Sĩ số
Ghi chú
iết
dạy
11A1

11A2
11A3
11A4
2
4
11A5
11A6
11A7
11A9
2
11A1
14


5

2
6

2
7

2
8

2
9

3
0


3

11A2
11A3
11A4
11A5
11A6
11A7
11A9
11A1
11A2
11A3
11A4
11A5
11A6
11A7
11A9
11A1
11A2
11A3
11A4
11A5
11A6
11A7
11A9
11A1
11A2
11A3
11A4

11A5
11A6
11A7
11A9
11A1
11A2
11A3
11A4
11A5
11A6
11A7
11A9
11A1
11A2
11A3
11A4
11A5
11A6
11A7
11A9
11A1
15


11A2
11A3
11A4
1
11A5
11A6

11A7
11A9
3.2. Kiểm tra bài cũ: Không kiểm tra.
3.3. Hoạt động học tập:
HOẠT ĐỘNG 1: HOẠT ĐỘNG MỞ ĐẦU (KHỞI ĐỘNG)
a) Mục đích: HS biết khái niệm mảng 1 chiều trong thực tế.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK.
c) Sản phẩm: HS vận dụng kiến thức để hồn thành chương trình.
uses crt;
var t1,t2,t3,t4,t5,t6,t7,tb:real;
d:longint;
begin
clrscr;
write('Nhap nhiet do 7 ngay:');
readln(t1,t2,t3,t4,t5,t6,t7);
tb:=(t1+t2+t3+t4+t5+t6+t7)/7;
d:=0;
if t1>tb then d:=d+1;
if t2>tb then d:=d+1;
if t3>tb then d:=d+1;
if t4>tb then d:=d+1;
if t5>tb then d:=d+1;
if t6>tb then d:=d+1;
if t7>tb then d:=d+1;
writeln('Nhiet do trung binh: ',tb:8:2);
writeln('So ngay nhiet do > nhiet do trung binh: ',d);
readln
end.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV đưa ra bài toán nhiệt độ tuần (SGK, 53), yêu cầu

HS đề xuất phương pháp giải bài toán nhiệt độ tuần. Nhận xét về cách làm bài toán trên?
- Bước 2: Thực hiện nhiệm vụ: HS thực hiện nhiệm vụ trong thời gian 05 phút.
- Bước 3: Báo cáo, thảo luận: GV gọi một số HS trả lời, HS khác nhận xét, bổ sung.
- Bước 4: Kết luận, nhận định: GV đánh giá kết quả của HS và chạy thử chương trình
để HS quan sát. Tiếp theo, GV dẫn dắt HS vào bài học mới.
+ Với kiểu dữ liệu đã được học, nếu phát triển bài tốn nhiệt độ năm thì viết chương trình
dài, mất nhiều thời gian. Vì vậy, cần tìm hiểu về kiểu mảng 1 chiều để áp dụng cho bài
tốn đó.
HOẠT ĐỘNG 2: HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động 2.1. Tìm hiểu khái niệm mảng 1 chiều
a) Mục đích: HS biết được khái niệm kiểu mảng 1chiều, cách tham chiếu đến phần tử
trong mảng 1 chiều.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
16


c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:
1. Kiểu mảng 1 chiều
- Khái niệm: mảng 1 chiều là dãy hữu hạn các phần tử cùng kiểu. Mảng được đặt tên
và mỗi phần tử của nó có 1 chỉ số. Để mô tả mảng 1 chiều cần xác định kiểu của các
phần tử và cách đánh số các phần tử của nó.
- Cách tham chiếu: <tên biến mảng>[<chỉ số>]. Ví dụ: t[3] (phần tử thứ 3 của mảng
t).
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của
bản thân và trao đổi với bạn bên cạnh để trả lời câu hỏi:
+ Câu hỏi: Nêu khái niệm mảng 1 chiều, cách tham chiếu đến mảng 1 chiều?
- Bước 2: Thực hiện nhiệm vụ:
+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 05 phút.

+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động và chốt kiến thức.
Hoạt động 2.2. Tìm hiểu về cách khai báo biến mảng 1 chiều
a) Mục đích: HS biết được cách tạo kiểu dữ liệu mảng 1 chiều trong ngơn ngữ lập trình
Pascal, biết cách khai báo biến mảng 1 chiều.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:
- Cách 1: Khai báo trực tiếp
var <tên biến mảng>:array [kiểu chỉ số] of <kiểu phần tử>;
- Cách 2: Khai báo gián tiếp
type <tên kiểu mảng>= array [kiểu chỉ số] of <kiểu phần tử>;
var <tên biến mảng>:<tên kiểu mảng>;
- Trong đó:
+ Kiểu chỉ số: thường là 1 đoạn số nguyên liên tục có dạng n1..n2 với n1, n2 là các
hằng hoặc biểu thức nguyên xác định chỉ số đầu và chỉ số cuối (n1≤ n2)
+ Kiểu phần tử: là kiểu của các phần tử mảng.
- VD1: Khai báo trực tiếp: var a: array [1..10] of integer;
- VD2: Khai báo gián tiếp: type mang=array [1..100] of real; var a: mang;
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV chia lớp thành 4 nhóm, u cầu HS tìm hiểu SGK
kết hợp với kiến thức của bản thân và hoạt động theo nhóm để hồn thành nhiệm vụ:
+ Nhóm 1, 3: Nêu và giải thích ý nghĩa của khai báo biến trực tiếp, lấy 2 VD minh họa?
+ Nhóm 2, 4: Nêu và giải thích ý nghĩa của khai báo biến gián tiếp, lấy 2 VD minh họa?
- Bước 2: Thực hiện nhiệm vụ:
+ Các nhóm tự phân cơng nhiệm vụ cho các thành viên.

+ HS làm việc theo nhóm trong khoảng thời gian: 5 phút.
- Bước 3: Báo cáo, thảo luận:
+ GV yêu cầu đại diện các nhóm báo cáo kết quả.
+ Các nhóm nhận xét, bổ sung cho nhau.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động và chốt kiến thức.
17


Hoạt động 2.3. Tìm hiểu về cách viết chương trình bài tốn nhiệt độ
bằng mảng 1 chiều
a) Mục đích: HS hiểu cách sử dụng mảng 1 chiều vào bài toán nhiệt độ tổng quát.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức:
var a:array[1..366] of real;
tb,tong:real;
n,i,dem:longint;
begin
write('Nhap so ngay, n= '); readln(n);
tong:=0;
for i:=1 to n do
begin
write('nhiet do ngay thu ',i,':');
readln(a[i]);
tong:=tong+a[i];
end;
tb:=tong/n;
dem:=0;
for i:=1 to n do

if a[i]>tb then dem:=dem+1;
writeln('Nhiet do trung binh: ',tb:10;2);
writeln('So ngay nhiet do > nhiet do trung binh: ',dem);
readln
end.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của
bản thân và trao đổi với bạn bên cạnh để trả lời câu hỏi về bài toán nhiệt độ n ngày:
+ Câu hỏi 1: cách khai báo biến mảng 1 chiều trong SGK, 54? Chuyển đổi sang cách khai
báo khác?
+ Câu hỏi 2: Đoạn lệnh nào nhập vào mảng 1 chiều, tính tổng nhiệt độ n ngày?
+ Câu hỏi 3: Đoạn lệnh nào tính nhiệt độ trung bình, đếm số ngày có nhiệt độ > nhiệt độ
trung bình n ngày?
- Bước 2: Thực hiện nhiệm vụ:
+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 05 phút.
+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động, chạy thử chương trình để HS quan sát và chốt kiến thức.
Hoạt động 2.4. Tìm hiểu về thuật tốn ví dụ 1
a) Mục đích: HS nhớ lại kiến thức về thuật tốn đã được học ở chương trình lớp 10 và
thuật tốn tìm max.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:
- Input: số ngun dương n (n ≤ 250) và dãy n số nguyên dương a1, a2, ..., an (mỗi số
18



khơng vượt q 500)
- Output: max=? csmax=?
- Thuật tốn:
+ Bước 1: Nhập n và các số: a1, a2, ..., an;
+ Bước 2: max  a1, i  2;
+ Bước 3: Nếu i > n thì đưa ra giá trị max rồi kết thúc;
+ Bước 4:
Bước 4.1. Nếu ai > max thì max  ai;
Bước 4.2. i  i + 1 rồi quay lại Bước 3;
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của
bản thân và trao đổi với bạn bên cạnh để trả lời câu hỏi:
+ Câu hỏi: Phân tích input, output, thuật tốn ví dụ 1 (SGK, 56).
- Bước 2: Thực hiện nhiệm vụ:
+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 05 phút.
+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động và chốt kiến thức.
Hoạt động 2.5. Tìm hiểu về chương trình ví dụ 1
a) Mục đích: Rèn luyện kĩ năng sử dụng mảng 1chiều. HS sử dụng được biến kiểu
mảng 1chiều để giải quyết bài toán đơn giản.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:
uses crt;
var a: array[1..250] of integer;

n,i, max, csmax : Integer;
begin
clrscr;
write('Nhap n= ');
readln(n);
for i :=1 to N do
begin
write('a[',i,']= ');
readln(a[i]);
end;
max := a[1]; csmax := 1;
for i := 2 to n do
if a[i] > max then
begin
max := a[i];
csmax := i;
end;
writeln('Gia tri lon nhat: ',max);
writeln('chi so phan tu lon nhat: ',csmax);
readln;
19


end.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của
bản thân và trao đổi với bạn bên cạnh để trả lời câu hỏi:
+ Câu hỏi 1: cách khai báo biến mảng 1 chiều trong chương trình TimMax (SGK, 56)?
Chuyển đổi sang cách khai báo khác?
+ Câu hỏi 2: Đoạn lệnh nào nhập vào mảng 1 chiều?

+ Câu hỏi 3: Đoạn lệnh nào tìm max? In kết quả?
- Bước 2: Thực hiện nhiệm vụ:
+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 05 phút.
+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động, chạy thử chương trình để HS quan sát và chốt kiến thức.
+ GV hướng dẫn HS tự tìm hiểu ví dụ 2, ví dụ 3 (SGK 57, 58, 59).
Hoạt động 2.6. Tìm hiểu chương trình bài tập thực hành 3 (bài 1a)
a) Mục đích: HS biết sử dụng một số câu lệnh về sinh số ngẫu nhiên. Hai thuật tốn: tính
tổng các phần tử thoả mãn điều kiện nào đó; đếm số các phần tử thảo mãn điều kiện nào
đó.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:
- Hàm chuẩn random(n) cho giá trị là số nguyên ngẫu nhiên trong đoạn từ 0 đến n-1.
- Thủ tục randomize khởi tạo cơ chế sinh số ngẫu nhiên.
- Tìm hiểu chương trình sum1:
program sum1;
uses crt;
const nmax = 100;
type myarray = array [ 1..nmax] of integer;
var a: myarray;
s, n, i, k: integer;
begin
clrscr; randomize;
write ('nhap n = '); readln(n);
for i:= 1 to n do a[i] := random(301) - random(301);

for i:=1 to n do write (a[i] :5);
writeln;
write ('nhap k = '); readln (k);
s:= 0;
for i:= 1 to n do
if a[i] mod k = 0 then s:=s+a[i];
writeln ('Tong can tinh la: ', s);
readln
end.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của
bản thân và trao đổi với bạn bên cạnh để trả lời câu hỏi:
20


+ Câu hỏi 1: Cách khai báo biến mảng 1 chiều trong chương trình sum1 (SGK, 63)?
Chuyển đổi sang cách khai báo khác?
+ Câu hỏi 2: Lệnh random(n) và randomize có ý nghĩa gì?
+ Câu hỏi 3: Giải thích ý nghĩa của từng lệnh trong chương trình?
- Bước 2: Thực hiện nhiệm vụ:
+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 05 phút.
+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động, chạy thử chương trình để HS quan sát và chốt kiến thức.
Hoạt động 2.7. Tìm hiểu chương trình bài tập thực hành 3 (bài 2a)
a) Mục đích: Củng cố thêm kiến thức về thuật tốn tìm max cho HS.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo

yêu cầu của GV.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:
program maxelement;
uses crt;
const nmax = 100;
type myarray = array [ 1..nmax] of integer;
var a: myarray;
n, i, j: integer;
begin
clrscr;
write ('nhap n = '); readln(n);
for i:= 1 to n do
begin
write('Phan tu thu ',i,'=');
readln(a[i]);
end;
j:=1;
for i:= 2 to n do
if a[i] > a[j] then j:=i;
writeln ('Chi so max: ',j,' Gia tri max: ',a[j]);
readln
end.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của
bản thân và trao đổi với bạn bên cạnh để trả lời câu hỏi:
+ Câu hỏi 1: cách khai báo biến mảng 1 chiều trong chương trình maxelement(SGK, 64)?
Chuyển đổi sang cách khai báo khác?
+ Câu hỏi 2: Giải thích ý nghĩa của từng lệnh trong chương trình?
- Bước 2: Thực hiện nhiệm vụ:
+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 05 phút.

+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
21


- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động, chạy thử chương trình để HS quan sát và chốt kiến thức.
+ GV hướng dẫn HS tự tìm hiểu bài 1b, 2b.
Hoạt động 2.8. Thực hành nội dung bài tập và thực hành 3 (bài 1a, 2a)
a) Mục đích: HS nắm được hoạt động của mảng một chiều, thuật tốn tìm max, tính
tổng, đếm… bằng cách thực hành chạy trực tiếp chương trình trên máy tính.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để thực hành chương trình bài 1a, 2a
(SGK, 63, 64)
c) Sản phẩm: HS hồn thành 2 chương trình và chạy thử trên máy tính.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV chia 2-3HS/1 nhóm. Yêu cầu các nhóm HS thực
hành 2 chương trình và chạy thử chương trình.
- Bước 2: Thực hiện nhiệm vụ:
+ HS làm việc theo nhóm trong khoảng thời gian: 30 phút.
- Bước 3: Báo cáo, thảo luận:
+ GV yêu cầu đại diện một số nhóm báo cáo kết quả chạy thử chương trình.
+ Các nhóm nhận xét, bổ sung cho nhau.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động và chốt kiến thức.
Hoạt động 2.9. Tìm hiểu chương trình bài tập thực hành 4 (bài 1a)
a) Mục đích: HS biết sử dụng một số câu lệnh về sinh số ngẫu nhiên. Thuật toán sắp xếp
dãy số bằng thuật toán tráo đổi.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo

yêu cầu của GV.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:
uses crt;
const nmax = 250;
type myarray = array [ 1..nmax] of integer;
var a: myarray;
n, i, j, t: integer;
begin
clrscr; randomize;
write ('nhap n = '); readln(n);
for i:= 1 to n do a[i] := random(301) - random(301);
for i:=1 to n do write (a[i] :5);
writeln;
for j:=n downto 2 do
for i:= 1 to j-1 do
if a[i] > a[i+1] then
begin
t:=a[i];
a[i]:=a[i+1];
a[i+1]:=t;
end;
writeln ('Day so duoc sap xep la:');
for i:=1 to n do write(a[i]:7);
readln
end.
d) Cách thức thực hiện:
22


- Bước 1: Chuyển giao nhiệm vụ: GV yêu cầu HS đọc SGK, kết hợp vốn hiểu biết của

bản thân và trao đổi với bạn bên cạnh để trả lời câu hỏi:
+ Câu hỏi 1: Cách khai báo biến mảng 1 chiều trong chương trình (SGK, 65, 66)?
Chuyển đổi sang cách khai báo khác?
+ Câu hỏi 2: Lệnh random(n) và randomize có ý nghĩa gì?
+ Câu hỏi 3: Giải thích ý nghĩa của từng lệnh trong chương trình?
- Bước 2: Thực hiện nhiệm vụ:
+ Các cặp nghiên cứu nội dung SGK, tài liệu hoàn thành câu hỏi trong 10 phút.
+ GV: quan sát và trợ giúp các cặp.
- Bước 3: Báo cáo, thảo luận:
+ Các cặp trao đổi chéo kết quả và bổ sung cho nhau
+ Đại diện một số cặp trình bày, các cặp khác bổ sung.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động, chạy thử chương trình để HS quan sát và chốt kiến thức.
+ GV hướng dẫn HS tự tìm hiểu bài 1b, 2.
Hoạt động 2.10. Thực hành nội dung bài tập và thực hành 4
a) Mục đích: HS nắm được hoạt động của mảng một chiều, thuật tốn tìm max, tính
tổng, đếm… bằng cách thực hành chạy trực tiếp chương trình trên máy tính.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để thực hành chương trình bài 1a
(SGK, 65, 66)
c) Sản phẩm: HS hồn thành chương trình và chạy thử trên máy tính.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV chia 2-3HS/1 nhóm. Yêu cầu các nhóm HS thực
hành 2 chương trình và chạy thử chương trình.
- Bước 2: Thực hiện nhiệm vụ:
+ HS làm việc theo nhóm trong khoảng thời gian: 20 phút.
- Bước 3: Báo cáo, thảo luận:
+ GV yêu cầu đại diện một số nhóm báo cáo kết quả chạy thử chương trình.
+ Các nhóm nhận xét, bổ sung cho nhau.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động và chốt kiến thức.

Hoạt động 2.11. Tìm hiểu về câu hỏi 1, 2, 3, 4 (SGK, 79)
a) Mục đích: Củng cố lại kiến thức lý thuyết đã học về kiểu mảng 1 chiều cho HS.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức:
- Câu hỏi 1: Tại sao mảng là kiểu dữ liệu có cấu trúc?
Mảng là kiểu dữ liệu có cấu trúc bởi vì mảng (một chiều, hai chiều hay nhiều chiều)
là kiểu có cấu trúc được đề cập tới sớm nhất trong các ngôn ngữ lập trình. Nó được xây
dựng từ những kiểu dữ liệu đã có theo quy tắc khn dạng do ngơn ngữ lập trình cung
cấp. Nó được dùng để chỉ định một nhóm đối tượng cùng một tính chất nào đó. Chẳng
hạn, vectơ là một nhóm các số mà mỗi số ta có thể xác định chỉ cần biết chỉ số. Như
vậy, để khai báo kiểu mảng phải chỉ ra kiểu dữ liệu chung của các phần tử và kiểu chỉ
số.
- Câu hỏi 2: Tại sao phải khai báo kích thước của mảng?
Mảng là 1 tập hợp các phần tử được đánh số có thứ tự thường là từ 0 hoặc 1 cho nên
khi khai báo mảng ta cần khai báo thêm kích thước để máy có thể cấp phát đủ bộ nhớ
chứa số lượng các phần tử.
- Câu hỏi 3: Các phần tử của mảng có thể có những kiểu gì?
23


Kiểu dữ liệu của mảng có thể là những kiểu dữ liệu chuẩn (integer, byte, real,…),
kiểu dữ liệu có cấu trúc (string, kiểu bản ghi).
- Câu hỏi 4: Tham chiếu đến phần tử của mảng bằng cách nào?
Cách tham chiếu đến mảng: A[i] với i là chỉ số phân tử trong mảng.
Ví dụ: Xét mảng 10 20 30 5 6 7
 Tham chiếu: A[1]=10; A[2]=20; A[3]=30; A[4]=50; A[5]=6; A[7]=7
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV chia lớp thành 4 nhóm, u cầu HS tìm hiểu SGK
kết hợp với kiến thức của bản thân và hoạt động theo nhóm để hồn thành nhiệm vụ:

+ Nhóm 1, 3: Trả lời câu hỏi 1, 3 (SGK, 79).
+ Nhóm 2, 4: Trả lời câu hỏi 2, 4 (SGK, 79).
- Bước 2: Thực hiện nhiệm vụ:
+ Các nhóm tự phân công nhiệm vụ cho các thành viên.
+ HS làm việc theo nhóm trong khoảng thời gian: 10 phút.
- Bước 3: Báo cáo, thảo luận:
+ GV yêu cầu đại diện các nhóm báo cáo kết quả.
+ Các nhóm nhận xét, bổ sung cho nhau.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động và chốt kiến thức.
Hoạt động 2.12. Tìm hiểu về bài tập 5, 7 (SGK, 79)
a) Mục đích: Củng cố lại kiến thức lý thuyết đã học về kiểu mảng 1 chiều cho HS. HS
biết viết chương trình xử lý mảng 1 chiều đối với bài tốn cụ thể.
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK để tìm hiểu nội dung kiến thức theo
yêu cầu của GV.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức:
- Bài tập 5:
uses crt;
const nmax = 100;
type myarray = array [ 1..nmax] of integer;
var a: myarray;
n, i, d: integer; kt:boolean;
begin
clrscr;
write ('nhap n = '); readln(n);
for i:= 1 to n do
begin
write('Phan tu thu ',i,'=');
readln(a[i]);
end;

kt:=true;
d:=a[2]-a[1];
for i:=3 to n do
if a[i]-a[i-1]<>d then
begin
kt:=false;
break;
end;
if kt then write('Day so la CSC.')
else write('Day so khong la CSC.');
24


readln
end.
- Bài tập 7:
uses crt;
var n,i: longint;
f:array[0..1000] of longint;
begin
clrscr;
writeln('Nhap n='); readln(n);
f[0]:= 0; f[1]:= 2;
for i:= 3 to N do f[i]:= f[i-1] + f[i-2];
write('So fibonacci thu ',i,' la: ',f[n]);
readln;
end.
d) Cách thức thực hiện:
- Bước 1: Chuyển giao nhiệm vụ: GV chia lớp thành 4 nhóm, u cầu HS tìm hiểu SGK
kết hợp với kiến thức của bản thân và hoạt động theo nhóm để hồn thành nhiệm vụ:

+ Nhóm 1, 3: Làm bài tập 5 (SGK, 79).
+ Nhóm 2, 4: Làm bài tập 7 (SGK, 79).
- Bước 2: Thực hiện nhiệm vụ:
+ Các nhóm tự phân cơng nhiệm vụ cho các thành viên.
+ HS làm việc theo nhóm trong khoảng thời gian: 10 phút.
- Bước 3: Báo cáo, thảo luận:
+ GV yêu cầu đại diện các nhóm báo cáo kết quả.
+ Các nhóm nhận xét, bổ sung cho nhau.
- Bước 4: Kết luận, nhận định: GV nhận xét, đánh giá về thái độ, quá trình làm việc,
kết quả hoạt động và chốt kiến thức.
HOẠT ĐỘNG 3: LUYỆN TẬP
a) Mục đích: Củng cố lại kiến thức đã học, rèn luyện kĩ năng bài học góp phần hình
thành các kĩ năng mới cho HS
b) Nội dung: HS quan sát máy chiếu, sử dụng SGK và vận dụng kiến thức đã học để trả
lời câu hỏi.
c) Sản phẩm: HS hoàn thành câu hỏi:
* Câu hỏi: Viết chương trình nhập vào mảng a có n phần tử.
- Tính tổng số chẵn và khơng chia hết cho 3 trong mảng a.
- Đếm số lẻ hoặc chia hết cho 5 trong mảng a.
* Trả lời câu hỏi:
uses crt;
const nmax = 100;
type myarray = array [ 1..nmax] of integer;
var a: myarray;
n, i, d, s: integer;
begin
clrscr;
write ('nhap n > 2: '); readln(n);
for i:= 1 to n do
begin

write('Phan tu thu ',i,'=');
25


×