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

giao an 11 hk2 tiet 19 den tiet 40

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 (491.69 KB, 62 trang )

Chủ đề: KIỂU MẢNG MỘT CHIỀU
TUẦN
19

Tiết theo PPCT
19

20
20

21

22

21

23

24

22

25

Hoạt động học
Hoạt động 1: Khởi động
Hoạt động 2: Hình thành kiến thức mới
1. Kiểu mảng 1 chiều
* Khái niệm
a/ Khai báo
Hoạt động 3: Luyện tập


Hoạt động 4: Vận dụng, mở rộng
Hoạt động 1: Khởi động
Hoạt động 2: Hình thành kiến thức mới
b/ Một số ví dụ
Hoạt động 3: Luyện tập
Hoạt động 4: Vận dụng, mở rộng
Hoạt động 1: Khởi động
Hoạt động 2: Hình thành kiến thức mới
b/ Một số ví dụ
Hoạt động 3: Luyện tập
Hoạt động 4: Vận dụng, mở rộng
Hoạt động 1: Khởi động
Hoạt động 2: Hình thành kiến thức mới
Bài tập thực hành 3
Hoạt động 3: Luyện tập
Hoạt động 4: Vận dụng, mở rộng
Hoạt động 1: Khởi động
Hoạt động 2: Hình thành kiến thức mới
Bài tập thực hành 3
Hoạt động 3: Luyện tập
Hoạt động 4: Vận dụng, mở rộng
Hoạt động 1: Khởi động
Hoạt động 2: Hình thành kiến thức mới
Bài tập thực hành 4
Hoạt động 3: Luyện tập
Hoạt động 4: Vận dụng, mở rộng

Tuần 19
Tiết: 19, 20
Chủ đề: KIỂU MẢNG MỘT CHIỀU

I. MỤC TIÊU:
1. Kiến thức:
 Biết kiểu mảng là một kiểu dữ liệu có cấu trúc, rất cần thiết và hữu ích trong nhiều
chương trình.
 Các ngơn ngữ lập trình thơng dụng cho phép người lập trình xây dựng kiểu dữ liệu
mảng một chiều.
 Để mô tả mảng một chiều cần khai báo kiểu của các phần tử và cách đánh số các phần
tử của nó (mỗi phần tử của nó có một chỉ số).
1


 Có thể tham chiếu phần tử của mảng bằng tên của mảng và chỉ số tương ứng của phần
tử này.
2. Kỹ năng:
 Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngơn ngữ lập
trình Pascal để giải quyết một bài toán cụ thể.
 Biết cách đánh chỉ số cho từng phần tử của mảng.
3. Thái độ:
 Tập trung chú ý, tích cực đóng góp bài học.
4. Năng lực hướng tới
- - Khai báo biến dữ liệu hợp lý. Hiểu nguyên lý lưu dữ liệu một cách có cấu trúc.
- Năng lực tự học, làm việc theo nhóm
- Năng lực giải quyết vấn đề
- Năng lực giao tiếp, ứng xử,..
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
1. Giáo viên: Giáo án, SGK 11, SGV 11.
2. Học sinh: Tập, viết, sách giáo khoa.
III. TIẾN TRÌNH DẠY HỌC:
HOẠT ĐỘNG HỌC
Hoạt động 1: Hoạt động khởi động

1) Mục tiêu: Học sinh biết được khi nào nên sử dụng kiểu mảng.
2) Phương pháp/Kỹ thuật: thuyết trình, vấn đáp
3) Phương tiện tổ chức dạy học: SGK
4) Tổ chức hoạt động:
5) Sản phẩm: HS biết kiểu mảng một chiều được sử dụng khi bài tốn có nhiều giá
trị input mà có cùng một kiểu dữ liệu.
Hoạt động của giáo viên
- 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ì?

Hoạt động của học sinh
- Nghe giảng.

- Tham khảo sách giáo khoa và trả lời:
Input: Nhập vào nhiệt độ trung bình của
7 ngày t1, t2, t3, t4, t5, t6, t7;
Output: Nhiệt độ trung bình của tuần tb,
và số ngày vượt mức trung bình dem;

- Nhận xét, như vậy nếu muốn tính nhiệt độ - Trả lời: phải khai báo từ t1...t365.
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.
Hoạt động 2: Hình thành kiến thức mới
1. Kiểu mảng 1 chiều
2


(1) Mục tiêu: Giúp học sinh biết được khái niệm về mảng một chiều, cách khai báo mảng
một chiều, tham chiếu đến phần tử của mảng một chiều, hiểu cách nhập và in mảng một chiều.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Nội dung hoạt động :
- Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu.
* Khi làm việc với mảng một chiều ta cần xác định được:
+ 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í dụ: 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].
a/ Khai báo:

Có hai cách:
* Khai báo trực tiếp:
VAR <tên biến mảng>: array[<chỉ số đầu..chỉ số cuối>] of <kiểu phần tử>;
* Khai báo gián tiếp:
TYPE <tên kiểu mảng> = array[<chỉ số đầu>..<Chỉ số cuối>] of <kiểu phần tử>;
VAR <tên biến mảng> : <tên kiểu mảng>;
Trong đó:
Tên kiểu mảng, tên biến mảng: theo quy tắc đặt tên biến.
Kiểu phần tử: là kiểu của các phần tử trong mảng (các kiểu dữ liệu
chuẩn)
Kiểu chỉ số: thường là một đoạn số nguyên liên tụ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)
Số lượng các phần tử (chỉ số cuối – chỉ số đầu + 1)
Vd1: khai báo biến khoi11 gồm 11 phần tử là các số nguyên.
Cách 1: var khoi11:array[1..11] of integer;
Cách 2: Type mnguyen = array[1..11] of integer;
Var khoi11: mnguyen;
Vd2: khai báo biến lop gồm 40 phần tử là các số thực.
Cách 1: var lop:array[1..40] of real;
Cách 2: Type mthuc = array[1..40] of real;
Var lop: mthuc;
Vd3: khai báo biến A gồm 30 phần tử là các kí tự.
Cách 1: var A:array[1..30] of char;
Cách 2: Type daykt = array[1..30] of char;
Var A: daykt;
Tham chiếu đến một phần tử trong mảng:
tenbienmang[chỉ số]
Ví dụ:
15

54
30
62
24
A
1
2
3
4
5
A[4] := 62;
(4) Hình thức tổ chức hoạt động: Làm việc cá nhân.
3


(5) Phương tiện dạy học: SGK, Projector, máy tính.
(6) Sản phẩm: Học sinh nắm được khái niệm về bảng, cách khai báo biến mảng một
chiều, cách tham chiếu đến phần tử của mảng một chiều
Hoạt động giáo viên
Hoạt động học sinh
(?) Các em hãy tham khảo sách giáo và cho biết khi làm - Tham khảo sách giáo
việc với mảng 1 chiều cần xác định những gì?
khoa và trả lời.
- Nhận xét.
- Nghe giảng và ghi bài.
- Cho ví dụ để học sinh hiểu rõ hơn về mảng 1 chiều.
- Ghi ví dụ.
(?) Với mảng một chiều vừa cho ta xác định được gì?
- Suy nghĩ trả lời.
- Nhận xét.

- Ghi bài.
- Đối với các biến trong NNLT khi sử dụng thì bắt buộc - Ghi mục bài.
chúng ta phải khai báo, và đối với biến mảng 1 chiều chúng
ta cũng phải khai báo. Cách khai báo thế nào cùng tìm hiều
phần . Khai báo mảng 1 chiều.
- Nghe giảng và ghi bài.
- Đối với mảng một chiều ta có 2 cách khai báo.
- Bên cạnh đó ta có cách khai báo thứ hai.
- Nghe giảng và ghi bài.
- Giải thích ví dụ rõ để học sinh phân biệt tên kiểu mảng, - Nghe giảng.
tên biến mảng.
- Yêu cầu học sinh cho ví dụ về 2 cách khai báo trên.
- Thực hiện theo yêu cầu
- Nhận xét, chỉnh sửa nếu có sai sót.
giáo viên.
- Thực hiện khai báo cho 3 ví dụ trên theo 2 cách:
+ xác định tên kiểu?
+ tên biến là khoi11, lop.
+ xác định kiểu dữ liệu của các phần tử trong mảng?
+ nhìn vào khai báo cho biết số phần tử của mảng?
Dòng Type đặt sau dịng Var được khơng?

+ tên kiểu là mnguyen,
mthuc
+ kiểu ngun, kiểu thực
+ số phần tử là 11, 40
+ khơng, vì kiểu dữ liệu
phải được tạo ra (tức là
định nghĩa nó) trước, thì
mới có để sử dụng


cho ví dụ
A

15
1

54
2

30
3

62
4

24
5

Trong một mảng vì có nhiều phần tử, nên khi muốn
nhập/xuất giá trị cho mảng thì phải nhập/xuất từng phần tử.
Vd: khi nhập giá trị cho phần tử thứ 4 thì viết lệnh
Readln(A[4]); hay nhập giá trị cho phần tử thứ 1 thì viết
lệnh Readln(A[1]);
Vd: nếu muốn xuất giá trị của phần tử thứ 3 trong mảng thì
viết lệnh Write(A[3]);
Nói tóm lại, khi muốn nhập/xuất 1 phần tử hay lấy 1 phần
tử nào đó để xử lí thì được gọi chung là tham chiếu tới 1
phần tử.
(lưu ý)

- Khi nói đến phần tử là nói đến giá trị mà lưu trong ơ nhớ,
nên sẽ thể hiện là tênbiến[chỉ số]
- Vị trí của phần tử chính là chỉ số hoặc tên biến mà được
4


viết trong cặp ngoặc vuông.
Hoạt động 3 : Luyện tập
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, nhập và in mảng một
chiều
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Bài 1: 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?
Bài 2: Cho đoạn chương trình
s:=0;
for i:=1 to 10 do
if (A[i] mod k=0) and (i mod 2<>0) then
s:=s+A[i];
- Cho biết tên mảng?
- Mảng có bao nhiêu phần tử, thuộc kiểu nào?
- Đoạn chương trình đang xử lý cơng việc gì?
GV hướng dẫn và cho các em thảo luận.
GV gọi các nhóm trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng

Hoạt động 4: Vận dụng, mở rộng
(1) Mục tiêu: Giúp học sinh hiểu cách nhập và in mảng một chiều.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Nội dung hoạt động :
* Nhập mảng một chiều
Trước tiên, cần xác định có bao nhiêu phần tử cần dùng:
Write(‘nhap so phan tu: ‘);
Readln(n);
Dùng vòng lặp For - do để nhập giá trị cho từng phần tử A[i]:
For i:=1 to n do
Begin
Write(‘Nhap phan tu thu: ’, i);
Readln(A[i]);
End;
* In mảng một chiều
Dùng vòng lặp For - do để in các phần tử trong mảng:
For i:= 1 to n do
Write(A[i]:4);
Ví dụ 1: 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ố.
Ví dụ 2: Viết chương trình nhập dãy N số nguyên (N<=200). In ra màn hình dãy số theo
thứ tự ngược lại
(4) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(5) Phương tiện dạy học: SGK, Projector, máy tính.
5


(6) Sản phẩm: Học sinh hiểu cách nhập và in mảng một chiều, hiểu được một số ví dụ
giải bài toán về mảng một chiều.
Hoạt động giáo viên

Hoạt động học sinh
(?) Khi ta đã khai báo được mảng một chiều, lúc đó ta đã - Suy nghĩ trả lời: xác định
xác định được những gì của mảng đó?
được tên mảng, số lượng
- Nhận xét.
phần tử tối đa của mảng,
(?) Giá trị của từng phần tử mảng đã xác định được chưa, kiểu dữ liệu của mảng.
làm thế nào để có các giá trị đó?
- Nhận xét, để có được giá trị của các phần tử chúng ta phải - Suy nghĩ trả lời.
nhập và thủ tục nhập như thế nào cùng tìm hiểu Nhập mảng
1 chiều.
- Để làm được điều đó ta cần xác định các thao tác sau:
+ Trước tiên, cần xác định có bao nhiêu phần tử cần dùng;
- Nghe giảng và ghi mục
+ Chúng ta sẽ nhập giá trị cho các phần tử theo thứ tự từ 1 bài.
đến hết. Giả sử ta sẽ nhập giá trị cho mảng A có 5 phần tử.
- Để nhập một phần tử cho mảng thì viết lệnh
- Ghi bài.
Readln(A[chỉ số]);
- Nghe giảng và ghi bài.
- Mảng A có 5 phần tử thì cần thực hiện lệnh
Readln(A[chỉsố]) đủ 5 lần (tức là nó sẽ được lặp 5 lần).
- Vì nhập theo thứ tự nên giá trị của biến đếm trong vòng
lặp For cũng chính là chỉ số của các phần tử.
- Dùng vòng lặp For - do để nhập giá trị cho từng phần tử
A[i].
- Hướng dẫn học sinh cách in các phần tử của mảng 1 chiều.
- Hướng dẫn học sinh giải quyết ví dụ 1

6



Tuần 20
Tiết: 21
Chủ đề: KIỂU MẢNG MỘT CHIỀU (tt)
I. MỤC TIÊU:
1. Kiến thức:
 Biết khai báo mảng 1 chiều, nhập xuất các phần tử trong mảng
 Tìm giá trị lớn nhất, nhỏ nhất trong dãy số
2. Kỹ năng:
 Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngơn ngữ lập
trình Pascal để giải quyết một bài toán cụ thể.
 Biết cách đánh chỉ số cho từng phần tử của mảng.
3. Thái độ:
 Tập trung chú ý, tích cực đóng góp bài học.
4. Năng lực hướng tới
- - Khai báo biến dữ liệu hợp lý. Hiểu nguyên lý lưu dữ liệu một cách có cấu trúc.
- Năng lực tự học, làm việc theo nhóm
- Năng lực giải quyết vấn đề
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
1. Giáo viên: Giáo án, SGK 11, SGV 11.
2. Học sinh: Tập, viết, sách giáo khoa.
III. TIẾN TRÌNH DẠY HỌC:
HOẠT ĐỘNG HỌC
Hoạt động 1: Hoạt động khởi động
1) Mục tiêu: Học sinh biết khai báo mảng 1 chiều, tham chiếu đến phần tử của mảng,
nhập, xuất dữ liệu trong mảng
2) Phương pháp/Kỹ thuật: thuyết trình, vấn đáp
3) Phương tiện tổ chức dạy học: SGK
4) Nội dung hoạt động:

Câu 1: Cú pháp khai báo mảng 1 chiều. Cho ví dụ
Câu 2: Viết chương trình nhập dãy số nguyên, in ra màn hình dãy số vừa nhập
theo thứ tự ngược lại
5) Tổ chức hoạt động: Cá nhân
Hoạt động 2: Hình thành kiến thức
b/ Một số ví dụ
1) Mục tiêu: Rèn luyện kỹ năng vận dụng và xử lí tìm kiếm trên mảng.
2) Phương pháp/Kỹ thuật: Thuyết trình, vấn đáp.
3) Hình thức tổ chức hoạt động: cả lớp.
4) Phương tiện tổ chức dạy học: SGK.
5) Sản phẩm: Qua các câu hỏi, gợi ý của GV, HS lần lượt trả lời các câu hỏi, để nắm
được thuật tốn của bài tốn, từ đó biểu diễn thành chương trình.
6) Nội dung hoạt động:
Ví dụ 1: tìm phần tử lớn nhất có trong mảng A gồm 15 phần tử là các số nguyên
CÂU HỎI, GỢI Ý:
1. Thực hiện khai báo biến mảng A?
2. Hãy viết đoạn chương trình để nhập giá trị cho mảng?
3. Chúng ta sẽ sử dụng thêm một biến max để lưu giá trị lớn hơn sau mỗi lần so sánh. Giả
sử phần tử đầu tiên trong mảng là lớn nhất, vậy nó sẽ được đưa vào biến max. Hãy viết câu
lệnh cho biến max nhận phần tử đầu tiên?
7


4. Đã có max làm chuẩn để so sánh rồi. Vậy bắt đầu so sánh với phần tử thứ mấy? Hãy viết
đoạn chương trình để tìm ra max?
5. Hãy viết câu lệnh hiển thị giá trị max lên màn hình?
GV chính xác lại chương trình cho học sinh như sau:
Var A:array[1..15] of integer;
i,max:integer;
Begin

For i:=1 to 15 do readln(A[i]);
max:=A[1];
For i:=2 to 15 do
If A[i]>max then max:=A[i];
Writeln(‘phan tu lon nhat la:’,max);
End.
Ví dụ 2: tìm phần tử lớn nhất của dãy số nguyên
- Input: Số nguyên dương N và dãy gồm N sô nguyên dương a1, a2, …, an.
- Output: Max(a1, a2, …, an), chỉ số Max.
Thuật toán:
B1: Nhập N, và dãy a1, a2, …, an.
B2: Max  a1; i  2;
B3: Nếu i > N thì đưa ra Max, rồi kết thúc;
B4:
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.
Tổ chức hoạt động:

8


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

Hoạt động học sinh

- Yêu cầu học sinh đọc ví dụ trong SGK và xác định - Dựa vào SGK suy nghỉ trả lời.
input, output.
- Nhận xét.
- Chú ý lắng nghe và ghi lại bài.
- Các em chú ý thuật toán trong sách giáo khoa.
- Chú ý quan sát.
- Sau khi hiểu thuật tốn có thể giải thích các bước viết
chương trình hồn chỉnh.
u cầu học sinh về đọc các ví dụ sách giáo khoa.
- Chú ý quan sát cách viết

chương trình và viết chương
trình vào tập.
Hoạt động 3: Luyện tập
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, nhập và in mảng một
chiều, tìm phần tử nhỏ nhất trong mảng
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
GV yêu cầu HS: Viết chương trình nhập dãy N số nguyên (N<=100). Tìm phần tử nhỏ
nhất của dãy số nguyên
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
Hoạt động 4: Vận dụng, mở rộng
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thơng qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:
Viết chương trình nhập dãy N số nguyên (N<=200). Tìm phần tử nhỏ nhất (nếu có
nhiều phần tử nhỏ nhất thì đưa ra phần tử nhỏ nhất cuối cùng và vị trí của phần tử nhỏ
nhất đó)
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về bài tập mảng một chiều

9



Tuần 20
Tiết: 22
Chủ đề: KIỂU MẢNG MỘT CHIỀU (tt)
I. MỤC TIÊU:
1. Kiến thức:
 Biết khai báo mảng 1 chiều, nhập xuất các phần tử trong mảng
 Tính tổng các phần tử trong dãy số, (tính tổng có điều kiện)
2. Kỹ năng:
 Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngơn ngữ lập
trình Pascal để giải quyết một bài toán cụ thể.
 Biết cách đánh chỉ số cho từng phần tử của mảng.
3. Thái độ:
 Tập trung chú ý, tích cực đóng góp bài học.
4. Năng lực hướng tới
- - Khai báo biến dữ liệu hợp lý. Hiểu nguyên lý lưu dữ liệu một cách có cấu trúc.
- Năng lực tự học, làm việc theo nhóm
- Năng lực giải quyết vấn đề
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
1. Giáo viên: Giáo án, SGK 11, SGV 11.
2. Học sinh: Tập, viết, sách giáo khoa.
III. TIẾN TRÌNH DẠY HỌC:
HOẠT ĐỘNG HỌC
Hoạt động 1: Hoạt động khởi động
1) Mục tiêu: Học sinh biết khai báo mảng 1 chiều, tham chiếu đến phần tử của mảng,
nhập, xuất dữ liệu trong mảng
2) Phương pháp/Kỹ thuật: thuyết trình, vấn đáp
3) Phương tiện tổ chức dạy học: SGK
4) Nội dung hoạt động:
Viết chương trình nhập dãy số nguyên, in ra màn hình các số chẵn trong dãy vừa
nhập.

5) Tổ chức hoạt động: Cá nhân
Hoạt động 2: Hình thành kiến thức
b/ Một số ví dụ
1) Mục tiêu: Rèn luyện kỹ năng vận dụng và xử lí đơn giản trên mảng.
2) Phương pháp/Kỹ thuật: Thuyết trình, vấn đáp.
3) Phương tiện tổ chức dạy học: SGK, máy tính.
4) Sản phẩm: Theo gợi ý của GV, học sinh viết hồn chỉnh được chương trình.
5) Nội dung hoạt động:
Viết chương trình nhập vào mảng 1 chiều với N phần tử, với N nhập từ bàn
phím, sao đó in ra màn hình tổng các phần tử của mảng.
Program Tong_mang;
Uses crt;
Var A: Array[1..100] of Integer;
N, Tong, i: Integer;
Begin
Clrscr;
Writeln('Nhap vao N');
Readln(N);
10


For i:=1 to N do
Begin
Writeln('Nhap vao phan tu thu ', i);
Readln(A[i]);
End;
Tong:=0;
For i:=1 to N do
Tong:=Tong+A[i];
Write(‘Tong mang la’, Tong);

Readln;
End.
6) Tổ chức hoạt động
Hoạt động của GV

Hoạt động của HS

(?) Các em hãy xác định Input và Output
Suy nghĩ và thực hiện theo yêu cầu
của bài toán.
của giáo viên.
- Nhận xét, hướng dẫn cho học sinh cách - Chú ý quan sát và thực hành
ghi bài.
hãy viết chương trình tính tổng các giá của
mảng N phần tử.
- Yêu cầu một học sinh lên bảng viết
chương trình.
- Nhận xét, bổ sung nếu có sai sót.

Hoạt động 3: Luyện tập
(1) Mục tiêu: Giúp học sinh giải được các bài toán về kiểu mảng
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Sản phẩm: Học sinh giải được các bài toán về kiểu mảng
Nội dung hoạt động
GV cho bài tập : Viết chương trình nhập dãy N số nguyên (N<=250). In ra màn hình tổng
các số chẵn và lẻ.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng

Hoạt động 4: Vận dụng, mở rộng
(1) Mục tiêu: Giúp học sinh giải được các bài toán về kiểu mảng
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Sản phẩm: Học sinh giải được các bài toán về kiểu mảng
(5) Nội dung hoạt động:
Viết chương trình nhập vào mảng 1 chiều với N phần tử, tính tổng các phần tử là
bội của 5, sau đó in tổng ra màn hình.
Uses crt;
Var A: array[1..100] of integer;
N, i, Tong: integer;
11


Begin
Clrscr;
Write('Nhap N=');
Readln(N);
For i:=1 to N do
Begin
Writeln('Nhap vao phan tu thu ', i);
Readln(A[i]);
End;
Tong:=0;
For i:=1 to N do
If (A[i] mod 5=0) then Tong:=Tong+A[i];
Write('Tong cac so chia het cho k la ', Tong);
Readln;
End.
(6) Tổ chức hoạt động


Hoạt động GV

Hoạt động HS

Cho bài tập yêu cầu học sinh hãy - Chú ý nghe giảng.
viết chương trình tính tổng các phần tử của
mảng với điều kiện các phần tử đó phải - Viết chương trình.
chia hết cho 5
- Giải thích u cầu của bài tốn.
- Nghe nhận xét và ghi bài.
- Yêu cầu học sinh lên viết chương trình.
- Nhận xét, bổ sung nếu có sai sót.

12


Tuần 21
Tiết 23
BÀI TẬP và THỰC HÀNH SỐ 3

I. Mục tiêu
1.Kiến thức:
- Củng cố kiến thức kiểu dữ liệu mảng
- Tìm hiểu hàm Random(n) để lấy ngẫu nhiên một số nguyên từ 0 đến N-1
- Biết soạn thảo, biên dịch, thực hiện một chương trình
2.Kỹ năng:
Giải được một số bài tốn cơ bản thường gặp.

Tính tổng, đếm các phần tử mảng thỏa mãn điều kiện


Tìm phần tử lớn nhất, vị trí của phần tử lớn nhất, tìm phần tử trong mảng thỏa
điều kiện
3. Thái độ:
 Học sinh tập trung chú ý, tích cực viết chương trình
 Học sinh ngày càng say mê lập trình
4. Định hướng phát triển năng lực
- Năng lực tự học
- Năng lực giải quyết vấn đề
- Năng lực tính tốn và thực hành tên máy tính: HS sử dụng tốt khả năng thực hành soạn
thảo chương trình trên máy tính (Pascal)
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Giáo án, SGK 11, SGV 11, phòng thực hành
Học sinh: Tập, viết.
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP:
Hoạt động 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh sử dụng máy tính giải các bài toán.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu mảng một chiều để giải
các bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Khi làm việc với mảng một chiều trước tiên - Nghe giảng
chúng ta cần thành thạo các thao tác khai báo,
nhập, xuất mảng. Để làm được điều đó cùng
tìm hiểu và thực hành một số bài tập ở Bài tập
và thực hành số 3 trong SGK.
 HOẠT ĐỘNG 2: Hình thành kiến thức

BÀI 1
(1) Mục tiêu: Giúp học sinh sử dụng máy tính chạy được một số bài tập về mảng
(2) Phương pháp/kĩ thuật dạy học: Thực hành trên máy tính.
(3) Nội dung hoạt động:
Tạo mảng A gồm n (n<=100) số nguyên, mỗi số có giá trị tuyệt đối khơng vượt q 300.
Tính tổng các phần tử của mảng là bội số của một số nguyên dương k cho trước.
a) Tìm hiểu và chạy thử chương trình sau đây:
13


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.
Chú ý: Hàm chuẩn random(n) cho giá trị là số nguyên ngẫu nhiên trong đoạn từ 0 đến n1, còn thủ tục randomize khởi tạo cơ chế sinh số ngẫu nhiên.
(4) Hình thức tổ chức hoạt động: Làm việc cá nhân.
Hoạt động GV
Để viết một chương trình hồn chỉnh có sử dụng mảng:
1. Trước hết ta phải khai báo biến mảng , và các
biến liên quan
2. Nhập mảng, xuất mảng vừa nhập ra màn hình
3. Thực hiện các yêu cầu khác ( nếu có)
4. Xuất kết quả thực hiện
Sửa lỗi cho HS
Hướng dẫn học sinh thực hiện bước 3,4 khi viết chương
trình bằng các câu hỏi gợi ý:
1. Nêu đoạn lệnh tính tổng các phần tử trong mảng
2. Lệnh xuất kết quả tổng
Sử dụng các câu lệnh write để đưa ra màn hình các
thơng báo giúp người sử dụng chương trình biết chương
trình đang thực hiện cơng việc gì.
Nâng cấp chương trình mảng có n phần tử, n nhập từ bp,
giá trị của mỗi phần tử là một số ngẫu nhiên
GV: ta phải sửa lại khai báo biến như sau
Var A:array[1..nmax] of real;
nmax và n có gì khác nhau?
nmax phải là hằng số
thủ tục Randomize khởi tạo cơ chế sinh số ngẫu nhiên,
Hàm Random(n) để lấy ngẫu nhiên một giá trị từ

Hoạt động HS

thực hiện 2 bước đầu tiên,
nhập mảng

hồn chỉnh chương trình
bổ sung câu lệnh (nếu có)

nmax số phần tử tối đa của
mảng, n số phần tử thực tế của
mảng

14


0 đến N-1
Câu lệnh nhập mảng sẽ thay đổi như thế nào?

for i:=1 to n do
A[i]:= random(50); (tạo
số ngẩu nhiên có giá trị từ 0 –
49)
sửa khai báo biến, câu lệnh
nhập trong chương trình và
chạy thử

(5) Phương tiện dạy học: SGK, Projector, máy tính.
(6) Kết quả: Học sinh sử dụng máy tính chạy được một số bài tốn về kiểu mảng một
chiều.
HOẠT ĐỘNG 3: Luyện tập
1) Mục tiêu: giúp học sinh hiểu cách tính tốn với các điều kiện trên mảng
2) Phương pháp/Kỹ thuật: Đàm thoại, vấn đáp

3) Hình thức tổ chức hoạt động: Cả lớp thực hành trên máy
4) Phương tiện tổ chức dạy học: SGK, máy chiếu, máy tính
5) Sản phẩm: HS biết cách tính tốn trên mảng với các điều kiện khác nhau
Viết được chương trình hồn chỉnh với kiểu dữ liệu mảng
6) Nội dung hoạt động: Tạo mảng A gồm n (n<=100) số nguyên, mỗi số có giá trị tuyệt
đối khơng vượt q 300. Tính tích các phần tử của mảng là bội số của một số nguyên
dương k cho trước.
HOẠT ĐỘNG 4: Vận dụng, mở rộng
1) Mục tiêu: giúp học sinh hiểu cách tính tốn với các điều kiện trên mảng
2) Phương pháp/Kỹ thuật: Đàm thoại, vấn đáp
3) Hình thức tổ chức hoạt động: Cả lớp thực hành trên máy
4) Phương tiện tổ chức dạy học: SGK, máy chiếu, máy tính
5) Sản phẩm: HS biết cách tính tốn trên mảng với các điều kiện khác nhau
Viết được chương trình hồn chỉnh với kiểu dữ liệu mảng
6) Nội dung hoạt động: Tạo mảng A gồm n (n<=100) số ngun, mỗi số có giá trị tuyệt
đối khơng vượt quá 300. Tính tích các số lẻ trong mảng vừa nhập.

15


Tuần 21
Tiết 24
BÀI TẬP và THỰC HÀNH SỐ 3 (tt)

I. Mục tiêu
1.Kiến thức:
- Củng cố kiến thức kiểu dữ liệu mảng
- Tìm hiểu hàm Random(n) để lấy ngẫu nhiên một số nguyên từ 0 đến N-1
- Biết soạn thảo, biên dịch, thực hiện một chương trình
2.Kỹ năng:

Giải được một số bài tốn cơ bản thường gặp.

Tính tổng, đếm các phần tử mảng thỏa mãn điều kiện

Tìm phần tử lớn nhất, vị trí của phần tử lớn nhất, tìm phần tử trong mảng thỏa
điều kiện
3. Thái độ:
 Học sinh tập trung chú ý, tích cực viết chương trình
 Học sinh ngày càng say mê lập trình
4. Định hướng phát triển năng lực
- Năng lực tự học
- Năng lực giải quyết vấn đề
- Năng lực tính tốn và thực hành tên máy tính: HS sử dụng tốt khả năng thực hành soạn
thảo chương trình trên máy tính (Pascal)
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Giáo án, SGK 11, SGV 11, phòng thực hành
Học sinh: Tập, viết.
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP:
Hoạt động 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh sử dụng máy tính giải các bài tốn.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu mảng một chiều để giải
các bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Khi làm việc với mảng một chiều trước tiên - Nghe giảng
chúng ta cần thành thạo các thao tác khai báo,
nhập, xuất mảng. Tìm hiểu bài 2 ở Bài tập và

thực hành số 3 trong SGK.
 HOẠT ĐỘNG 2: Hình thành kiến thức
BÀI 2
(1) Mục tiêu: Giúp học sinh sử dụng máy tính chạy được một số bài tập về mảng
(2) Phương pháp/kĩ thuật dạy học: Thực hành trên máy tính.
(3) Nội dung hoạt động:
Viết chương trình tìm phần tử có giá trị lớn nhất của mảng và đưa ra màn hình chỉ số và giá trị
của phần tử tìm được. Nếu có nhiều phần tử có cùng giá trị lớn nhất thì đưa ra phần tử có chỉ số
nhỏ nhất.
a) Hãy tìm hiểu chương trình sau đây:
16


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 so luong phan tu cua day so 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;
write('Chi so : ',j,'Gia tri: ',A[j]:4);
readln
end.
(4) Hình thức tổ chức hoạt động: Làm việc cá nhân.
Hoạt động GV
Hoạt động HS
Gõ chương trình tìm phần tử lớn nhất trong gõ nội dung chương trình vào máy tính và
mảng BT3
thực hiện chương trình
thử chương trình với các bộ dữ liệu sau:

1 2 3 4 5 6 7
3 6 2 7 9 5 1
Thêm biến vt, mỗi khi gán giá trị cho biến
3 9 2 7 9 5 9
max, ta gán giá trị cho biến vt
Tìm vị trí số lớn nhất
Với I thứ nhất vt = 5
Để tìm vị trí số lớn nhất ta phải thêm câu
lệnh nào?
ta có thể khơng dùng biến max với câu lệnh
suy nghĩ sửa lại chương trình
như sau:
Max ở vị trí 1 vt=1
Duyệt từng phần tử của mảng từ vị trí thứ 2
Nếu giá trị của pt thứ i lớn hơn giá trị của
phần tử thứ vt thì gán lại giá trị vt=i
Với I thứ hai có nhiều vị trí lớn nhất

Vị trí lớn nhất đầu tiên:
Tìm vị trí lớn nhất đầu tiên
vt:=1;
For i:=2 to 7 do
1 2 3 4 5 6 7
If
A[i] > A[vt] then vt:=i;
3 9 2 7 9 5 9
If A[i]>A[vt] then vt:=i;
Nếu i=2 vt=2
i=5 vt=2
17


i=7 vt=2
Vậy đã tìm được vị trí lớn nhất đầu tiên
trong dãy
(5) Phương tiện dạy học: SGK, Projector, máy tính.
(6) Kết quả: Học sinh sử dụng máy tính chạy được một số bài toán về kiểu mảng một
chiều.
Hoạt động 3: Luyện tập
1) Mục tiêu: giúp học sinh hiểu cách tính toán với các điều kiện trên mảng
2) Phương pháp/Kỹ thuật: Đàm thoại, vấn đáp
3) Nội dung hoạt động:
Tìm vị trí lớn nhất cuối cùng trong dãy số
4) Tổ chức hoạt động: Thực hành trên máy tính
Hoạt động GV
Tìm vị trí lớn nhất cuối cùng
1
3


2
9

3
2

4
7

5 6
9 5

Hoạt động HS
Suy nghĩ sửa lại chương trình

7
9

If A[i]>A[vt] then vt:=i;
Nếu i=2 vt=2
i=5 vt=2
i=7 vt=2
Để tìm vị trí lớn nhất cuối cùng ta sửa điều
kiện như thế nào?

Vị trí lớn nhất cuối cùng:
vt:=1;
For i:=2 to 7 do
If A[i] >= A[vt] then vt:=i;


5) Phương tiện tổ chức dạy học: SGK, máy chiếu, máy tính
6) Sản phẩm: HS biết cách tính tốn trên mảng với các điều kiện khác nhau
Viết được chương trình hồn chỉnh với kiểu dữ liệu mảng
Hoạt động 4: Vận dụng, mở rộng
1) Mục tiêu: giúp học sinh hiểu cách tính tốn với các điều kiện trên mảng
2) Phương pháp/Kỹ thuật: Đàm thoại, vấn đáp
3) Nội dung hoạt động:
In ra màn hình chỉ số của các phần tử có cùng giá trị lớn nhất
4) Phương tiện tổ chức dạy học: SGK, máy chiếu, máy tính
5) Sản phẩm: HS biết cách tính tốn trên mảng với các điều kiện khác nhau
Viết được chương trình hồn chỉnh với kiểu dữ liệu mảng
6) Hình thức tổ chức hoạt động: Cả lớp thực hành trên máy
Hoạt động GV

Hoạt động HS
Suy nghĩ sửa lại chương trình

In ra màn hình chỉ số của các phần tử có
cùng giá lớn nhất
1. Tìm số lớn nhất
2. Duyệt mảng , so sánh phần tử nào
bằng giá trị lớn nhất thì in ra vị trí
18


Tuần 22
Tiết 25
BÀI TẬP và THỰC HÀNH SỐ 4


I. Mục tiêu
1. Kiến thức:
- Củng cố lại các kiến thức cơ bản khi lập trình với kiểu dữ liệu mảng.
- Làm quen với thuật toán sắp xếp đơn giản trên máy tính.
2. Kỹ năng:
- Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc, kĩ năng diễn đạt thuật tốn bằng chương
trình sử dụng dữ liệ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.
- Tạo mảng dựa vào mảng đã có
- Sắp xếp được mảng tăng dần
3. Thái độ:
 Học sinh tập trung chú ý, tự giác, tích cực, chủ động trong thực hành
 Học sinh ngày càng say mê lập trình
4. Định hướng phát triển năng lực
- Năng lực tự học
- Năng lực giải quyết vấn đề
- Năng lực tính tốn và thực hành tên máy tính: HS sử dụng tốt khả năng thực hành soạn thảo
văn bản trên máy tính (Pascal)
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Giáo án, SGK 11, SGV 11, phòng thực hành
Học sinh: Tập, viết.
III. HOẠT ĐỘNG DẠY VÀ HỌC

HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh sử dụng máy tính giải các bài toán.
(2) Phương pháp/kĩ thuật dạy học: Thuyết trình.
(3) Phương tiện dạy học: SGK.
(4) Sản phẩm: Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu mảng để
giải các bài toán.

Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Khi làm việc với kiểu mảng trước tiên chúng - Nghe giảng
ta cần thành thạo các thao tác khai báo, nhập,
xuất. Để làm được điều đó cả lớp cùng tìm hiểu
và thực hành một số bài tập ở Bài tập và thực
hành số 4 trong SGK.
 HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh sử dụng máy tính chạy được một số bài tập về kiểu mảng
(2) Phương pháp/kĩ thuật dạy học: Thực hành trên máy tính.
(3) Nội dung học :
19


Bài 1. Hãy tìm hiểu và chạy thử chương trình thực hiện thuật toán 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 dưới đây
Program Sap_xep;
Uses crt;
Const nmax=250;
Type arrint=array[1..nmax] of integer;
Var n, i, j, t: integer;
A: arrint;
Begin
Clrscr;
Randomize;
Write('nhap n=');
Readln(n);
For i:=1 to n do A[i]:=random(300) - random (300);
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 sau khi sap xep');
For i:=1 to n do write(A[i]: 7);
Writeln;
Readln;
End.
(4) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(5) Phương tiện dạy học: SGK, Projector, máy tính.
(6) Sản phẩm: Học sinh sử dụng máy tính chạy được một số bài toán về kiểu mảng.
Hoạt động giáo viên
Hoạt động học sinh
(?) Các em hãy cho một số ví dụ về một mảng - Suy nghĩ cho ví dụ.
một chiều có dãy số tăng dần hoặc giảm.
- Nhận xét, như vậy với một dãy số bất kỳ trong
mảng 1 chiều làm sao chúng ta có thể sắp xếp như
vậy. Để hiểu rõ hơn xét bài tập thứ nhất.
- Nghe giảng và ghi bài.
- Hướng dẫn và giải thích chương trình.
Nhập chương trình vào máy tính và thực hiện chạy
chương trình, xem kết quả, nhận xét
- Nghe giảng và thực hành .
 HOẠT ĐỘNG 3: Luyện tập

(1) Mục tiêu: Giúp học sinh sử dụng máy tính chạy được một số bài tập về kiểu mảng
(2) Phương pháp/kĩ thuật dạy học: Thực hành trên máy tính.
(3) Nội dung học:
Dựa vào chương trình ở bài 1. Thực hiện với mảng được nhập từ bàn phím
(4) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(5) Phương tiện dạy học: SGK, Projector, máy tính.
(6) Sản phẩm: Học sinh sử dụng máy tính chạy được một số bài tốn về kiểu mảng.
20


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

Hoạt động học sinh

- Đối với bài tốn như vậy các em sẽ khó hiểu, để
dể hiểu hơn cùng viết chương trình nhập vào mảng - Nghe giảng và chỉnh sửa chương
n phần tử và nhập vào giá trị từng phần tử chứ trình
khơng cho giá trị ngẫu nhiên.
- Yêu cầu học sinh viết chương trình, nhận xét,
chiếu chương trình hồn chỉnh lên máy chiếu, khi
thực thi chương trình nhập từ bước cho học sinh
quan sát.
Chạy chương trình với n=5
Dãy số: 100 20 200 40 10
Xem kết quả hiển thị và nhận xét
 HOẠT ĐỘNG 4: Vận dụng, mở rộng
(1) Mục tiêu: Giúp học sinh sử dụng máy tính chạy được một số bài tập về kiểu mảng
(2) Phương pháp/kĩ thuật dạy học: Thực hành trên máy tính.
(3) Nội dung học:
Viết chương trình nhập vào dãy số ngun và in ra màn hình dãy số khơng tăng

(4) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(5) Phương tiện dạy học: SGK, Projector, máy tính.
(6) Sản phẩm: Học sinh sử dụng máy tính chạy được một số bài toán về kiểu mảng.
Hoạt động giáo viên
Hoạt động học sinh
- Yêu cầu học sinh viết chương trình, nhận xét, Thực hành
chiếu chương trình hồn chỉnh lên máy chiếu, khi
thực thi chương trình nhập từ bước cho học sinh
quan sát.

21


Tuần 22
Tiết 26
§Chủ đề: KIỂU XÂU

I. Mục tiêu
1. Kiến thức, kỹ năng, thái độ
a. 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 tốn liên quan đến xâu
b. Về kỹ năng:
-Khai báo được biến kiểu xâu trong ngơn ngữ lập trình Pascal.
-Sử dụng biến xâu và các phép toán trên xâu để giải quyết một bài toán đơn giản.
c. Về thái độ:
-Học sinh hiểu bài, hứng thú với bài học
-Tác phong khoa học

-Rèn luyện đức tính cẩn thận và thẩm mỹ trong soạn thảo văn bản.
2. Năng lực định hướng hình thành năng lực cho học sinh
-Năng lực giải quyết vấn đề thông qua việc trao đổi, thảo luận, lựa chọn giải pháp
-Năng lực tự học, đọc hiểu và giải quyết vấn đề theo giải pháp đã lựa chọn
-Năng lực làm việc cộng tác
-Năng lực trình bày
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
-Giáo viên: SGK, SGV, giáo án
-Học sinh: (Học liệu) SGK, SBT, vở ghi, ….
III. HOẠT ĐỘNG DẠY HỌC
Hoạt động 1: Hoạt động khởi động
a. Mục tiêu: Học sinh thấy được sự cần thiết của việc sử dụng kiểu xâu để lập trình
b. Phương pháp/ kỹ thuật dạy học: Cá nhân, thảo luận nhóm
c. Phương tiện dạy học: SGK, máy chiếu, máy vi tính
Nội dung hoạt động: 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.
d. Sản phẩm: HS thấy được nhu cầu việc sử dụng kiểu xâu để lập trình.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
Y/c hs nêu hng gii quyt cho bi toỏn
a ra các phơng án ®Ĩ
Nếu bài tốn u cầu nhập vào họ tên của 5 học giải quyết vấn đề
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.
Hoạt động 2. HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC
* Các khái niệm
a. Mục tiêu: Hs biết được khái niệm kiểu xâu
b. Phương pháp/ kỹ thuật dạy học: Cá nhân
c. Phương tiện dạy học: SGK
d. Nội dung hoạt động:


22


Khái niệm về xâu: Xâu là dãy các kí tự trong bộ mã ASCII, mỗi kí tự được gọi là một
phần tử của xâu. Số lượng kí tự của xâu đgl độ dài xâu, xâu có độ dài bằng 0 đgl xâu
rỗng
Ví dụ:
+ ' Tin hoc' → Xâu có độ dài bằng 7
+ ‘2021’ → Xâu có độ dài bằng 4
+ ' ' → Là xâu rỗng
- Có thể xem xâu là mảng 1 chiều mà mỗi phần tử là một kí tự.
- Cách thức cho phép xác định:
+ Tên kiểu xâu.
+ Cách khai báo biến kiểu xâu.
+ Số lượng các kí tự của xâu.
+ Các phép tốn thao tác với xâu như: Ghép, so sánh, chèn…
+ Cách tham chiếu đến phần tử của xâu (Tên xâu[chỉ số]).
- Chỉ số phần tử được đánh theo số thứ tự của kí tự trong xâu, tính từ trái bắt đầu bằng 1.
- Tham chiếu đến 1 phần tử của xâu: Tên biến xâu [chỉ số]
+ Giả sử biên xâu hoten lưu trữ giá trị hằng xâu 'Le Thu Ha' muốn tham chiếu tới kí tự 'T'
→ hoten[4]
e. Sản phẩm: Học sinh có biết được khái niệm kiểu xâu
Tổ chức hoạt động
Hoạt động giáo viên
Hoạt động học sinh
?) Các em hãy cho một vài ví dụ về dãy kí - Suy nghĩ trả lời:
tự nào đó?
Ví dụ: ‘Tin hoc’
(?) Các em hãy tham khảo sách giáo khoa ‘2021’

và cho biết khái niệm xâu?
- Trả lời: Là dãy kí tự trong bảng mã
- Nhận xét và nhắc lại khái niệm.
ASCII, mỗi kí tự là một phần tử, được đặt
(?) Các em hãy cho biết độ dài của 2 ví dụ trong hai dấu nháy đơn ‘’.
vừa nêu?
- Ghi bài.
- Qua đó giải thích cho học sinh biết thế - Trả lời:
nào là độ dài của xâu.
+ Xâu 1: Độ dài: 7.
(?) Có tồn tại xâu nào khơng chứa bất kì kí + Xâu 2: Độ dài: 4.
tự nào không?
- Nghe giảng và ghi bài.
- Nhận xét, hướng dẫn cách biểu diễn xâu
rỗng.
- Trả lời: có, gọi là xâu rỗng.
- Nghe giảng.
- Tương tự mảng 1 chiều chúng ta có các
quy tắc xác định thì kiểu xâu cũng vậy.
- Ghi các quy tắc xác định một xâu.
+ Giả sử biến xâu hoten lưu giá trị hoten[4]
hằng xâu 'Le Thu Ha' muốn tham chiếu đến
kí tự 'T' thì viết ntn?
1. Khai báo
a. Mục tiêu: Hs biết được cách khai báo biến kiểu xâu
b. Phương pháp/ kỹ thuật dạy học: Cá nhân
c. Phương tiện dạy học: SGK
d. Nội dung hoạt động:
Khai báo biến xâu
Var <Tên biến xâu>: string[n];

Trong đó: n là độ dài lớn nhất của xâu,
1<=n <=255
23


Ví dụ 1: Var hoten: String[25];
Ví dụ 2: Var st1, st2: String;
Chú ý: - Khi khai báo xâu có thể bỏ qua phần khai báo [độ dài lớn nhất], khi đó độ
dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255
e. Tổ chức hoạt động:
Hoạt động của giáo viên
Hoạt động của học
sinh
- Giới thiệu về cách khai báo biến xâu trong ngơn ngữ lập trình - Nghe giảng và ghi
Pascal, giải thích ý nghĩa của từ String, [n] cho học sinh hiểu bài.
String là tên kiểu xâu [n] là giá trị qui định số lượng kí tự tối đa
mà biến xâu có thể chứa.
- Trả lời: Số lượng kí
(?) Các em hãy cho biết khi khai báo khơng có [n] thì số lượng tự tối đa là 255.
kí tự tối đa cho phép là bao nhiêu?
- Cho ví dụ giúp học sinh hiểu rõ cách khai báo kiểu xâu.
- Chú ý quan sát, ghi
bài.
2.Các thao tác xử lý xâu
a. Mục tiêu: Hs biết phép ghép xâu, qui tắc so sánh 2 xâu
b. Phương pháp/ kỹ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích
c. Phương tiện dạy học: SGK
d. Nội dung hoạt động:
a/ Phép ghép xâu
Sử dụng kí hiệu ' + ' để ghép nhiều xâu thành một xâu

Ví dụ:
1. ‘Hai' + ' ' + ' Phong'→ ' Hai Phong'
2. hoten + 'hoc sinh trương THPT NTM’ → 'Nguyen Lan Anh hoc sinh truong THPT NTM'
b/ Các phép so sánh xâu
Sử dụng kí hiệu =, <>, <=, >=, > < để so sánh xâu
Quy ước
1. Phép so sánh có thứ tự ưu tiên thấp hơn phép ghép xâu.
2.Xâu A=B nếu 2 xâu giống hệt nhau.
3. Xâu A>B nếu kí tự khác nhau đầu tiên giữa chúng kể từ trái sang trong xâu A có mã
ASCII lớn hơn.
4. Xâu A là đoạn đầu của xâu B thì xâu AVí dụ:
1. 'Tin' + 'học' = 'Tin hoc'
2. ' Ha Noi' > ' Ha Nam'
3. 'Xau' < ' Xau ki tư'
Tổ chức hoạt động
Hoạt động của giáo viên
(?) Làm thế nào để ghép hai hay nhiều xâu lại với
nhau?
Đưa ra phương pháp ghép xâu sau đó đưa ra 2
trường hợp làm VD
1. ‘Hai' + ' ' + ' Phong'
2. hoten + 'hoc sinh trương THPT NTM' giả sử biến
xâu hơten lưu giữ hằng xâu 'Nguyen Lan Anh'

Hoạt động của học sinh
Trả lời: dấu cộng (+).

thảo luận nhóm và trả lời
thảo luận nhóm và trả lời

- Trả lời: Các phép so sánh: =,
<>, <, >, <=, >=.
- Tham khảo sách giáo khoa trả
lời: (A>B) Nếu xâu B là đoạn
(?) Các em hãy cho biết để so sánh, có các phép đầu của xâu A.
24


tốn so sánh nào?
+ (A>B) Nếu kí tự đầu tiên khác
(?) Cho 2 xâu A và B, khi nào thì xâu A được coi là nhau giữa chúng kể từ trái sang
lớn hơn xâu B?
trong xâu A có mã ASCII lớn
hơn;
Nhận xét và phân tích, cho ví dụ.
+ (A=B) Nếu chúng giống nhau
Ví dụ:
hồn tồn giống nhau.
1. 'Tin' + 'học' 'Tin hoc'
- Ghi bài.
2. ' Ha Noi' ' Ha Nam'
3. 'Xau' ' Xau ki tư'
Hoạt động 3. Hoạt động luyện tập:
Hoạt động 3. Trả lời các câu hỏi trắc nghiệm: ( phút)
a.
Mục tiêu: Giúp học sinh cũng cố các kiến thức về kiểu xâu
b.
Phương pháp/ kỹ thuật dạy học: Cá nhân, nhóm máy.
c.
Hình thức tổ chức hoạt động: Thực hành trên máy vi tính

d.
Phương tiện dạy học: SGK, Projector, máy vi tính, phần mềm Netop School.
e.
Sản phẩm: Học sinh trả lời được các câu hỏi trắc nghiệm
Nội dung hoạt động
Câu 1: Độ dài tối đa của xâu kí tự trong Pascal là:
A. 255
B. 256
C. 0
D. Không giới hạn
Câu 2: Xâu kí tự có độ dài bằng 0 gọi là:
A. Khơng tồn tại
B. Xâu rỗng
C. Chứa kí tự 0
D. Xâu ngắn
Câu 3: Tham chiếu đến phần tử của xâu được xác định bởi:
A. Tên biến xâu và chỉ số đặt trong cặp ngoặc ( và )
B. Tên biến xâu và chỉ số đặt trong cặp ngoặc [ và ]
C. Tên biến xâu và chỉ số đặt trong cặp ngoặc { và }
D. Tên biến xâu và chỉ số đặt trong cặp ngoặc “ và ”
Hoạt động 4. HOẠT ĐỘNG TÌM TỊI, MỞ RỘNG:
a. Mục tiêu: Giúp cho học sinh tự tìm hiểu bài trước để nắm bắt kiến thức tiết sau tốt
hơn.
b. Phương pháp/ kỹ thuật dạy học: Cá nhân
c. Hình thức tổ chức hoạt động: giao bài về nhà nghiên cứu.
d. Phương tiện dạy học: SGK
e. Sản phẩm: Học sinh nắm được chủ ý của bài tiếp theo
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh

Nội dung
Yêu cầu học sinh tìm hiểu Ghi lại yêu cầu của giáo
tiếp bài “kiểu xâu”
viên, về nhà xem sgk để
chuẩn bị cho tiết tiếp theo

25


×