Ngày soạn: 10/01/2023
Tiết: 19, 20
Ngày dạy: 20/01/2023
Tuần: 19
BÀI 10: 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 lặp với số lần định trước.
- Hiểu cấu trúc lặp với số lần chưa định trước.
- Biết cách vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể .
- Mơ tả thuật tốn của một số bài tố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 lặp trước .
- Viết đúng các lệnh lặp với số lần chưa định 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 sử dụng máy tính, năng lực giải quyết vấn đề, năng lực sáng tạo, ứng dụng
KHKT, năng lực tự học, năng lực hợp tác, làm việc nhóm.
Năng lực chuyên biệt
Năng lực tính tốn, Năng lực thực hành.
3. Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu
nước, nhân ái, chăm chỉ, trung thực, trách nhiệm
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Sách giáo khoa, máy tính điện tử.
Học sinh: đồ dùng học tập, SGK, vở ghi, máy tính
III. TIẾN TRÌNH DẠY HỌC
A. HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU)
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi.
c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài:
- Cho biết cú pháp rẽ nhánh dạng thiếu và dạng đủ?
- Cho biết cú pháp úcâu lệnh ghép?
- Viết câu lệnh in ra màn hình câu “Xin chao” 2 lần?
- Nếu không phải là 2 lần mà là 100 lần thì sao?…Những bài tốn lặp đi lặp lại các bước.
Trong Pascal những thuật tốn đó được biểu diễn như thế nào, muốn biết được điều đó
chúng ta nghiên cứu bài Bài 10. CẤU TRÚC LẶP
B. HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động 1: Tìm hiểu bài tốn lặp
a) Mục tiêu: Nắm được các dạng bài toán lặp
b) Nội dung: HS quan sát 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) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm 1. Lặp
vụ:
- Xét 2 bài toán như sau với a > 2 là số nguyên cho
Thảo luận nhóm tìm ý tưởng trước :
giải 2 bài tốn này
Bài tốn 1 : Tính tổng
1
Ví dụ 1: Bài tốn gửi tiền vào S1=1 + 2 + 3 +…10
ngân hàng. Hằng tháng phải tính Bài tốn 2 : Tính Tổng
lãi và cộng thêm vào gốc đang S2=1 + 2 + 3+ ….+ i
gửi hay nói cách khác gốc của Với điều kiện S2 >15 tìm i
tháng sau = gốc + lãi tháng Ý tưởng giải bài tốn
trước.
Bài tốn 1:
Ví dụ 2: Tính tổng của một đoạn Gán S 0
số nguyên mà không được dùng Tiếp theo cộng vào tổng S một giá trị i với i=1,2,…10
cơng thức.
Bài tốn 2:
* Bước 2: Thực hiện nhiệm Gán S 0
vụ:
Tiếp theo cộng vào tổng S một giá trị i với i=1,2,…
+ HS: Suy nghĩ, tham khảo sgk Cho đến khi
trả lời câu hỏi
S2>15 số lần lặp này phụ thuộc vào biến S.
+ GV: quan sát và trợ giúp các Trong lập trình, có những thao tác phải lặp lại nhiều
cặp.
lần, khi đó ta gọi là cấu trúc lặp.
* Bước 3: Báo cáo, thảo luận: Lặp thường có 2 loại :
+ HS: Lắng nghe, ghi chú, một + Lặp với số lần biết trước .
HS phát biểu lại các tính chất.
+ Lặp với số lần khơng biết trước .
+ Các nhóm nhận xét, bổ sung NNLT nào cũng cung cấp một số câu lệnh để mô tả các
cho nhau.
cấu trúc lặp như trên.
* Bước 4: Kết luận, nhận Sau đây chúng ta sẽ tìm hiểu các câu lệnh trong ngơn
định: GV chính xác hóa và gọi ngữ Pascal.
1 học sinh nhắc lại kiến thức
Hoạt động 2: Tìm hiểu lặp có số lần biết trước và câu lệnh for – do
a) Mục tiêu: Nắm được lặp có số lần biết trước và câu lệnh for – do
b) Nội dung: HS quan sát 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) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao 2. Lặp có số lần biết trước và câu lệnh for – do
nhiệm vụ:
Trong Pascal, có 2 lọai câu lệnh lặp có số lần biết trước:
Thảo luận nhóm biểu diễn - Lặp dạng tiến:
thuật toán theo cách liệt kê For <biến đếm> := <giá trị đầu> to <giá trị cuối> do
của bài toán 1 theo 2 cách. <câu lệnh>;
Với i tăng từ 1 tới 10 và - Lặp dạng lùi
ngược lại i giảm từ 10 For <biến đếm> := <giá trị cuối> downto <giá trị đầui>
xuống 1.
do <câu lệnh>;
Thuật toán có lặp khơng? Trong đó:
Tong_1a lặp bao nhiêu lần? + Biến đếm thường là biến kiểu số nguyên.
Tong_1b lặp bao nhiêu lần? + Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với
Hai thuật toán khi nào biến đếm. Giá trị đầu phải nhỏ hơn hay bằng giá trị cuối.
dừng?
+ Ở dạng lặp tiến: Biến đếm tự tăng dần từ giá trị đầu đến
Hai thuật toán này khác giá trị cuối.
nhau chỗ nào?
+ Ở dạng lặp lùi: Biến đếm tự giảm dần từ giá trị cuối đến
Trình bày Tong_1a
và giá trị đầu.
Tong_1b bằng Pascal
Tương ứng với mỗi giá trị của biến đếm, câu lệnh sau do
* Bước 2: Thực hiện thực hiện 1 lần
nhiệm vụ:
Chương trình cài đặt các thuật toán Tong_1a và
2
+ HS: Suy nghĩ, tham khảo
sgk trả lời câu hỏi
+ GV: quan sát và trợ giúp
các cặp.
* Bước 3: Báo cáo, thảo
luận:
+ HS: Lắng nghe, ghi chú,
một HS phát biểu lại các
tính chất.
+ Các nhóm nhận xét, bổ
sung cho nhau.
* Bước 4: Kết luận, nhận
định: GV chính xác hóa và
gọi 1 học sinh nhắc lại kiến
thức
Tong_1b
program tong1a;
uses crt;
var S,i:integer;
begin
clrscr;
S:=0;
for i:=1 to 10 do
S:= S+i;
writeln('Tong S=',S:3);
readln
end.
program tong1b;
uses crt;
var S,i:integer;
begin
clrscr;
S:=0;
for i:=10 downto 1 do
S:= S+i;
writeln('Tong S=',S:3);
readln
end.
Hoạt động 3: Tìm hiểu lặp với số lần chưa biết trước và câu lệnh while – do.
a) Mục tiêu: Nắm được lặp với số lần chưa biết trước và câu lệnh while – do
b) Nội dung: HS quan sát 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) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao 3. Lặp với số lần chưa biết trước và câu lệnh while – do.
nhiệm vụ:
Bài toán 2 :
Yêu cầu học sinh thảo luận Tính tổng
nhóm: đọc bài tốn 2 và trả S=1 + 2 + 3+ ….+ i
lời các câu hỏi sau:
Với điều kiện S >15 tìm i
Trình bày các bước liệt kê- Từ bước 2 đến bước 4 được lặp lại nhiều lần nếu điều kiện
của thuật toán tổng 2
S >15 chưa được thỏa mãn.
Bài toán này lặp với N bằng Trong Pascal dùng câu lệnh while-do để giải bài tốn có
mấy thì kết thúc?
điều kiện dừng mà chưa biết số lần lặp. Câu lệnh while-do
Sử dụng câu lệnh while- do coa dạng:
hãy viết chương trình tính- While <điều kiện> do <câu lệnh>;
tổng 2.
- Trong đó
Trình bày các bước liệt kê- -Điều kiện là biểu thức lôgic
của thuật toán trên U7CLN - -Câu lệnh là một câu lệnh đơn hoặc câu lệnh ghép.
Trình bày thuật tốn trên Chương trình bài tốn 2:
theo sơ đồ khối?
program tong2;
Viết chương trình của thuật uses crt;
toán trên?
var S,i:integer;
* Bước 2: Thực hiện begin
3
nhiệm vụ:
+ HS: Suy nghĩ, tham khảo
sgk trả lời câu hỏi
+ GV: quan sát và trợ giúp
các cặp.
* Bước 3: Báo cáo, thảo
luận:
+ HS: Lắng nghe, ghi chú,
một HS phát biểu lại các
tính chất.
+ Các nhóm nhận xét, bổ
sung cho nhau.
* Bước 4: Kết luận, nhận
định: GV chính xác hóa và
gọi 1 học sinh nhắc lại kiến
thức
clrscr;
S:=0;i:=0;
while S<=10 do
begin
i:=i+1;
S:= S+i;
end;
writeln(i);
readln
end.
Ví dụ : Tìm ước chung lơn nhất (U7CLN) của hai số
nguyên dương M va N.
Các bước liệt kê của thuật tốn:
B1: Nhập M,N;
B2: Nếu M=N thì lấy giá trị chung này làm U7CLN 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 bước 2;
B5: Đưa kết quả ƯCLN rồi kết thúc.
- Thuật tốn theo sơ đồ khối hình 9 trang 47 sgk.
- Chương trình tìm UCLN của hai số.
- Program UCLN;
- Uses crt;
- Var
M,N: integer;
- Begin
Clrscr;
Writeln('Nhap vao so nguyen duong M, N:');
Readln(M,N);
While M<>N do
If M>N then M:= M-N
else N:= N-M;
Writeln('Uoc chung lon nhat cua 2 so = ',M);
Readln
- End.
C. HOẠT ĐỘNG LUYỆN TẬP
a. Mục tiêu: Củng cố, luyện tập kiến thức vừa học.
b. Nội dung: HS đọc SGK làm các bài tập.
c. Sản phẩm: Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
d. Tổ chức thực hiện: Viết cấu trúc lặp với số lần biết trước và không biết trước?
D. HOẠT ĐỘNG VẬN DỤNG
a. Mục tiêu: Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn.
b. Nội dung: HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c. Sản phẩm: HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
d. Tổ chức thực hiện:GV chia lớp thành nhiều nhóm và giao các nhiệm vụ: thảo luận trả
lời các câu hỏi và bài tập vận dụng.
* HƯỚNG DẪN VỀ NHÀ:
- Ôn lại bài học hôm nay;
4
Ngày soạn: 15/01/2023
Tiết: 21, 22
Ngày dạy: 25/01/2023
Tuần: 20
BÀI TẬP THỰC HÀNH 2
I. MỤC TIÊU
1. Kiến thức
- Ôn tập lại các kiến thức về cấu trúc rẽ nhánh và cấu trúc lặp
- Rèn luyện kỹ năng biên soạn, hiệu chỉnh và thực hiện chương trình.
2. Năng lực
Năng lực chung
Năng lực sử dụng máy tính, năng lực giải quyết vấn đề, năng lực sáng tạo, ứng dụng
KHKT, năng lực tự học, năng lực hợp tác, làm việc nhóm.
Năng lực chuyên biệt
Năng lực tính tốn, Năng lực thực hành.
3. Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu
nước, nhân ái, chăm chỉ, trung thực, trách nhiệm
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Sách giáo khoa, máy tính điện tử.
Học sinh: đồ dùng học tập, SGK, vở ghi, máy tính
III. TIẾN TRÌNH DẠY HỌC
A. HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU)
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi.
c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài:
B. HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động: làm một số bài tập sử dụng câu lệnh for-do
a) Mục tiêu: làm được một số bài tập sử dụng câu lệnh for-do
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
Bài 1: viết chương trình tính tổng S
u cầu học sinh thực hiện chương trình S = 1 + 2 + 3 + … + N
với nhiều input khác nhau.
Var S, N, i: integer;
* Bước 2: Thực hiện nhiệm vụ:
Begin
+ HS: Suy nghĩ, tham khảo sgk trả lời câu Write(‘nhap N=’); readln(N);
hỏi
S:=0;
+ GV: quan sát và trợ giúp các cặp.
For i:=1 to N do S:=S + i;
* Bước 3: Báo cáo, thảo luận:
Write(‘Tong S=’,S);
+ HS: Lắng nghe, ghi chú, một HS phát Readln;
biểu lại các tính chất.
End.
+ Các nhóm nhận xét, bổ sung cho nhau.
Bài 2: chỉnh sửa chương trình trên để giải
* Bước 4: Kết luận, nhận định: GV bài tốn tính tích
S=1*2*3*4*…*
chính xác hóa và gọi 1 học sinh nhắc lại N
kiến thức
Var S, N, i: integer;
Begin
Write(‘nhap N=’); readln(N);
5
S:=1;
For i:=1 to N do S:=S * i;
Write(‘Tong S=’,S);
Readln;
End.
Bài 3: Tạo bảng số dạng sau:
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19
....
Program BANGSO;
Uses crt;
Var i, n: integer;
Begin
Clrscr;
Writeln(' TAO BANG SO TU 0-99');
Writeln('-----------------------------------------')
;
For i:=0 to 99 do
Begin
If (i mod 10 = 0) then
Writeln; Write(i:3)
End;
Readln;
End.
C. HOẠT ĐỘNG LUYỆN TẬP
a. Mục tiêu: Củng cố, luyện tập kiến thức vừa học.
b. Nội dung: HS đọc SGK làm các bài tập.
c. Sản phẩm: Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
d. Tổ chức thực hiện: Nhận xét về ý thức học tập của học sinh và những lỗi thường mắc
phải khi thực hành.
D. HOẠT ĐỘNG VẬN DỤNG
a. Mục tiêu: Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn.
b. Nội dung: HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c. Sản phẩm: HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
d. Tổ chức thực hiện:
GV chia lớp thành nhiều nhóm và giao các nhiệm vụ: thảo luận trả lời các câu hỏi và bài
tập vận dụng.
* HƯỚNG DẪN VỀ NHÀ:
- Ôn lại bài học hôm nay;
- Chuẩn bị trước cho tiết sau.
6
Ngày soạn: 15/01/2023
Tiết: 23, 24
Ngày dạy: 08/02/2023
Tuần: 21
BÀI TẬP THỰC HÀNH 2
I. MỤC TIÊU
1. Kiến thức
- Ôn tập lại các kiến thức về cấu trúc rẽ nhánh và cấu trúc lặp
- Rèn luyện kỹ năng biên soạn, hiệu chỉnh và thực hiện chương trình.
2. Năng lực
Năng lực chung
Năng lực sử dụng máy tính, năng lực giải quyết vấn đề, năng lực sáng tạo, ứng dụng
KHKT, năng lực tự học, năng lực hợp tác, làm việc nhóm.
Năng lực chuyên biệt
Năng lực tính tốn, Năng lực thực hành.
3. Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu
nước, nhân ái, chăm chỉ, trung thực, trách nhiệm
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Sách giáo khoa, máy tính điện tử.
Học sinh: đồ dùng học tập, SGK, vở ghi, máy tính
III. TIẾN TRÌNH DẠY HỌC
A. HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU)
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi.
c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài:
B. HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động: làm một số bài tập sử dụng cấu trúc rẽ nhánh, lặp
a) Mục tiêu: làm được một số bài tập sử dụng cấu trúc rẽ nhánh, lặp
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
Program TAMGIAC;
Bài 1: Nhập vào ba số a,b,c bất kì. Uses crt;
Kiểm tra xem nó có thể là độ dài ba cạnh Var a, b, c, s, p: real;
hay không, nếu khơng thì in ra màn Begin
hình ' Khong la ba canh cua mot tam Clrscr;
giac'. Ngược lại, thì in chu vi, diện tích Write ('nhap a ='); readln(a);
của tam giác đó ra màn hình.
Write ('nhap b ='); readln(b);
Gv: em hãy xác định input và output của Write ('nhap c ='); readln(c);
bài toán?
If (a>0) and (b>0) and (c>0) and (a+b>c)
Bài 2: viết chương trình nhập vào số and (b+c>a) and (a+c>b) then
nguyên dương N. Tính tổng các số chẵn từ Begin
1 tới N.
p:=(a+b+c)/2;
* Bước 2: Thực hiện nhiệm vụ:
s:=sqrt(p*(p-a)*(p-b)*(p-c));
+ HS: Suy nghĩ, tham khảo sgk trả lời câu Writeln('Chu vi tam giac:',2*p:4:2) ;
hỏi
Writeln('Dien tich tam giac:',s:4:2);
+ GV: quan sát và trợ giúp các cặp.
End
7
* Bước 3: Báo cáo, thảo luận:
+ HS: Lắng nghe, ghi chú, một HS phát
biểu lại các tính chất.
+ Các nhóm nhận xét, bổ sung cho nhau.
* Bước 4: Kết luận, nhận định: GV
chính xác hóa và gọi 1 học sinh nhắc lại
kiến thức
Else
Writeln(‘ a, b, c khong phai la ba canh cua
tam giac') ;
Readln;
End.
Var I, N, S: integer;
Begin
S:=0;
Write(‘Nhap N=’); readln(N);
For i:=1 to N do
If (I mod 2=0) then S:=S+I;
Write(‘Tong chan la:’,S);
Readln
End.
C. HOẠT ĐỘNG LUYỆN TẬP
a. Mục tiêu: Củng cố, luyện tập kiến thức vừa học.
b. Nội dung: HS đọc SGK làm các bài tập.
c. Sản phẩm: Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
d. Tổ chức thực hiện: Nhận xét về ý thức học tập của học sinh và những lỗi thường mắc
phải khi thực hành.
D. HOẠT ĐỘNG VẬN DỤNG
a. Mục tiêu: Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn.
b. Nội dung: HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c. Sản phẩm: HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
d. Tổ chức thực hiện:
GV chia lớp thành nhiều nhóm và giao các nhiệm vụ: thảo luận trả lời các câu hỏi và bài
tập vận dụng.
* HƯỚNG DẪN VỀ NHÀ:
- Ơn lại bài học hơm nay;
- Chuẩn bị trước cho tiết sau.
8
Ngày soạn: 02/02/2022
Ngày dạy: 15/02/2022
Tiết: 25, 26
Tuần: 22
CHƯƠNG IV:KIỂU DỮ LIỆU CÓ CẤU TRÚC
BÀI 11. 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.
- Hiểu cách khai báo và truy cập đến các phần tử của mảng.
2. Năng lực
Năng lực chung
Năng lực sử dụng máy tính, năng lực giải quyết vấn đề, năng lực sáng tạo, ứng dụng
KHKT, năng lực tự học, năng lực hợp tác, làm việc nhóm.
Năng lực chun biệt
Năng lực tính tốn, Năng lực thực hành.
3. Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu
nước, nhân ái, chăm chỉ, trung thực, trách nhiệm
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Sách giáo khoa, máy tính điện tử.
Học sinh: đồ dùng học tập, SGK, vở ghi, máy tính
III. TIẾN TRÌNH DẠY HỌC
A. HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU)
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi.
c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài: Trong thực tế, các kiểu dữ liệu
chuẩn không thể đáp ứng đủ biểu diễn của các bài tốn lớn. Vì thế, dựa trên các kiểu dữ
liệu đó người lập trình có thể tạo ra các kiểu dữ liệu phức tạp hơn để giải quyết các bài
toán trong thực tế.
(?) Các em hãy tham khảo bài toán sách giáo khoa trang 53 và cho biết cần nhập thơng tin
gì? Và dữ liệu đưa ra là gì?
- Nhận xét, như vậy nếu muốn tính nhiệt độ trung bình của n ngày (365 ngày) thì sẽ gặp
phải những khó khăn gì?
Để giải quyết vấn đề đó, ta sử dụng kiểu mảng một chiều để mơ tả dữ liệu đó
- Hơm nay chúng ta sẽ tìm hiểu khái niệm mảng 1 chiều.
B. HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động 1: Tìm hiểu kiểu mảng một chiều.
a) Mục tiêu: Giúp học sinh biết được khái niệm về mảng một chiều
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
1. Kiểu mảng một chiều
(?) Các em hãy tham khảo sách giáo và Mảng một chiều là một dãy hữu hạn các
cho biết khi làm việc với mảng 1 chiều phần tử có cùng kiểu dữ liệu.
cần xác định những gì?
* Khi làm việc với mảng một chiều ta cần
(?) Với mảng một chiều vừa cho ta xác xác định được:
định được gì?
9
+ Tên mảng;
+ Số lượng phần tử;
+ Kiểu dữ liệu;
+ Cách khai báo;
+ Cách tham chiếu đến một phần tử nào đó
trong mảng.
Ví du: A
5 8 7 1
Chỉ số 1 2 3 4
+ Tên mảng: A
+ Số lượng phần tử: 4
+ Kiểu dữ liệu: Số nguyên
+ Tham chiếu đến PT thứ 3, ta viết A[3].
Hoạt động 2: Tìm hiểu khai báo mảng một chiều
a) Mục tiêu: Nắm được cách khai báo mảng một chiều
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
2. Khai báo
Giải thích ví dụ rõ để học sinh phân biệt Cách 1. Khai báo trực tiếp
tên kiểu mảng, tên biến mảng.
VAR <tên biến mảng>: array[
- Yêu cầu học sinh cho ví dụ về 2 cách đầu..chỉ số cuối>] of <kiểu phần tử>;
khai báo trên.
Ví dụ:
* Bước 2: Thực hiện nhiệm vụ:
VAR A: array[1..10] of real;
+ HS: Suy nghĩ, tham khảo sgk trả lời câu Cách 2. Khai báo gián tiếp
hỏi
TYPE <tên kiểu mảng> = array[
+ GV: quan sát và trợ giúp các cặp.
đầu>..<Chỉ số cuối>] of <kiểu phần tử>;
* Bước 3: Báo cáo, thảo luận:
VAR <tên biến mảng> : <tên kiểu mảng>;
+ HS: Lắng nghe, ghi chú, một HS phát Ví dụ:
biểu lại các tính chất.
TYPE nhietdo = array[1..365] of real;
+ Các nhóm nhận xét, bổ sung cho nhau.
VAR a : nhietdo;
* Bước 4: Kết luận, nhận định: GV
chính xác hóa và gọi 1 học sinh nhắc lại
kiến thức
Hoạt động 3: Tìm hiểu các thao tác trên mảng một chiều
a) Mục tiêu: Nắm được các thao tác trên mảng một chiều
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
3. Các thao tác trên mảng một chiều
(?) Khi ta đã khai báo được mảng một a/ Nhập mảng một chiều
chiều, lúc đó ta đã xác định được những gì Trước tiên, cần xác định có bao nhiêu phần
của mảng đó?
tử cần dùng:
(?) Giá trị của từng phần tử mảng đã xác Write(‘nhap so phan tu: ‘);
định được chưa, làm thế nào để có các giá Readln(n);
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời câu
hỏi
+ GV: quan sát và trợ giúp các cặp.
* Bước 3: Báo cáo, thảo luận:
+ HS: Lắng nghe, ghi chú, một HS phát
biểu lại các tính chất.
+ Các nhóm nhận xét, bổ sung cho nhau.
* Bước 4: Kết luận, nhận định: GV
chính xác hóa và gọi 1 học sinh nhắc lại
kiến thức
10
trị đó?
Dùng vịng lặp For - do để nhập giá trị cho
* Bước 2: Thực hiện nhiệm vụ:
từng phần tử A[i]:
+ HS: Suy nghĩ, tham khảo sgk trả lời câu For i:=1 to n do
hỏi
Begin
+ GV: quan sát và trợ giúp các cặp.
Write(‘Nhap phan tu thu: ’, i);
* Bước 3: Báo cáo, thảo luận:
Readln(A[i]);
+ HS: Lắng nghe, ghi chú, một HS phát
End;
biểu lại các tính chất.
b/ In mảng một chiều
+ Các nhóm nhận xét, bổ sung cho nhau.
Dùng vịng lặp For - do để in các phần tử
* Bước 4: Kết luận, nhận định: GV trong mảng:
chính xác hóa và gọi 1 học sinh nhắc lại For i:= 1 to n do
kiến thức
Write(A[i]:4);
C. HOẠT ĐỘNG LUYỆN TẬP
a. Mục tiêu: Củng cố, luyện tập kiến thức vừa học.
b. Nội dung: HS đọc SGK làm các bài tập.
c. Sản phẩm: Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
d. Tổ chức thực hiện:
GV yêu cầu HS: Với cách khai báo biến mảng sau đây:
Var A:array[1..100] of integer;
Em hãy cho biết?
- Mảng tên gì? Được nhập tối đa bao nhiêu phần tử cho mảng? Các giá trị phần tử có
kiểu dữ liệu gì? Cách khai báo trên là trực tiếp hay gián tiếp?
D. HOẠT ĐỘNG VẬN DỤNG
a. Mục tiêu: Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn.
b. Nội dung: HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c. Sản phẩm: HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
d. Tổ chức thực hiện:
GV chia lớp thành nhiều nhóm và giao các nhiệm vụ: thảo luận trả lời các câu hỏi và bài
tập vận dụng: Viết chương trình nhập dãy N số nguyên (N<=200). In giá trị của phần tử
cuối và đầu của dãy số.
* HƯỚNG DẪN VỀ NHÀ:
- Ôn lại bài học hôm nay;
- Chuẩn bị trước cho tiết sau.
11
Ngày soạn: 12/02/2022
Ngày dạy: 22/02/2022
Tiết: 27, 28
Tuần: 23
BÀI 11. KIỂU MẢNG (Tiếp theo)
I. MỤC TIÊU
1. Kiến thức
- Hiểu khái niệm mảng một chiều.
- Hiểu cách khai báo và truy cập đến các phần tử của mảng.
2. Năng lực
Năng lực chung
Năng lực sử dụng máy tính, năng lực giải quyết vấn đề, năng lực sáng tạo, ứng dụng
KHKT, năng lực tự học, năng lực hợp tác, làm việc nhóm.
Năng lực chuyên biệt
Năng lực tính tốn, Năng lực thực hành.
3. Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu
nước, nhân ái, chăm chỉ, trung thực, trách nhiệm
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Sách giáo khoa, máy tính điện tử.
Học sinh: đồ dùng học tập, SGK, vở ghi, máy tính
III. TIẾN TRÌNH DẠY HỌC
A. HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU)
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi.
c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài: Tiết trước chúng ta đã tìm hiểu
về cách khai báo mảng một chiều. Nhưng khi giải các bài toán bằng mảng ta cần hiểu sâu
hơn nữa về cách thức sử dụng mảng trong giải các bài tốn đơn giản.
- Hơm nay chúng ta sẽ hiểu sâu hơn qua các ví dụ.
B. HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động 1: Tìm hiểu một số ví dụ
a) Mục tiêu: Nắm được một số ví dụ
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
4. Một số ví dụ
- Yêu cầu học sinh đọc ví dụ trong SGK Ví dụ 1: Tìm phẩn tử lớn nhất của dãy số
và xác định input, output.
nguyên.
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời
- Input: Số nguyên dương N và dãy gồm N sô
câu hỏi
nguyên dương a1, a2, …, an.
+ GV: quan sát và trợ giúp các cặp.
- Output: Max(a1, a2, …, an), chỉ số Max.
* Bước 3: Báo cáo, thảo luận:
Thuật toán:
+ HS: Lắng nghe, ghi chú, một HS phát
B1: Nhập N, và dãy a1, a2, …, an.
biểu lại các tính chất.
B2: Max a1; i 2;
+ Các nhóm nhận xét, bổ sung cho nhau.
B3: Nếu i > N thì đưa ra Max, rồi kết thúc;
* Bước 4: Kết luận, nhận định: GV
B4:
chính xác hóa và gọi 1 học sinh nhắc lại
12
- Nếu ai > Max thì Max ai;
- i i + 1 rồi quay lại B3.
Program Tim_max;
Const Nmax = 250;
Type ArrInt = Array[1..Nmax] of integer;
Var
N, i, Max, csmax: integer;
A: ArrInt;
Begin
Write(‘Nhap so phan tu cua day so, N=’);
Readln(N);
For i:=1 to N do
Begin
Write(‘Phan tu thu ‘, 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 cua p.tu max la:’, max);
writeln(‘Chi so cua p.tu max la:’, csmax);
Readln;
End.
Hoạt động 2: Vận dụng kiểu mảng một chiều
a) Mục tiêu: biết làm được một số bài tập
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
Hoạt động của Giáo viên và Học sinh
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ
Bài 1: Viết CT tạo mảng A gồm N
1. Nêu đề bài toán (Nội dung)
(N100) số nguyên. Tính tổng các
Y/cầu hs xác định In/Output của bài toán.
phần tử của mảng là bội của một số
2. Ở lớp 10 ta đã xây dựng t/toán cho bài
nguyên dương k cho trước.
toán này rồi. Y/cầu hs nhắc lại t/tốn.
3. Y/cầu hs cho biết các việc chính cần
thực hiện trong chtrình là gì?
4. Y/cầu hs cho biết các biến chính cần sử
dụng là gì?
Var S, n, k, i : integer;
- Y/cầu hs khác lên viết phần khai báo các A: array[1..100] of integer;
biến đó?
Begin
5. Tiếp tục y/cầu hs lên viết phần chtrình Write(‘Nhap n = ’); readln(n);
tạo giá trị cho các ptử của mảng A. (lưu ý {tao mang}
nhập số lượng ptử của mảng trước)
For i:=1 To n Do
6. Để viết tiếp đoạn chtrình cịn lại (tính
kiến thức
13
tổng) theo thuật toán ta phải kiểm tra lần
begin
lượt tất cả các ptử của mảng từ A[1] đến
write(‘phan tu thu ’,i,’ =’);
A[n]. vậy ta sử dụng câu lệnh gì ở đây?
readln(A[i]);
- Y/cầu hs khác lên viết đoạn chtrình cịn
end;
lại?
write(‘Nhap k = ’); readln(k);
* Bước 2: Thực hiện nhiệm vụ:
S := 0; {khoi tao S ban dau}
+ HS: Suy nghĩ, tham khảo sgk trả lời câu {tinh tong}
hỏi
For i:=1 To n Do
+ GV: quan sát và trợ giúp các cặp.
If A[i] mod k = 0 Then
* Bước 3: Báo cáo, thảo luận:
S := S + A[i];
+ HS: Lắng nghe, ghi chú, một HS phát Writeln(‘Tong can tinh la ’, S);
biểu lại các tính chất.
End.
+ Các nhóm nhận xét, bổ sung cho nhau.
* Bước 4: Kết luận, nhận định: GV
chính xác hóa và gọi 1 học sinh nhắc lại
kiến thức
Hoạt động 3: Mở rộng bài tốn có vận dụng mảng một chiều
a) Mục tiêu: biết làm được một số bài tập
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
Hoạt động của Giáo viên và Học sinh
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ
Var n, i : integer;
1. Y/cầu hs n/cứu nội dung các câu lệnh và am, duong : integer;
hỏi:
A : array[1..100] of integer;
- Ý nghĩa của biến am, duong?
Begin
- Chức năng của lệnh (3)?
Write(‘Nhap n = ’); readln(n);
- Lệnh (4) đưa ra thơng tin gì?
{tao mang}
2. Y/cầu hs tìm vị trí bổ sung các lệnh vào For i:=1 To n Do
cho phù hợp để chtrình đếm được số
begin
dương, số âm.
write(‘phan tu thu ’,i,’ =’);
3. Y/cầu hs lên hồn chỉnh lại chương
readln(A[i]);
trình?
end;
* Bước 2: Thực hiện nhiệm vụ:
am := 0; duong := 0;
+ HS: Suy nghĩ, tham khảo sgk trả lời câu {dem}
hỏi
For i:=1 To n Do
+ GV: quan sát và trợ giúp các cặp.
If A[i] >0 Then
* Bước 3: Báo cáo, thảo luận:
duong := duong + 1
+ HS: Lắng nghe, ghi chú, một HS phát
Else if A[i]<0 Then
biểu lại các tính chất.
am := am + 1;
+ Các nhóm nhận xét, bổ sung cho nhau.
Writeln(duong: 4, am:4);
* Bước 4: Kết luận, nhận định: GV End.
chính xác hóa và gọi 1 học sinh nhắc lại
kiến thức
C. HOẠT ĐỘNG LUYỆN TẬP
a. Mục tiêu: Củng cố, luyện tập kiến thức vừa học.
b. Nội dung: HS đọc SGK làm các bài tập.
c. Sản phẩm: Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
14
d. Tổ chức thực hiện: Viết chương trình nhập dãy N số nguyên (N<=100). In dãy số
nguyên vừa nhập.
D. HOẠT ĐỘNG VẬN DỤNG
a. Mục tiêu: Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn.
b. Nội dung: HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c. Sản phẩm: HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
d. Tổ chức thực hiện:
GV chia lớp thành nhiều nhóm và giao các nhiệm vụ: thảo luận trả lời các câu hỏi
và bài tập vận dụng: Viết chương trình nhập dãy N số ngun (N<=200). Tính và in ra
tổng dãy số nguyên vừa nhập.
* HƯỚNG DẪN VỀ NHÀ:
- Ôn lại bài học hôm nay;
- Chuẩn bị trước cho tiết sau.
15
Ngày soạn: 22/02/2022
Tiết: 29, 30
Ngày dạy: 02/03/2022
Tuần: 24
BÀI THỰC HÀNH SỐ 3
I. MỤC TIÊU:
1. Kiến thức:
- Củng cố cho HS những hiểu biết về kiểu dữ liệu mảng, cung cấp cho học sinh 2 thuật
tốn cơ bản là tính tổng và đếm các phần tử thoả mãn điều kiện, giới thiệu hàm Random.
2. Năng lực
Năng lực chung
Năng lực sử dụng máy tính, năng lực giải quyết vấn đề, năng lực sáng tạo, ứng dụng
KHKT, năng lực tự học, năng lực hợp tác, làm việc nhóm.
Năng lực chun biệt
Năng lực tính toán, Năng lực thực hành.
3. Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu
nước, nhân ái, chăm chỉ, trung thực, trách nhiệm
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Sách giáo khoa, máy tính điện tử.
Học sinh: đồ dùng học tập, SGK, vở ghi, máy tính
III. TIẾN TRÌNH DẠY HỌC
A. HOẠT ĐỘNG KHỞI ĐỘNG
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi.
c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài: Khi nào ta nên khai báo biến
mảng gián tiếp – thông qua định nghĩa kiểu?
B. HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động 1: Tìm hiểu bài tập về mảng một chiều
a) Mục tiêu: Nắm được các nhập dữ liệu vào mảng và đưa dữ liệu ra màn hình
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ: - Xem bài mẫu được trình chiếu.
?1: MyArray là tên kiểu dữ liệu hay
tên biến?
?2: Vai trò của nmax và n khác nhau
như thế nào?
?3: Dòng lệnh nào dùng để tạo biến
mảng A?
?4: Lệnh gán A[i]:= random(300) –
random(300) có ý nghĩa gì?
?5: Lệnh For i:=1 to n do
Write(A[i]:5); có ý nghĩa gì?
?6: Lệnh For i:=1 to n do If A[i]
mod k = 0 then s:=s + A[i]; thực
hiện nhiệm vụ gì?
?7: Lệnh s:=s+A[i]; được thực hiện n là số lượng phần tử của mảng, nmax là là số
16
bao nhiêu lần?
lượng pt lớn nhất có thể có của mảng.
VAR A: MyArray
GV: Nhận xét.
Tạo ngẫu nhiên giá trị kiểu số nguyên cho mảng A
?8: Đưa biến Posi và Neg vào vị trí trong khoảng -300 đến 300
nào trong câu 1a?
In ra các phần tử của mảng A mỗi phần tử cách
?9: Nhiệm vụ của câu lệnh:
nhau 5 kí tự trống
If A[i]:>0 then Posi:=Posi+1 else If Tính tổng các phần tử chia hết cho k
A[i]<0 then Neg:=Neg+1; ?
Không xác định được.
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả
lời câu hỏi
+ GV: quan sát và trợ giúp các cặp.
* Bước 3: Báo cáo, thảo luận:
+ HS: Lắng nghe, ghi chú, một HS
phát biểu lại các tính chất.
+ Các nhóm nhận xét, bổ sung cho
nhau.
* Bước 4: Kết luận, nhận định:
GV chính xác hóa và gọi 1 học sinh
nhắc lại kiến thức
Hoạt động 1: Tìm hiểu bài tập vận dụng mảng 1 chiều
a) Mục tiêu: làm được các bài tập vận dụng
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
17
Hoạt động của GV và HS
* Bước 1: Chuyển giao nhiệm vụ:
- So sánh lần lượt từ trái sang phải giữ lại
chỉ số của phần tử lớn nhất.
Quan sát chương trình, suy nghĩ và trả lời
- Giữ lại chỉ số của phần tử có giá trị lớn
nhất.
- Phép so sánh a[i]
- Chuyển thứ tự duyệt từ n-1 về 1
3. Theo dõi yêu cầu, suy nghĩ các câu hỏi
định hướng để viết chương trình.
- Soạn chương trình vào máy. Thực hiện
chương trình và thơng báo kết quả.
- Nhập dữ liệu vào và thông báo cho giáo
viên dữ liệu ra.
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời câu
hỏi
+ GV: quan sát và trợ giúp các cặp.
* Bước 3: Báo cáo, thảo luận:
+ HS: Lắng nghe, ghi chú, một HS phát
biểu lại các tính chất.
+ Các nhóm nhận xét, bổ sung cho nhau.
* Bước 4: Kết luận, nhận định: GV
chính xác hóa và gọi 1 học sinh nhắc lại
kiến thức
Sản phẩm dự kiến
1. Lấy một ví dụ thực tiễn: Người mù tìm
viên sỏi có kích thước lớn nhất trong một
dãy viên sỏi để gợi ý cho học sinh thuật
tốn tìm giá trị lớn nhất.
Nêu thuật tốn tìm phần tử
có giá trị lớn nhất.
2. Tìm hiểu chương trình tìm chỉ số và giá
trị lớn nhất.
- Chiếu chương trình ví dụ sách giáo khoa
trang 64.
- Hỏi: vai trị của biến j trong chương
trình.
- Hỏi: Nếu muốn tìm phần tử nhỏ nhất,
cần sửa ở chỗ nào?
- Hỏi: Nếu muốn tìm phần tử lớn nhất ta
sửa ở chỗ nào?
3. Đặt yêu cầu mới:
Viết chương trình và đưa ra các chỉ số của
các phần tử có gái trị lớn nhất.
- Hỏi: Cần giữ lại đoạn chương trình tìm
giá trị lớn nhất không?
- Hỏi: cần thêm lệnh nào nữa?
- Hỏi: Vị trí thêm các lệnh đó?
- u cầu: Viết chương trình hoàn thiện
- Học sinh nhập dữ liệu vào của giáo viên
và báo cáo kết quả.
C. HOẠT ĐỘNG LUYỆN TẬP
a. Mục tiêu: Củng cố, luyện tập kiến thức vừa học.
b. Nội dung: HS đọc SGK làm các bài tập.
c. Sản phẩm: Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
d. Tổ chức thực hiện: ôn tập lại kiến thức và làm ví dụ vận dụng
D. HOẠT ĐỘNG VẬN DỤNG
a. Mục tiêu: Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn.
b. Nội dung: HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c. Sản phẩm: HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
d. Tổ chức thực hiện:
GV chia lớp thành nhiều nhóm và giao các nhiệm vụ: thảo luận trả lời các câu hỏi và bài
tập vận dụng.
* HƯỚNG DẪN VỀ NHÀ:
- Ơn lại bài học hơm nay;
- Chuẩn bị trước cho tiết sau.
18
Ngày soạn: 01/03/2022
Tiết: 31, 32
Ngày dạy: 08/03/2022
Tuần: 25
BÀI THỰC HÀNH SỐ 4
I. MỤC TIÊU
1. Kiến thức
- Củng cố kiến thức về dữ liệu kiểu mảng.
- Xây dựng cấu trúc dữ liệu, hiểu thuật toán sắp xếp bằng tráo đổi.
2. Năng lực
Năng lực chung
Năng lực sử dụng máy tính, năng lực giải quyết vấn đề, năng lực sáng tạo, ứng dụng
KHKT, năng lực tự học, năng lực hợp tác, làm việc nhóm.
Năng lực chun biệt
Năng lực tính tốn, Năng lực thực hành.
3. Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu
nước, nhân ái, chăm chỉ, trung thực, trách nhiệm
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Sách giáo khoa, máy tính điện tử.
Học sinh: đồ dùng học tập, SGK, vở ghi, máy tính
III. TIẾN TRÌNH DẠY HỌC
A. HOẠT ĐỘNG KHỞI ĐỘNG
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi.
c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài:
B. HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động 1: Nhắc lại kiến thức đã học liên quan bài thực hành.
a) Mục tiêu: Nhắc lại kiến thức đã học liên quan bài thực hành.
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
Tl: có 2 cách
Nêu cách khai báo kiểu mảng 1 chiều.
+ gián tiếp:
+ trực tiếp:
Nhập từ bàn phím xây dựng mảng một TL: For i:= 1 to 6 do
chiều A có 6 phần tử.
Begin
* Bước 2: Thực hiện nhiệm vụ:
Writeln(‘Nhap phan tu thu ’,i,’=’);
+ HS: Suy nghĩ, tham khảo sgk trả lời câu
Readln(A[i]);
hỏi
End;
+ GV: quan sát và trợ giúp các cặp.
* Bước 3: Báo cáo, thảo luận:
+ HS: Lắng nghe, ghi chú, một HS phát
biểu lại các tính chất.
+ Các nhóm nhận xét, bổ sung cho nhau.
* Bước 4: Kết luận, nhận định: GV
chính xác hóa và gọi 1 học sinh nhắc lại
kiến thức
19
Hoạt động 2: Xác định bài tốn và tìm hiểu chương trình.
a) Mục tiêu: Xác định bài tốn và tìm hiểu chương trình.
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
CT( SGK/65)
1. Chiếu đề bài lên bảng.
2. Xác định bài toán
Y/cầu hs xác định dữ liệu vào/ra của bài tốn?
Tìm hiểu chương trình
- Vai trò của biến i, j trong CT?
- Đoạn lệnh nào thực hiện tráo đổi giá trị 2 phần tử
liền kề của mảng?
Sắp xếp dãy số nguyên bằng thuật toán tráo đổi với
các giá trị khác nhau của n số.
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời câu hỏi
+ GV: quan sát và trợ giúp các cặp.
* Bước 3: Báo cáo, thảo luận:
+ HS: Lắng nghe, ghi chú, một HS phát biểu lại các
tính chất.
+ Các nhóm nhận xét, bổ sung cho nhau.
* Bước 4: Kết luận, nhận định: GV chính xác hóa
và gọi 1 học sinh nhắc lại kiến thức
Hoạt động 3: Tìm hiểu Chạy CT
a) Mục tiêu: Chạy CT
b) Nội dung: HS quan sát 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) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
- Chạy CT, nhập dữ liệu, xm kết quả.
Yêu cầu hs tự nhập dữ liệu với CT có sẵn. - Chỉnh sữa CT thông qua các thông báo
Xác định bài toán.
lỗi.
- Y/cầu hs xác I/O bài toán?
- Chú ý hiểu rõ thêm về CT.
- Biến Dem được tăng lên khi nào?
Đề: Khai báo biến đếm nguyên Dem và
- Cần đưa câu lệnh tăng Dem vào chỗ nào bổ sung vào chương trình những câu lệnh
trong CT trên?
cần thiết để biến Dem tính số lần tráo đổi
- Câu lệnh khởi tạo Dem:= 0 được đặt vào trong chương trình.
vị trí nào trong CT?
Xác định bài tốn:
- u cầu hs sửa lại CT theo gợi ý đã nêu + I: mảng a;
* Bước 2: Thực hiện nhiệm vụ:
+O: mảng a đã sắp xếp, số lần tráo đổi
+ HS: Suy nghĩ, tham khảo sgk trả lời câu (Dem);
hỏi
- Thêm các CL như đã hướng dẫn vào CT.
+ GV: quan sát và trợ giúp các cặp.
- Chạy CT
* Bước 3: Báo cáo, thảo luận:
+ HS: Lắng nghe, ghi chú, một HS phát
biểu lại các tính chất.
20
+ Các nhóm nhận xét, bổ sung cho nhau.
* Bước 4: Kết luận, nhận định: GV
chính xác hóa và gọi 1 học sinh nhắc lại
kiến thức
Hoạt động 4: Rèn luyện kỹ năng nhận xét, phân tích và đề xuất cách giải bài tốn
sao cho chương trình chạy nhanh hơn.
a) Mục tiêu: Rèn luyện kỹ năng nhận xét, phân tích và đề xuất cách giải bài tốn sao cho
chương trình chạy nhanh hơn.
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
Chương trình minh hoạ
Cho mảng A gồm n phần tử. Viết Program Sum1;
chương trình tạo mảng B[1..n], trong Uses crt;
đó B[i] là tổng giá trị của i phần tử Var A, B:Array[1..100] of integer;
đầu tiên của mảng A.
i,j,n:integer;
* Bước 2: Thực hiện nhiệm vụ:
Begin
+ HS: Suy nghĩ, tham khảo sgk trả Clrscr; Randomize;
lời câu hỏi
Write(‘nhap n=’); Readln(n);
+ GV: quan sát và trợ giúp các cặp.
for i:=1 to n do a[i]:=random(300)* Bước 3: Báo cáo, thảo luận:
random(300);
+ HS: Lắng nghe, ghi chú, một HS For i:=1 to n do write(a[i]:5);
phát biểu lại các tính chất.
writeln;
+ Các nhóm nhận xét, bổ sung cho For i:=n to n do
nhau.
Begin
* Bước 4: Kết luận, nhận định: GV
B[i]:=0;
chính xác hóa và gọi 1 học sinh nhắc
For J:=1 to i do B[i] : =B[i] + A[i];
lại kiến thức
end;
For i:=1 to n do write(B[i]:7); Writeln;
Readln;
End.
Hoạt động 5: Tiến hành thực hành
a) Mục tiêu: Nắm được các bước tiến hành
b) Nội dung: HS quan sát 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) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
1. Quan sát bài và trả lời câu hỏi.
1. Xác định bài toán
- Vào: mảng A gồm n phần tử
Yêu cầu: Xác định dữ liệu - Ra: mảng B gồm n phần tử
vào, dữ liệu ra?
Gợi ý để học sinh viết thuật 2. Quan sát chương trình, suy nghĩ câu hỏi
và trả lời.
toán.
- Quan sát giáo viên thực hiện, nhận xét
2. Giới thiệu chương trình chưa cải tiến
Chiếu chương trình ví dụ lên về thời gian thực hiên chương trình
bảng
- Phải thực hiện n(n+1)/2 phép cộng
21
-
Thực hiện chương trình để
học sinh biết thời gian thực hiện chương - Để tính bước thứ i, ta sử dụng kết quả đã
tính ở bước thứ i-1
trình và kết quả của chương trình.
Hỏi: Trong chương trình B[i] : =B[i-1] + A[i];
- Thay đoạn lệnh:
phải thực hiện bao nhiêu phép cộng?
Hỏi: Có bao nhiêu để cải For J:=1 to i do B[i] : =B[i] + A[i];
Soạn chương trình vào máy, thực hiện
tiến
Lệnh này được thay bằng chương trình và thơng báo kết quả.
lệnh nào trong chương trình? viết ở vị
trí nào.
Kết luận: Cùng một bài tốn, có thể có
nhiều cách giải quyết khác nhau. Người
lập trình cần chọn cách sao cho máy thực
hiện nhanh nhất.
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời câu
hỏi
+ GV: quan sát và trợ giúp các cặp.
* Bước 3: Báo cáo, thảo luận:
+ HS: Lắng nghe, ghi chú, một HS phát
biểu lại các tính chất.
+ Các nhóm nhận xét, bổ sung cho nhau.
* Bước 4: Kết luận, nhận định: GV
chính xác hóa và gọi 1 học sinh nhắc lại
kiến thức
C. HOẠT ĐỘNG LUYỆN TẬP
a. Mục tiêu: Củng cố, luyện tập kiến thức vừa học.
b. Nội dung: HS đọc SGK làm các bài tập.
c. Sản phẩm: Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
d. Tổ chức thực hiện: hệ thống lại kiến thức đã học bằng sơ đồ tư duy.
D. HOẠT ĐỘNG VẬN DỤNG
a. Mục tiêu: Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn.
b. Nội dung: HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c. Sản phẩm: HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
d. Tổ chức thực hiện:
GV chia lớp thành nhiều nhóm và giao các nhiệm vụ: thảo luận trả lời các câu hỏi và bài
tập vận dụng.
* HƯỚNG DẪN VỀ NHÀ:
- Ôn lại bài học hôm nay;
- Chuẩn bị trước cho tiết sau.
22
Ngày soạn: 06/03/2022
Tiết: 33, 34
Ngày dạy: 14/03/2022
Tuần: 26
Bài 12: KIỂU XÂU
I. MỤC TIÊU
1. Về kiến thức
- Biết được một kiểu dự liệu mới, biết được khái niệm kiểu xâu.
- Phân biệt được sự giống và khác giữa kiểu mảng với kiểu xâu.
- Biết được cách khai báo biến, nhập/xuất dữ liệu, tham chiếu dến từng kí tự của xâu.
- Biết các phép toán liên quan đến xâu.
2. Năng lực
Năng lực chung
Năng lực sử dụng máy tính, năng lực giải quyết vấn đề, năng lực sáng tạo, ứng dụng
KHKT, năng lực tự học, năng lực hợp tác, làm việc nhóm.
Năng lực chun biệt
Năng lực tính tốn, Năng lực thực hành.
3. Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu
nước, nhân ái, chăm chỉ, trung thực, trách nhiệm
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Sách giáo khoa, máy tính điện tử.
Học sinh: đồ dùng học tập, SGK, vở ghi, máy tính
III. TIẾN TRÌNH DẠY HỌC
A. HOẠT ĐỘNG KHỞI ĐỘNG
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi.
c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài:
- Bài toán đặt vấn đề: Nhập vào họ tên của 1 học sinh từ bàn phím, in kết quả ra màn
hình.
- Nếu bài tốn u cầu nhập vào họ tên của 5 học sinh, thì ta sẽ phải tạo 5 mảng để lưu họ
tên của 5 học sinh. Vậy nếu là 20, 50 học sinh thì sẽ mất thời gian.
- NNLT Pascal đưa ra một kiểu dữ liệu mới : Kiểu xâu
B. HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động 1: Tìm hiểu về xâu và quy ước về xâu.
a) Mục tiêu: Nắm được về xâu và quy ước về xâu
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
I. Khái niệm và khai báo
- Đưa ra một ví dụ minh hoạ. Sau đó yêu 1. Khái niệm và quy ước
cầu học sinh tìm hiểu và trả lời về định a. Khái niệm: Xâu là dãy các kí tự trong
nghĩa xâu?
bộ mã ASCII, mỗi kí tự được gọi là một
VD: 'tin hoc'
phần tử của xâu.
'2014'
'THPT Hang Hai?'
GV hỏi HS đọc SGK trả lời
- Độ dài xâu được xác định ntn?
23
- Xâu rỗng là xâu ntn?
- Chỉ số phần tử được đánh ntn?
- Cách tham chiếu đến một phần tử của xâu
ntn?
GV đưa ra 3 VD yêu cầu HS quan sát, nhận
xét và trả lời
b. Quy ước:
+ 'Tin hoc' là xâu có độ dài bằng bao nhiêu? - Độ dài xâu được xác định bằng số lượng
+ ' ' là xâu gì?
kí tự trong xâu.
+ Giả sử biến xâu hoten lưu giá trị hằng xâu - Xâu rỗng là xâu có độ dài bằng 0.
'Le Thu Ha' muốn tham chiếu đến kí tự 'T' - Chỉ số phần tử được đánh theo số thứ tự
thì viết ntn?
của kí tự trong xâu, tính từ trái bắt đầu
* Bước 2: Thực hiện nhiệm vụ:
bằng 1.
+ HS: Suy nghĩ, tham khảo sgk trả lời câu - Tham chiếu đến 1 phần tử của xâu: Tên
hỏi
biến xâu [chỉ số]
+ GV: quan sát và trợ giúp các cặp.
Ví dụ:
* Bước 3: Báo cáo, thảo luận:
+ ' Tin hoc' → Xâu có độ dài bằng 7
+ HS: Lắng nghe, ghi chú, một HS phát + ' ' → Là xâu rỗng
biểu lại các tính chất.
+ Giả sử biên xâu hoten lưu trữ giá trị
+ Các nhóm nhận xét, bổ sung cho nhau.
hằng xâu 'Le Thu Ha' muốn tham chiếu tới
* Bước 4: Kết luận, nhận định: GV chính kí tự 'T' → hoten[4]
xác hóa và gọi 1 học sinh nhắc lại kiến thức
Hoạt động 2: Tìm hiểu cách khai báo biến xâu.
a) Mục tiêu: Nắm được
b) Nội dung: HS quan sát 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
d) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
2. Khai báo biến xâu
GV: đưa ra cú pháp của phương pháp khai
Var <Tên biến xâu>: string[n];
báo biến xâu, sau đó lấy ví dụ minh hoạ và
Trong đó: n là độ dài lớn nhất của xâu,
yêu cầu HS nhận xét?
1<=n <=255
* Bước 2: Thực hiện nhiệm vụ:
Ví dụ 1: Var hoten: String[25];
+ HS: Suy nghĩ, tham khảo sgk trả lời câu Ví dụ 2: Var st1, st2: String[255];
hỏi
Ví dụ 3: Var st1, st2: String;
+ GV: quan sát và trợ giúp các cặp.
Chú ý: - Khi khai báo xâu có thể bỏ qua
* Bước 3: Báo cáo, thảo luận:
phần khai báo [độ dài lớn nhất], khi đó
+ HS: Lắng nghe, ghi chú, một HS phát độ dài lớn nhất của xâu sẽ nhận giá trị
biểu lại các tính chất.
ngầm định là 255
+ Các nhóm nhận xét, bổ sung cho nhau.
- Khai báo độ dài xâu phải dựa trên phạm
* Bước 4: Kết luận, nhận định: GV chính vi kí tự phù hợp.
xác hóa và gọi 1 học sinh nhắc lại kiến thức
Hoạt động 3: Tìm hiểu cách nhập/xuất dữ liệu cho biến xâu
a) Mục tiêu: Nắm được cách nhập/xuất dữ liệu cho biến xâu
b) Nội dung: HS quan sát 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) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
II. Các thao tác xử lí xâu
24
GV: đưa ra một chương trình làm VD minh 1. Nhập/xuất dữ liệu cho biến xâu
hoạ (Bảng phụ)
a. Nhập dữ liệu vào từ bàn phím
Var
Read(<DS biến xâu>);
hoten : string[25];
Readln(<DS biến xâu>);
chuthich :string;
b. Nhập bằng phép gán
Begin
<Biến xâu> := <Hằng xâu>;
Readln(hoten);
c. Xuất dữ liệu
Chuthich:= 'hoc sinh truong THPT Mac Write(<DS biểu thức xâu>);
Dinh Chi';
Writeln(<DS biểu thức xâu>);
Writeln(hoten, chuthich);
end.
GV:Khi chạy chương trình nếu nhập xâu
'Nguyen Lan Anh' cho biến xâu hoten thì
kết quả thu được là gi?
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời câu
hỏi
+ GV: quan sát và trợ giúp các cặp.
* Bước 3: Báo cáo, thảo luận:
+ HS: Lắng nghe, ghi chú, một HS phát
biểu lại các tính chất.
+ Các nhóm nhận xét, bổ sung cho nhau.
* Bước 4: Kết luận, nhận định: GV chính
xác hóa và gọi 1 học sinh nhắc lại kiến thức
Hoạt động 4: Tìm hiểu phương pháp ghép xâu.
a) Mục tiêu: Nắm được phương pháp ghép xâu.
b) Nội dung: HS quan sát 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) Tổ chức thực hiện:
Hoạt động của GV và HS
Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
2. Phép ghép xâu
GV: đưa ra phương pháp ghép xâu sau đó Sử dụng kí hiệu ' + ' để ghép nhiều xâu
đưa ra 2 trường hợp làm VD
thành một xâu
1. Hai' + ' ' + ' Phong'
2. hoten + 'hoc sinh trương THPT Mac
Dinh Chi' giả sử biến xâu hơten lưu giữ Ví dụ:
hằng xâu 'Nguyen Lan Anh'
1. Hai' + ' ' + ' Phong'→ ' Hai Phong'
* Bước 2: Thực hiện nhiệm vụ:
2. hoten + 'hoc sinh trương THPT Mac
+ HS: Suy nghĩ, tham khảo sgk trả lời câu Dinh Chi' → 'Nguyen Lan Anh hoc sinh
hỏi
truong THPT Mac Dinh Chi'
+ GV: quan sát và trợ giúp các cặp.
* Bước 3: Báo cáo, thảo luận:
+ HS: Lắng nghe, ghi chú, một HS phát
biểu lại các tính chất.
+ Các nhóm nhận xét, bổ sung cho nhau.
* Bước 4: Kết luận, nhận định: GV chính
xác hóa và gọi 1 học sinh nhắc lại kiến thức
Hoạt động 5: Tìm hiểu phép so sánh 2 xâu với nhau.
25