Giaó án tin học 11 tiết 19. chủ đề kiểu mảng 1 chiều (7 tiết), chủ đề kiểu xâu (8 tiết) chương 5 tệp và thao tác với tệp (3 tiết) đến tiết 40 ôn tập theo ppct phổ thông mới gồm 4 hoạt động: Hoạt động 1: Khởi động. Hoạt động 2: Hình thành kiến thức. Hoạt động 3: Luyện tâp. Hoạt động 4: Vận dụng, mở rộng
Trang 122 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 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
24 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 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
Để 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ố)
Trang 2 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
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 toán có nhiều giá trị input mà có cùng một kiểu dữ liệu.
- 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 toá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
- 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;
- Trả lời: phải khai báo từ t1 t365
Hoạt động 2: Hình thành kiến thức mới
1 Kiểu mảng 1 chiều
Trang 3(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ảngmộ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: 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ệuchuẩn)
- Kiểu chỉ số: thường là một đoạn số nguyên liên tục dạng n1 n2 vớin1,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;
Trang 4(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
(?) Các em hãy tham khảo sách giáo và cho biết khi làm
việc với mảng 1 chiều cần xác định những gì?
- Nhận xét
- Cho ví dụ để học sinh hiểu rõ hơn về mảng 1 chiều
(?) Với mảng một chiều vừa cho ta xác định được gì?
- Đối với các biến trong NNLT khi sử dụng thì bắt buộc
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.
- Đố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
- Giải thích ví dụ rõ để học sinh phân biệt tên kiểu mả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
- Nhận xét, chỉnh sửa nếu có sai sót
- 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?
cho ví dụ
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
- Ghi mục bài
- Nghe giảng và ghi bài
- Nghe giảng và ghi bài
Trang 5viết trong cặp ngoặc vuô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);
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
Trang 6(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.
(?) Khi ta đã khai báo được mảng một chiều, lúc đó ta đã
xác định được những gì của mảng đó?
- Nhận xét
(?) Giá trị của từng phần tử mảng đã xác định được chưa,
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
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;
+ Chúng ta sẽ nhập giá trị cho các phần tử theo thứ tự từ 1
đến hết Giả sử ta sẽ nhập giá trị cho mảng A có 5 phần tử
- 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
- Suy nghĩ trả lời: xác địnhđược tên mảng, số lượngphần tử tối đa của mảng,kiểu dữ liệu của mảng
Trang 7 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ố
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ậptheo 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 toán của bài toá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âulệnh cho biến max nhận phần tử đầu tiên?
Trang 84 Đã 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;
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
- Nếu ai > Max thì Max ai;
- i i + 1 rồi quay lại B3
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:
Trang 9Hoạ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
input, output
- Nhận xét
- Các em chú ý thuật toán trong sách giáo khoa
- Sau khi hiểu thuật toán có thể giải thích các bước viết
chương trình hoàn chỉnh
Yêu cầu học sinh về đọc các ví dụ sách giáo khoa
- Dựa vào SGK suy nghỉ trả lời
- Chú ý lắng nghe và ghi lại bài
- Chú ý quan sát
- Chú ý quan sát cách viếtchương trình và viết chươngtrình vào tập
(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
Trang 10 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)
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ừanhậ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 hoà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.
Trang 11For 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
(?) Các em hãy xác định Input và Output
của bài toán
- Nhận xét, hướng dẫn cho học sinh cách
- Nhận xét, bổ sung nếu có sai sót
Suy nghĩ và thực hiện theo yêu cầucủa giáo viên
- Chú ý quan sát và thực hành
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ổngcá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;
Trang 12If (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
Cho bài tập yêu cầu học sinh hãy
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
chia hết cho 5
- Giải thích yêu cầu của bài toán
- 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
- Chú ý nghe giảng
- Viết chương trình
- Nghe nhận xét và ghi bài
Trang 13- 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 toá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 toá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ạnthả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ảicác bài toán
Nội dung hoạt động
- Khi làm việc với mảng một chiều trước tiên
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
- Nghe giảng
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 quá 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:
Trang 14for i:=1 to n do A[i]:=random(301)-random(301);
for i:=1 to n do write(A[i]:5);
Chú ý: 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, 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
Để viết một chương trình hoà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ừ
thực hiện 2 bước đầu tiên, nhập mảng
hoà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ủamảng
Trang 150 đế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 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) 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 toán trên mảng với các điều kiện khác nhau
Viết được chương trình hoà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 quá 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 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) 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 toán trên mảng với các điều kiện khác nhau
Viết được chương trình hoà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 quá 300 Tính tích các số lẻ trong mảng vừa nhập
Trang 16- 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 toá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 toá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ạnthả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ảicác bài toán
Nội dung hoạt động
- Khi làm việc với mảng một chiều trước tiên
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
- Nghe giảng
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:
Trang 17Nế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
Trang 18i=7 vt=2Vậ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
Để tìm vị trí lớn nhất cuối cùng ta sửa điều
kiện như thế nào?
Suy nghĩ sửa lại chương trình
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 toán trên mảng với các điều kiện khác nhau
Viết được chương trình hoà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 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:
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 toán trên mảng với các điều kiện khác nhau
Viết được chương trình hoàn chỉnh với kiểu dữ liệu mảng6) Hình thức tổ chức hoạt động: Cả lớp thực hành trên máy
Trang 19- 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
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 toá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ảovă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
- Khi làm việc với kiểu mảng trước tiên chú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
Trang 20Bà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
For i:=1 to n do A[i]:=random(300) - random (300);
For i:=1 to n do write(A[i]: 5);
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
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
- 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
- Suy nghĩ cho ví dụ
- Nghe giảng và ghi bài
- 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 toán về kiểu mảng
Trang 21Hoạt động giáo viên Hoạt động học sinh
- Đối với bài toá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
n phần tử và nhập vào giá trị từng phần tử chứ
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 hoà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
- Nghe giảng và chỉnh sửa chươngtrình
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ố nguyên 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,
chiếu chương trình hoà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
Thực hành
Trang 22-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
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 hướng giải quyết cho bài toỏn
Nếu bài toỏn yờ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
đa ra các phơng án đểgiải quyết vấn đề
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:
Trang 23Khá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âurỗng
+ 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 toá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
?) Các em hãy cho một vài ví dụ về dãy kí
tự nào đó?
(?) Các em hãy tham khảo sách giáo khoa
và cho biết khái niệm xâu?
- Nhận xét và nhắc lại khái niệm
(?) Các em hãy cho biết độ dài của 2 ví dụ
vừa nêu?
- Qua đó giải thích cho học sinh biết thế
nào là độ dài của xâu
(?) Có tồn tại xâu nào không chứa bất kì kí
tự nào không?
- Nhận xét, hướng dẫn cách biểu diễn xâu
rỗ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
+ Giả sử biến xâu hoten lưu giá trịhằng xâu 'Le Thu Ha' muốn tham chiếu đến
- Ghi bài
- Trả lời:
+ Xâu 1: Độ dài: 7
+ Xâu 2: Độ dài: 4
- Nghe giảng và ghi bài
- Trả lời: có, gọi là xâu rỗng
- Nghe giảng
- Ghi các quy tắc xác định một xâu
hoten[4]
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
Trang 24Ví 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:
sinh
- Giới thiệu về cách khai báo biến xâu trong ngôn ngữ lập trình
Pascal, giải thích ý nghĩa của từ String, [n] cho học sinh hiểu
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
(?) Các em hãy cho biết khi khai báo không có [n] thì số lượng
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
- Nghe giảng và ghibài
- Trả lời: Số lượng kí
tự tối đa là 255
- Chú ý quan sát, ghibà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 A<B
Hoạt động của giáo viên Hoạt động của học sinh
(?) 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'
(?) Các em hãy cho biết để so sánh, có các phép
Trang 253 'Xau' ' Xau ki tư'
+ (A>B) Nếu kí tự đầu tiên khácnhau giữa chúng kể từ trái sangtrong xâu A có mã ASCII lớnhơn;
+ (A=B) Nếu chúng giống nhauhoàn toàn giống nhau
- Ghi bài
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à:
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
tiếp bài “kiểu xâu” Ghi lại yêu cầu của giáoviên, về nhà xem sgk để
chuẩn bị cho tiết tiếp theo
Trang 26TUẦN 23 Tiết: 27
§12: KIỂU XÂU (tt)
1 Kiến thức, kĩ năng, thái độ
Học sinh biết được cú pháp, ý nghĩa một số thủ tục và hàm chuẩn để xử lí xâu trong ngôn ngữ lập trình Pascal
Học sinh sử dụng được một số thủ tục và hàm chuẩn để xử lí xâu
Học sinh có thể cài đặt một số chương trình pascal đơn giản liên quan đến xử lí xâu
Học sinh hứng thú với bài học
Rèn luyện khả năng tư duy trong lập trình
2 Năng lực được củng cố và phát triển cho học sinh
Năng lực làm việc nhóm, giải quyết vấn đề
Năng lực trình bày
Năng lực tự học
II PHƯƠNG PHÁP, KĨ THUẬT DẠY HỌC VÀ THIẾT BỊ, PHƯƠNG TIỆN DẠY HỌC
1 Phương pháp dạy học: Thuyết trình, vấn đáp, làm việc nhóm, phát hiện và giải quyết
vấn đề
2 Kĩ thuật dạy học: Vấn đáp, tìm tòi, phát hiện và giải quyết vấn đề
3 Chuẩn bị của GV: Giáo án word, giáo án tương tác, SGK, máy chiếu, máy vi tính, bảng
tương tác, phần mềm pascal, chương trình minh họa
4 Chuẩn bị của HS: SGK, vở ghi
III TIẾN TRÌNH DẠY HỌC:
A TIẾN TRÌNH HỌC:
Hoạt động 1: Khởi động (Kiểm tra bài cũ và gợi động cơ vào bài học) (10 phút)
Hoạt động 2: Hình thành kiến thức mới (25 phút)
Hoạt động 1: Khởi động (Kiểm tra bài cũ và gợi động cơ vào bài học)
• Mục tiêu: Củng cố kiến thức đã học ở bài 12 tiết 1, gợi động cơ vào học tiếp bài 12
• Phương pháp: Làm việc theo nhóm
• Nội dung hoạt động
Câu 1: Xác định độ dài của xâu s:= ‘10_ki_tu’;
Câu 2: Cú pháp khai báo biến xâu:
A var <tên biến> = string [độ dài lớn nhất của xâu];
Trang 27B var <tên biến> : string [độ dài lớn nhất của xâu]
C var <tên biến> := string [độ dài lớn nhất của xâu];
D var <tên biến> : string [độ dài lớn nhất của xâu];
Câu 3: Trong mô tả xâu có thể bỏ qua phần khai báo độ dài, khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là:
A s1>s2 B s1=s2 C s1>= s2 D s1 < s2Câu 9: Chúc mừng đội nào chọn đúng câu này được thưởng +2 điểm
• Tổ chức hoạt động
Bước 1: Củng cố kiến thức
Giáo viên chia lớp thành 4 đội Mỗi đội sẽ lần lượt chọn 1 hình ảnh và cả 4 đội đều trả lờicâu hỏi tương ứng với hình ảnh đã chọn
+ Đội chọn hình ảnh và trả lời đúng được +2 điểm, sai bị trừ -1 điểm
+ Các đội còn lại trả lời đúng được +1 điểm, sai bị trừ -0 điểm
Mỗi đội sẽ có 2 lượt lựa chọn hình ảnh
Giáo viên sẽ tổng kết và khen thưởng đội ghi được nhiều điểm nhất
Bước 2: Gợi động cơ
Để xác định độ dài của xâu (câu 1) thì NNLT pascal sẽ cung cấp hàm length
Để chèn vào 1 xâu (câu 8) thì NNLT pascal sẽ cung cấp thủ tục insert
-> Giáo viên dẫn vào bài học
• Sản phẩm: Các câu trả lời của các nhóm học sinh.
• Phương án đánh giá: Mức độ chính xác của câu trả lời mà nhóm đưa ra.
Hoạt động 2: Hình thành kiến thức mới
• Kĩ thuật: Giao nhiệm vụ, học sinh thực hiện nhiệm vụ, tổng kết, đánh giá
• Nội dung hoạt động:
Trang 28Chú ý nghe giảng, ghi bài
- Giáo viên lần lượt kéo thả từng câu a, b, c,
d trong ví dụ áp dụng qua bên phải để hiển
thị xâu kết quả tương ứng
- Nhận xét kết quả làm bài của HS
- Dẫn dắt vào thủ tục insert
Điền vào chỗ trống để được xâukết quả tương ứng
• Sản phẩm: HS biết ý nghĩa và cách sử dụng thủ tục delete, hoàn thành ví dụ áp dụng.
• Phương án đánh giá: Mức độ chính xác của câu trả lời mà học sinh đưa ra
Thủ tục insert (s1, s2, vt);
• Mục tiêu: Biết ý nghĩa thủ tục insert, cách sử dụng thủ tục insert, cách viết chương trình
pascal đơn giản có sử dụng thủ tục insert
• Phương pháp: Quan sát video và vấn đáp
• Nội dung hoạt động:
Thủ tục insert (s1, s2, vt);
Ý nghĩa: Thực hiện chèn xâu s1 vào xâu s2 bắt đầu từ vị trí vt
thị ra màn hình
1/ Biến xâu s1 có giá trị là?
2/ Biến xâu s2 có giá trị là?
hocTinhoc_11
• Tổ chức hoạt động
Trang 29- Mở video và yêu cầu học sinh trả
lời các câu hỏi đã cho Xem video và trả lời các câu hỏi tương ứng
- Cho biết kết quả hiển thị ra màn
hình sau khi thực hiện các câu lệnh
• Mục tiêu: Biết ý nghĩa hàm copy, phân biệt được sự khác nhau giữa việc sử dụng thủ tục
và hàm trong chương trình, cách sử dụng hàm copy trong chương trình
• Phương pháp: Thuyết trình, vấn đáp, gợi mở
• Nội dung hoạt động:
Hàm copy(s, vt, n)
Ý nghĩa: Tạo xâu gồm n kí tự liên tiếp bắt đầu từ vị trí vt của xâu s
Ví dụ: Cho xâu s:= ‘TINHOC11’;
Cho biết kết quả xâu s2 sau khi thực hiện các câu lệnh a/ b/ c/
• Tổ chức hoạt động
- Nêu ý nghĩa hàm copy Nghe giảng, ghi bài
- Yêu cầu học sinh kéo các ngôi sao
đặt vào đúng vị trí để được kết quả
xâu s2 tương ứng với các câu lệnh
Thực hiện nối cột bằng cách kéo các dấu sao đặt vào đúng vị trí KQ xâu s2
• Sản phẩm: Hoàn thành việc nối cột để được kết quả tương ứng của các câu lệnh a, b, c
Trang 30• Tổ chức hoạt động
- Nêu ý nghĩa hàm length(s) Nghe giảng, ghi bài
- Lần lượt cho hiển thị Ví dụ 1, ví
dụ 2 và yêu cầu học sinh xác định
giá trị của L trong từng ví dụ
a/ vitri := pos (‘NGUYEN’, s); vitri = ?
b/ vitri := pos (‘N’, s); vitri = ?
• Tổ chức hoạt động
- Nêu ý nghĩa hàm pos (s1, s2) Nghe giảng, ghi bài
- Kéo màn che, hiển thị ví dụ và
yêu cầu học sinh xác định giá trị
vitri =?
- Trong quá trình viết chương trình,
khai báo biến vitri như thế nào?
Xác định giá trị vitri = ? trong câu a, câu bSuy nghĩ và trả lời
• Sản phẩm: Học sinh xác định đúng giá trị vitri trong ví dụ
- Nêu ý nghĩa hàm upcase(ch) Nghe giảng, ghi bài
- Kéo khung màn che xuống để
hiển thị lần lượt từng câu lệnh {1},
Trang 31• Nội dung hoạt động: Kéo thả các câu lệnh đã cho đặt vào đúng vị trí {1}, {2}, {3}, {4},
{5}, {6}, {7} để được kết quả là xâu tương ứng phía dưới
• Tổ chức hoạt động: Giáo viên yêu cầu từng học sinh lên thực hiện: Kéo thả các câu lệnh
đặt vào đúng vị trí {1}, {2}, {3}, {4}, {5}, {6}, {7} để được kết quả là xâu tương ứng phía dưới
• Sản phẩm: Các câu lệnh được đặt vào đúng vị trí theo yêu cầu
• Phương án đánh giá: Mức độ chính xác của sự lựa chọn của học sinh
Hoạt động 4: Vận dụng - mở rộng
• Mục tiêu: Học sinh viết được chương trình pascal đơn giản có sử dụng các thủ tục hoặc
hàm đã được học
• Phương pháp: Làm việc nhóm
• Nội dung hoạt động:
Viết chương trình nhập vào 1 xâu, đưa ra màn hình xâu in hoa của xâu vừa nhập
• Tổ chức hoạt động:
- Yêu cầu học sinh trình bày ý
tưởng để giải bài toán, nêu thuật
Các nhóm thực hiện viết chương trình
• Sản phẩm: Chương trình pascal đơn giản
Hoạt động 5: Hướng dẫn học ở nhà (3 phút)