Giới thiệu quý thầy cô bài giáo án chủ đề kiểu xâu của chương trình lớp 11 bài 12 môn Tin học. Mời quý thầy cô tham khảo và áp dụng vào chương trình giảng dạy sắp tới!
CHỦ ĐỀ. KIỂU XÂU
Số tiết: 6
Ngày soạn: 05/01/2019
Tiết theo phân phối chương trình: 31, 32, 33, 34, 35, 36
Tuần dạy: 26, 27, 28
I. Nội dung chủ đề
II. Mục tiêu:
1. Kiến thức:
- Biết xâu là một dãy kí tự (có thể coi xâu là mảng một chiều).
- Biết cách khai báo xâu, truy cập phần tử của xâu.
- Biết một số hàm và thủ tục thông dụng về xâu.
2. 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 một số thủ tục, hàm thông dụng về xâu.
- Bước đầu nhận biết và sử dụng một số hàm và thủ tục để giải một số bài tập đơn giản liên quan đến xâu.
- Vận dụng được các kiến thức về xâu để viết chương trình
3. Thái độ:
- Góp phần rèn luyện tác phong, tư duy lập trình
- Tự giác, tích cực, chủ động trong thực hành.
4. Định hướng năng lực hình thành:
- NLb: Năng lực hiểu biết và ứng xử phù hợp chuẩn mực đạo đức, văn hoá và pháp luật trong xã hội thông tin và nền kinh tế tri thức.
- NLd: Năng lực học tập, tự học với sự hỗ trợ của các hệ thống ứng dụng công nghệ thông tin và truyền thông.
- NLe: Năng lực giao tiếp, hoà nhập, hợp tác phù hợp với thời đại thông tin và nền kinh tế tri thức.
III. Xác định và mô tả các mức độ yêu cầu
Nội dung |
Nhận biết |
Thông hiểu |
Vận dụng |
Vận dung cao |
Định nghĩa xâu |
Hiểu các khái niệm về xâu |
|
|
|
Khai báo xâu |
|
Biết cách khai báo xâu |
Sử dụng được dữ liệu kiểu xâu |
|
Các thao tác xử lí xâu |
|
Biết các thao tác xử lí xâu |
Sử dụng được các hàm và thủ tục; phép ghép xâu, so sánh xâu |
|
Một số ví dụ
|
|
Hiểu được các chương trình có sẵn |
Viết được một số chương trình có sử dụng xâu |
Lạp trình được các chương trình phức tạp hơn |
IV. Biên soạn các câu hỏi/bài tập
Trắc nghiệm
Câu 1: Trong ngôn ngữ lập trình Pascal cách khai báo xâu ký tự nào sau đây là đúng:
A. Var S: file of String;
B. Var S: array[1…9] of char;
C. Var S: String;
D. Var S: Strings[255];
Câu 2: Trong ngôn ngữ lập trình Pascal sau khi thực hiện đoạn chương trình sau, giá trị của biến S là:
S:=’Ha Noi’; Delete(S,4,3); Insert(‘ Noi’,S,3);
A. Ha ;
B. Noi;
C. Noi Ha;
D. HaNoi
Tự luận
Câu 3: Cho đoạn chương trình sau:
Var kt, a: string; b, c: byte; d: char;
Begin
kt:=‘Xuan Mau Ty’; a:=copy(kt, 6, 3); b:=length(kt); c:=pos(‘a’, kt);
d:=upcase(kt[3]);
End.
Hãy xác định giá trị của các biến a, b, c, d sau khi thực hiện xong đoạn chương trình trên?
V. Chuẩn bị của giáo viên và học sinh
1. Chuẩn bị của giáo viên:
- Giáo án, sách giáo khoa, sách giáo viên.
2. Chuẩn bị của học sinh:
- Sách giáo khoa, thuộc bài cũ, đọc bài trước.
VI. Tổ chức các hoạt động học tập
1. Ổn định lớp: Kiểm tra sỉ số
2. Kiểm tra bài cũ
Viết chương trình nhập vào 2 số bất kỳ, tính trung bình cộng 2 số trên
uses crt;
var a,b:integer;
begin
clrscr;
write('nhap vao 2 so: ');
readln(a,b);
writeln('trung binh la: ',((a+b)/2):6:1);
readln
end.
3. Thiết kế tiến trình dạy học
3.1. Hoạt động khởi động
Viết chương trình nhập vào họ tên và điểm 2 môn của 1 học sinh. Tính trung bình cộng của 2 môn.
- Mục tiêu: Gợi động cơ học
- Phương thức:
- Sản phẩm mong đợi/Gợi ý sản phẩm: HS viết được chương trình nhưng không thể in họ tên ra màn hình.
- Giáo viên nhận xét, dẫn dắt vào bài mới:
Với kiểu dữ liệu đã được học thì chưa có kiểu nào lưu được cả họ và tên của một học sinh. Vì vậy, với bài học hôm nay ta sẽ nghiên cứu kiểu dữ liệu mới có thể lưu được nhiều chuỗi kí tự hơn đó là kiểu xâu.
3.2. Hoạt động hình thành kiến thức
Hoạt động 1: Tìm hiểu định nghĩa xâu
- Mục tiêu: Hiểu các khái niệm về xâu
- Phương thức:
+ Đàm thoại, nêu vấn đề, phát vấn, gợi mở…
+ Hoạt động cá nhân
- Sản phẩm mong đợi/Gợi ý sản phẩm: hoàn thiện các kiến thức về xâu
- Nhận xét, đánh giá sản phẩm, hoạt động:
……………………………………………………………………………….
Các bước của hoạt động:
Hoạt động của giáo viên |
Hoạt động của HS |
Nội dung chính |
Bước 1: Tổ chức hoạt động và giao nhiệm vụ cho học sinh: yêu cầu HS tìm hiểu - Các khái niệm về xâu - Để sử dụng được kiểu xâu ta phải xác định những gì? - Cách tham chiều tới từng phần tử xâu? Cho ví dụ
Bước 4: Nhận xét, đánh giá hoạt động, sản phẩm của HS - Lưu ý: kí tự trắng cũng tính một kí tự, xâu rỗng đặt trong cặp ‘’.
|
Bước 2: Tiếp nhận và thực hiện nhiệm vụ được giao
Bước 3: trao đổi, thảo luận, báo cáo tại lớp
|
Một số khái niệm về xâu: - Xâu là một dãy các kí tự trong bảng mã ASCII. - Mỗi kí tự gọi là một phần tử, số lượng kí tự trong xâu gọi là độ dài của xâu. - Xâu có độ dài bằng 0 gọi là xâu rỗng. - Kí tự của xâu được đánh số thứ tự, thường bắt đầu từ 1. * Để sử dụng được xâu, ta phải xác định: - Tên kiểu xâu; - Cách khai báo kiểu xâu; - Số lượng kí tự của xâu; - Các phép toán thao tác với xâu; - Cách tham chiếu tới phần tử của xâu. * Tham chiếu tới từng kí tự trong xâu: được xác định thông qua chỉ số của phần tử trong xâu đặt trong cặp ngoặc [ và ].
|
Hoạt động 2: Tìm hiểu cách khai báo xâu
- Mục tiêu: Biết cách khai báo kiểu dữ liệu xâu
- Phương thức:
+ Đàm thoại, nêu vấn đề, phát vấn, gợi mở…
+ Hoạt động cá nhân
- Sản phẩm mong đợi/Gợi ý sản phẩm: HS biết cách khai báo xâu
- Nhận xét, đánh giá sản phẩm, hoạt động:
……………………………………………………………………………….
Các bước của hoạt động:
Hoạt động của giáo viên |
Hoạt động của học sinh |
Nội dung chính |
Bước 1: HS trả lời các câu hỏi sau: - Kiểu dữ liệu xâu là gì? - Cú pháp khai báo biến xâu? - Var, string là gì? - Tên biến do ai đặt? - Độ dài lớn nhất của xâu là gì?
Bước 4: Nhận xét, đánh giá hoạt động, sản phẩm của HS - Lưu ý: Hằng xâu kí tự được đặt trong cặp nháy đơn ‘’.
|
Bước 2: suy nghĩ, trả lời
Bước 3: trao đổi, thảo luận, trả lời
|
Các khai báo Var <tên_biến>: String [Độ dài lớn nhất của xâu]; Hoặc Var <tên_biến>: String ; Trong đó: - Var, String: là từ khóa (tên dành riêng) - Tên biến: là tên do người lập trình đặt - Độ dài lớn nhất của xâu: là số lượng các ký tự chứa trong xâu, nếu không ghi độ dài lớn nhất thì ngầm định xâu có 255 ký tự |
Hoạt động 3: Tìm hiểu các thao tác xử lí xâu
- Mục tiêu:
+ Thực hiện được phép so sánh, ghép xâu
+ Sử dụng được hàm và thủ tục trong xử lí xâu
- Phương thức:
+ Đàm thoại, nêu vấn đề, phát vấn, gợi mở…
+ Hoạt động cá nhân
- Sản phẩm mong đợi/Gợi ý sản phẩm:
+ Thực hiện được phép so sánh, ghép xâu
+ Sử dụng được hàm và thủ tục trong xử lí xâu
- Nhận xét, đánh giá sản phẩm, hoạt động:
……………………………………………………………………………….
Các bước của hoạt động:
Hoạt động của giáo viên |
Hoạt động của HS |
Nội dung chính |
Bước 1: HS trả lời các câu hỏi sau: Phép ghép xâu: Xâu a:=’123’; Xâu b:= ‘456’; - Thực hiện a+b cho kết quả là gì? - Thực hiện ‘Tra’ + ‘ Vinh’ cho KQ là gì? Phép so sánh: Xâu x:= ‘abcd’; Xâu y:= ‘Abcd’; Xâu z:= ‘123abc’; Xâu m: =’123abcd’; Xâu k:= ‘abcd’; Hãy so sánh các xâu sau: y và x; z và m; x và k
Bước 4: Nhận xét, đánh giá hoạt động, sản phẩm của HS Lưu ý: Một xâu có độ dài nhỏ hơn có thể lớn hơn xâu có độ dài lớn. |
Bước 2: suy nghĩ, trả lời
Bước 3: trao đổi, thảo luận, trả lời
y>x z<m x=k
|
Phép ghép xâu: kí hiệu bằng dấu (+): thực hiện nối 2 xâu Phép so sánh: <, <=, >, >=, =, <>, thứ tự ưu tiên thấp hơn phép ghép xâu và so sánh theo quy tắc sau: - Xâu A lớn hơn xâu B nếu kí tự đầu tiên khác nhau giữa chúng kể từ trái sang trong xâu A có mã ASCII lớn hơn. - Xâu A< B Nếu xâu B là đoạn đầu của xâu A - Hai xâu bằng nhau nếu chúng giống nhau hoàn toàn.
|
Bước 1: HS trả lời các câu hỏi sau: Thủ tục USES CRT; var a:string; begin clrscr; a:='mua xuan nay'; writeln(a); writeln(length(a)); delete(a,1,4); writeln(a); writeln(length(a)); readln end. Xâu m: =’123abcd’; - Thực hiện Delete(m,1,3) cho kết quả là gì? USES CRT; var a:string; begin clrscr; a:='mua xuan nay'; writeln(a); writeln(length(a)); delete(a,1,4); writeln(a); writeln(length(a)); readln end. - Thực hiện Insert(‘123’,m,1) cho KQ là gì? Hàm - Length(‘Chao ban’) cho kết quả là gì? - Cho St1:= ‘Chao ban’; và St2:=Copy(st1,5,3); USES CRT; var a:string; begin clrscr; a:='mua xuan nay'; writeln(a); writeln(copy(a,5,4)); readln end. - Pos(‘Chao’, ‘Chao ban’ cho kết quả là gì? Pos ( ‘chao’, ‘Chao ban’) cho kết quả là gì? USES CRT; var a:string; begin clrscr; a:='mua xuan nay'; writeln(a); writeln(length(a)); delete(a,1,4); writeln(a); writeln(length(a));
readln end. - Upcase (‘e’) cho kết quả là gì? Bước 4: Nhận xét, đánh giá hoạt động, sản phẩm của HS Lưu ý: Trả về xâu là: hàm copy, hàm upcase, thủ tục delete, thủ tục insert Trả về giá trị: hàm pos, hàm length |
Bước 2: suy nghĩ, trả lời
Bước 3: trao đổi, thảo luận, trả lời
|
Thủ tục - Delete(St, vt, n) xoá n kí tự của xâu St bắt đầu từ vị trí vt. - Insert(S1,S2,vt) chèn xâu S1 vào S2 bắt đầu từ vị trí vt của S2.
Hàm - Length(st) cho độ dài xâu st. - Copy(st, vt,n) sao chép từ xâu st n kí tự từ vị trí vt. - Pos(s1,s2) cho vị trí xuất hiện đầu tiên của s1 trong s2. - Upcase(ch) cho chữ cái viết hoa tương ứng với chữ cái trong ch. |
3.3. Hoạt động luyện tập
Yêu cầu HS thực hiện :
Bài tập: Cho xâu: A:=’123456789’; B:=’abcdefgh’;
Thực hiện các thủ tục và hàm sau:
Length(a);
Length(b);
Delete(a,1,3);
Insert(‘hai’,a, 7);
Copy (b,3,3);
Ví dụ 1: Viết chương trình nhập vào họ tên của 2 người vào 2 biến xâu và đưa ra màn hình xâu dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau
Ví dụ 2: Viết chương trình nhập 2 xâu từ bàn phím và kiểm tra kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ 2 không
Ví dụ 3: Viết chương trình nhập vào một xâu từ bàn phím vừa đưa ra màn hình xâu đó theo thứ tự ngược lại.
Ví dụ 4: Viết chương trình nhập vào một xâu từ bàn phím vùa đưa ra màn hình xâu thu được từ nó sau khi loại bỏ các dấu cách nếu có.
- Mục tiêu:
+ Vận dụng được các hàm và thủ tục phù hợp với từng chương trình
+ Viết được chương trình đơn giản về xâu
+ Hiểu được cách thức hoạt động của xâu
- Phương thức:
+ Đàm thoại, nêu vấn đề, phát vấn, gợi mở…
+ Hoạt động cá nhân
- Sản phẩm mong đợi/Gợi ý sản phẩm: HS hiểu được các chương trình
- Nhận xét, đánh giá sản phẩm, hoạt động:
……………………………………………………………………………….
3.4. Hoạt động vận dụng
Bài 1/ 73. Nhập vào một xâu từ bàn phím. Kiểm tra xâu đó có phải là xâu đối xứng (palindrome) hay không.
Bài 2/73. Viết chương trình nhập từ bàn phím một xâu kí tự S và thông báo ra màn hình số lần xuất hiện của mỗi chữ cái tiếng Anh trong S (không phân biệt hoa thường)
Bai 3/ 73. Nhập vào từ bàn phím một xâu. Thay thế tất cả các cụm kí tự ‘anh’ bằng cụm kí tự ‘em’.
- Mục tiêu: gợi nhớ lại các kiến thức về xâu, vận dụng để lập trình
- Phương thức:
+ Bài tập thực hành
+ Hoạt động cá nhân
- Sản phẩm mong đợi/Gợi ý sản phẩm: HS viết được chương trình
- Nhận xét, đánh giá sản phẩm, hoạt động:
……………………………………………………………………………….
3.5. Hoạt động Tìm tòi mở rộng:
Bài 1. Viết chương trình nhập vào một xâu s bất kỳ. Sau đó cho biết xâu s vừa nhập có bao nhiêu kí tự số?
Bài 2. Hãy lập trình:
* Nhập xâu bất kì từ bàn phím;
* Chuẩn hoá xâu theo các qui tắc sau:
+ Xoá các dấu cách ở đầu xâu nếu có;
+ Xoá các dấu cách ở cuối xâu nếu có;
+ Thay dãy nhiều dấu cách liên tiếp bằng một dấu cách;
* Đưa kết quả chuẩn hoá ra màn hình.
- Mục tiêu: Khắc sâu kiến thức về xâu; tự viết được chương trình theo yêu cầu
- Phương thức:
+ Bài tập thực hành
+ Hoạt động cá nhân
- Sản phẩm mong đợi/Gợi ý sản phẩm: HS viết được chương trình
- Nhận xét, đánh giá sản phẩm, hoạt động:
Ngày duyệt: ………………….
Duyệt của P.Tổ trưởng
Trên đây là nội dung giáo án chủ đề kiểu xâu. Chúc quý thầy cô thực hiện thành công!