Giáo án giảng dạy môn Tin học 11 - Trường THPT Nguyễn Du

Giáo án giảng dạy môn Tin học 11 - Trường THPT Nguyễn Du

I. MỤC TIÊU BÀI HỌC:

1. Kiến thức:

 -Biết được khái niệm lập trình và ngôn ngữ lập trình.

 -Biết được khái niệm chương trình dịch.

 -Phân biệt 2 loại chương trình dịch: thông dịch và biên dịch.

2. Kỹ năng:

 -Chưa cần kĩ năng cụ thể.

3. Trọng tâm:

 -Chương trình dịch.

4. Tư duy – Thái độ:

 -Học tập nghiêm túc về lập trình.

II. PHƯƠNG TIỆN CHUẨN BỊ :

Giáo viên:

 -Phương pháp: Vấn đáp, gợi mở.

 -Phương tiện: Phấn màu, thước kẻ, SGK tin11, SGV.

Học sinh:

 -Sách giáo khoa, đọc trước SGK, thực tiễn.

 

doc 63 trang Người đăng quocviet Lượt xem 1527Lượt tải 0 Download
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án giảng dạy môn Tin học 11 - Trường THPT Nguyễn Du", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tiết :01
Ngày soạn : 7/8
Ngày dạy : 10/8 
CHƯƠNG I: MỘT SỐ KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
BÀI 1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH 
I. MỤC TIÊU BÀI HỌC:
1. Kiến thức: 
	-Biết được khái niệm lập trình và ngôn ngữ lập trình.
	-Biết được khái niệm chương trình dịch.
	-Phân biệt 2 loại chương trình dịch: thông dịch và biên dịch.
2. Kỹ năng: 
	-Chưa cần kĩ năng cụ thể.	
3. Trọng tâm:
	-Chương trình dịch.
4. Tư duy – Thái độ:
	-Học tập nghiêm túc về lập trình.
II. PHƯƠNG TIỆN CHUẨN BỊ :
íGiáo viên:
	-Phương pháp: Vấn đáp, gợi mở.
	-Phương tiện:	Phấn màu, thước kẻ, SGK tin11, SGV.	
íHọc sinh: 
	-Sách giáo khoa, đọc trước SGK, thực tiễn.	
III. TIẾN TRÌNH BÀI HỌC:
	u.Ổn định lớp và kiểm tra sĩ số.
	v.Kiểm tra bài cũ: không
	w.Bài mới:	
HOẠT ĐỘNG CỦA GIÁO VIÊN VÀ HỌC SINH
NỘI DUNG
þ Hoạt động 1: Tìm hiểu khái niệm lập trình và ngôn ngữ lập trình.
GV: Đặt vấn đề: mọi bài toán có thuật toán đều có thể giải được trên máy tính. Các bước để giải một bài toán: +Xác định bài toán.
 +Xây dựng thuật toán khả thi.
 +Lập trình. 
HS: Chú ý lắng nghe.
GV: Yêu cầu học sinh: Xác định các yếu tố input và output của bài toán giải phương trình bậc nhất ax+b=0:
B1: Nhập a,b
B2: Nếu a0, kết luận: x=-b/a
B3: Nếu a=0 và b0, kết luận: vô nghiệm
B4: Nếu a=0 và b=0, kết luận: vô số nghiệm
HS: Xác định:
Input: a,b
Output: nghiệm duy nhất: x=-b/a, vô nghiệm, vô 
 số nghiệm.
GV: Diễn giảng: hệ thống các bước này gọi là thuật toán.
Hỏi: nếu diễn đạt thuật toán cho máy hiểu em dùng ngôn ngữ gì?
HS: Dùng ngôn ngữ lập trình.
GV: Diễn giảng: Hoạt động để diễn đạt 1 thuật toán thông qua 1 ngôn ngữ lập trình gọi là lập trình.
Yêu cầu: đọc SGK và cho biết khái niệm lập trình. 
HS: Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.
GV: Hỏi: kết quả của hoạt động lập trình là gì?
HS: Được một chương trình.
GV: Yêu cầu: Ghi các loại ngôn ngữ lập trình đã biết. 
HS: Có 3 loại ngôn ngữ lập trình:
+Ngôn ngữ máy
+Hợp ngữ.
+Ngôn ngữ bậc cao.
GV: Hỏi: em hiểu như thế nào là ngôn ngữ máy và ngôn ngữ bậc cao?
HS: Ngôn ngữ máy: các lệnh được mô tả thành các bit 0,1. Chương trình viết trên ngôn ngữ máy được nạp vô bộ nhớ và thực hiện ngay.
 Ngôn ngữ bậc cao:lệnh được mô tả gần ngôn ngữ con người.
Chương trình phải được chuyển đổi thành chương trình trên ngôn ngữ máy.
GV: Hỏi: Để chuyển đổi chương trình viết bằng ngôn ngữ bậc cao sang ngôn ngữ máy phải làm sao?
HS: Sử dụng chương trình dịch để chuyển đổi.
GV: Hỏi: Tại sao không lập trình trên ngôn ngữ máy mà phải làm trên ngôn ngữ bậc cao?
HS: Lập trình trên ngôn ngữ bậc cao dễ viết hơn.
Khái niệm lập trình: Lập trình là sử dụng một cấu trúc dữ liệu và các câu lệnh của một ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt thuật toán .
-Có 3 loại ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao.
-Chương trình viết bằng ngôn ngữ máy có thể nạp trực tiếp vào bộ nhớ thi hành ngay.
-Chương trình viết bằng ngôn ngữ bậc cao nói chung không phụ thuộc loại máy, muốn thi hành được thì nó phải được chuyển sang ngôn ngữ máy.
=>Cần phải có chương trình dịch để chuyển chương trình viết bằng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy để máy có thể thi hành được.
þ Hoạt động 2: Tìm hiểu chương trình dịch: thông dịch và biên dịch. 
GV: Đặt vấn đề: Giới thiệu đất nước mình cho một du khách nước ngoài:
C1: cần một người biết tiếng Anh dịch từng câu nói của em cho người khách.
C2: Soạn nội dung cần giới thiệu ra giấy rồi dịch toàn bộ nội dung đó sang tiếng Anh cho người khách.
HS: Chú ý lắng nghe ví dụ đưa ra và thảo luận để tìm ví dụ tương tự.
GV: Yêu cầu học sinh nghiên cứu SGK và cho biết các bước trong tiến trình thông dịch và biên dịch.
HS: Tìm hiểu và trả lời:
Biên dịch: ( cần thực hiện nhiều lần)
Thông dịch: (Phù hợp với môi trường
 đối thoại giữa người và máy) 
Chương trình dịch có 2 loại: Biên dịch và thông dịch
+ Biên dịch (Compiler): Thực hiện các bước sau:
-Duyệt, kiểm tra, phát hiện lỗi và kiểm tra tính đúng đắn của các câu lệnh trong chương trình nguồn .
-Dịch toàn bộ chương trình nguồn thành một chương trình đích (ngôn ngữ máy) để có thể thực hiện trên máy và có thể lưu trữ để sử dụng lại khi cần.
+ Thông dịch (Interpreter): Dịch lần lượt từng câu lệnh và thực hiện ngay câu lệnh ấy.
Thông dịch được thực hiện bằng cách lặp lại dãy các bước sau:
-Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn
-Chuyển đổi các câu lệnh đó thành một hay nhiều câu lệnh trong ngôn ngữ máy.
-Thực hiện các câu lệnh vừa chuyển đổi được .
x.Củng cố:
	-Lập trình và ngôn ngữ lập trình.
	-Hai loại chương trình dịch: thông dịch và biên dịch.
y.Dặn dò bài tập về nhà:
	-Mỗi loại ngôn ngữ lập trình phù hợp với những lập trình có trình độ như thế nào?
	-Kể tên một số ngôn ngữ lập trình bậc cao có sử dụng biên dịch và một số sử dụng kĩ thuật thông dịch.	-Xem trước bài mới.	
z.Rút kinh nghiệm bổ sung: 
Tiết :2
Ngày soạn : 9/8
Ngày dạy : 12/8
--------------------------------------------------------—&–-------------------------------------------------------
CHƯƠNG I: MỘT SỐ KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
BÀI 2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH
I. MỤC TIÊU BÀI HỌC:
1. Kiến thức: 
-Biết được các thành phần của một ngôn ngữ lập trình. Một ngôn ngữ lập trình có 3 thành phần: Bảng chữ cái, cú pháp, ngữ nghĩa.
	-Biết được một số khái niệm như: tên, tên dành riêng, tên chuẩn, tên do người lập trình đặt, hằng, biến và chú thích.
2. Kỹ năng: 
-Phân biệt được các thành phần cơ bản trong một ngôn ngữ lập trình.
-Biết được cách đặt tên và phân biệt được tên chuẩn, tên dành riêng và tên do người lập trình đặt. 
-Phân biệt được hằng và biến.
-Biết sử dụng chú thích.
3. Trọng tâm:
-Một số khái niệm: tên dành riêng, tên chuẩn, tên do người lập trình đặt, hằng, biến.
4. Tư duy – Thái độ:
- Rèn luyện tư duy logic.
II. PHƯƠNG TIỆN CHUẨN BỊ :
íGiáo viên:
-Phương pháp: thuyết trình kết hợp với vấn đáp gợi mở, hoạt đông nhóm.
-Phương tiện:	Phấn màu, thước kẻ,SGK tin11 ,SGV.
íHọc sinh: 
-Sách giáo khoa, đọc trước SGK, thực tiễn.	
III. TIẾN TRÌNH BÀI HỌC:
	u.Ổn định lớp và kiểm tra sĩ số.
	v.Kiểm tra bài cũ: 
	-Tại sao phải xây dựng ngôn ngữ lập trình bậc cao?
	-Chương trình dịch là gì? Tại sao cần có chương trình dịch?
	-Phân biệt thông dịch và biên dịch.
	w.Bài mới:
HOẠT ĐỘNG CỦA GIÁO VIÊN VÀ HỌC SINH
NỘI DUNG
þ Hoạt động 1: Tìm hiểu các thành phần của ngôn ngữ lập trình.
GV: Hãy nhắc lại khái niệm ngôn ngữ lập trình bậc cao và một số ngôn ngữ lập trình bậc cao.
GV: Các lệnh được mã hóa bằng một ngôn ngữ gần với ngôn ngữ tiếng anh .Chương trình viết trên ngôn ngữ lập trình bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ máy mới có thể thựa hiện được.
 Một số ngôn ngữ lập trình bậc cao: Pascal, C++,C#, Java,
Một ngôn ngữ lập trình thường có 3 thành phần: bảng chữ cái, cú pháp và ngữ nghĩa.
GV: Hỏi:bảng chữ cái sử dụng trong ngôn ngữ lập trình là gì?
HS: Nghiên cứu SGK và trả lời: bảng chữ cái trong ngôn ngữ lập trình gồm: chữ cái thường và hoa trong bảng chữ tiếng anh, các số từ 0,, 9; các kí tự khác. 
GV: Hỏi: cú pháp khác ngữ nghĩa ở chỗ nào?
HS: Trả lời: cú pháp là qui tắc để viết chương trình, dễ phát hiện lỗi khi tổ hợp kí tự không hợp lệ, còn ngữ nghĩa thì xác định ý nghĩa tổ hợp kí tự trong chương trình.
1.Các thành phần cơ bản:
- Mỗi ngôn ngữ lập trình thường có 3 thành phần cơ bản là : bảng chữ cái, cú pháp và ngữ nghĩa.
a.Bảng chữ cái: Là tập các ký hiệu dùng để viết chương trình.
-Trong ngôn ngữ Pascal bảng chữ cái gồm: Các chữ cái trong bảng chữ cái tiếng Anh, các chữ số 0 à 9 và một số ký tự đặc biệt (xem trong SGK)
b.Cú pháp: Là bộ quy tắc dùng để viết chương trình.
c. Ngữ nghĩa: Xác định ý nghĩa thao tác cần thực hiện ứng với tổ hợp ký tự dựa vào ngữ cảnh của nó.
-Cú pháp cho biết cách viết chương trình hợp lệ, ngữ nghĩa xác định ý nghĩa của các tổ hợp ký tự trong chương trình.
-Lỗi cú pháp được chương trình dịch phát hiện và thông báo cho người lập trình. Chương trình không còn lỗi cú pháp thì mới có thể dịch sang ngôn ngữ máy.
Lỗi ngữ nghĩa được phát hiện khi chạy chương trình.
þ Hoạt động 2: Tìm hiểu tên trong ngôn ngữ lập trình.
GV: Đặt vấn đề: mọi đối tượng trong chương trình đều phải được đặt tên.
HS: Trình bày: trong turbo pascal: tên tối đa 127 kí tự, dùng các chữ, số , dấu gạch dưới nhưng không thể bắt đầu bằng số.
GV: Hỏi: một vấn đề đặt ra: về vấn đề chữ hoa và thường ngôn ngữ lập trình có phân biệt hay không?
HS: Tìm hiểu và trả lời: ngôn ngữ lập trình C++ thì phân biệt chữ thường và chữ hoa còn ngôn ngữ pascal thì không.
GV: Hỏi: hãy nêu một số ví dụ về tên hợp lệ và không hợp lệ trong turbo pascal?
HS: Trả lời: một số tên hợp lệ: CBA,_405
 Một số tên không hợp lệ:9AB,VE C,AW@#K.
GV: Chia lớp thành ba nhóm: cho mỗi nhóm nghiên cứu và trình bày về tên dành riêng , tên chuẩn, tên do người lập trình đặt.
HS: Nghiên cứu và trình bày:
Tên dành riêng ( từ khóa) :là tên dùng với ý nghĩa xác định , không dùng với ý nghĩa khác.
Tên chuẩn:là tên trong ngôn ngữ lập trình có một ý nghĩa nào đó, có thể định nghĩa lại để dùng với ý nghĩa khác. 
Tên do người lập trình đặt là tên dùng ý nghĩa riêng của người lập trình và khai báo trước khi sử dụng không được trùng với tên dành riêng.
GV: Hỏi:Xác định tên dành riêng , tên chuẩn, tên do người lập trình đặt: program, type, var,abs vidu,xyz, abc,byte, div,char.
HS: Trả lời:
Tên dành riêng:Program, type.
Tên chuẩn:integer, byte, abs,div,char.
Tên do người lập trình đặt:vidu,xyz,abc.
 GV: Đúc kết lại tất cả ý kiến của các nhóm.
2. Một số khái niệm
a. Tên
- ... hương trình chạy nhanh hơn.
GV: Cho mảng A gồm n phần tử. Viết chương trình tạo mảng B mà B[i] là tổng giá trị I phần tử đầu tiên của mảng A.
HS: Đọc đề và suy nghĩ ý nghĩa các lệnh trong chương trình.
GV: Yêu cầu học sinh xác định dữ liệu vào, dữ liệu ra.
HS: Vào: mảng A gồm n phần tử.
Ra: mảng B có tính chất phần tử thứ I là tổng giá trị các phần tử từ 1 đến I trong mảng A.
GV: Thực hiện chương trình để học sinh biết thời gian chạy chương trình và kết quả của chương trình.
GV: Hỏi: trong chương trình phải thực hiện bao nhiêu phép cộng?
HS: Thực hiện n(n+1)/2 phép.
GV: Thực hiện thay đổi chương trình sao cho xử lý ít phép cộng hơn.
HS: Cải tiến: để tính bước thứ I ta sử dụng kết quả đã tính ở bước thứ i-1.
 Thay B[i]:=B[i-1]+A[i] bằng lệnh
 For j:=1 to I do B[i]:=B[i]+A[j];
 Đề: Cho mảng A gồm n phần tử. Viết CT tạo ra mảng B[1..n].
Khai báo:
 + k/báo mảng
 + biến đơn
Phần thân:
B1: tạo mảng A.
B2: xd mảng B theo A.
B3: In mảng B.
þ Hoạt động 3: Hs thực hành trên máy theo nhóm
GV: Yêu cầu học sinh viết chương trình hoàn chỉnh.
HS: Chạy chương trình mới và nhận xét thời gian thực hiện so với chương trình trước.
1. Hs nhập chtrình vào máy
2. Tự biên dịch và chạy CT với ví dụ trên.
3. Tự lấy Input để chạy lại CT
GV: Nhận xét: cùng một bài toán có nhiều cách giải quyết khác nhau, người lập trình nên chọn cách sao cho máy thực hiện nhanh nhất và đỡ tốn bộ nhớ.
Đề: Cho mảng A gồm n phần tử. Viết CT tạo ra mảng B[1..n].
Đoạn CT cải tiến: Sgk
x.Củng cố:
	-Một bài toán có nhiều cách viết, chọn cách thích hợp .
y.Dặn dò bài tập về nhà:
	-Xem lại lý thuyết về kiểu mảng, một số chương trình kèm thuật toán.
z.Rút kinh nghiệm bổ sung: 	
--------------------------------------------------------—&–-------------------------------------------------------
CHƯƠNG IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC
BÀI 11: KIỂU XÂU (2 TIẾT)
I. MỤC TIÊU BÀI HỌC:
1. Kiến thức: 
	-Biết xâu là 1 dãy kí tự , có thể xem là mảng 1 chiều.
	-Biết cách khai báo biến xâu, tham chiếu đến phần tử xâu, các phép toán và thủ tục, hàm liên quan đến xâu.	
	-Phân biệt được kiểu mảng kí tự và xâu kí tự.
2. Kỹ năng: 
	-Sử dụng biến kiểu xâu và các phép toán trên xâu để giải được một số ví dụ bài toán đơn giản.
3. Trọng tâm:
	-Kiểu dữ liệu xâu.
4. Tư duy – Thái độ:
	-Ý thức rèn luyện kĩ năng các thao tác trên kiểu xâu.
II. PHƯƠNG TIỆN CHUẨN BỊ :
íGiáo viên:
	-Phương pháp: Nêu vấn đề, diễn giảng, học sinh giải quyết vấn đề.
	-Phương tiện:	Phấn màu, thước kẻ,SGK tin11.
íHọc sinh: 
	-Sách giáo khoa, vở soạn bài ở nhà, đọc trước SGK.
III. TIẾN TRÌNH BÀI HỌC:
Tiết : 27 
Ngày soạn : 8/11
Ngày dạy : 11/11 
TIẾT 1
	u.Ổn định lớp và kiểm tra sĩ số.
	v.Kiểm tra bài cũ: không	
	w.Bài mới:
HOẠT ĐỘNG CỦA GIÁO VIÊN VÀ HỌC SINH
NỘI DUNG
þ Hoạt động 1: Tìm hiểu xâu kí tự và cách sử dụng trong chương trình.
GV: Dẫn dắt: Viết chương trình nhập họ tên của học sinh trong lớp.
Yêu cầu học sinh sử dụng kiểu mảng 1 chiều và đưa ra nhận xét.
HS: Khai báo biến mảng A gồm 45 phần tử kiểu kí tự.
Lệnh nhập và xuất dữ liệu cho từng phần tử: Readln(A[1]);readln(A[45]);
GV: Diễn giảng: Chương trình viết sẽ rất dài, có thể gộp lại thành câu lệnh ngắn để yêu cầu nhập giá trị cho từng phần tử. : Cần có một kiểu dữ liệu cho phép nhập, xuất dữ liệu cho xâu bằng 1 lệnh. 
GV: Yêu cầu học sinh đưa ra cách khai báo kiểu dữ liệu xâu. Hỏi: Ý nghĩa của từ String?
 Độ dài lớn nhất của xâu là bao nhiêu
HS: Đưa ra khai báo và trả lời.
GV: Hỏi: Khi khai báo không có n thì số lượng phần tử tối đa là bao nhiêu?
HS: Số lượng phần tử tối đa là 255.
 GV: Trình bày: mỗi kí tự được xem là một phần tử của xâu. Số lượng kí tự trong xâu được gọi là độ dài của xâu.
GV: Hỏi: Xâu chỉ gồm kí tự rỗng, viết như thế nào? 
HS: Đặt trong cặp nháy đơn khoảng trắng.
GV: Một xâu có nhiều kí tự là các thành phần tử của xâu. Hỏi: để biết các phần tử trong xâu ta làm cách nào?
HS: Dùng tham chiếu đến xâu.
GV: Yêu cầu học sinh nêu ví dụ về một xâu và tham chiếu đến phần tử thứ 4.
GV: Nhập, xuất dữ liệu xâu giống như một biến đơn.
Có thể sử dụng lệnh gán để nhập dữ liệu cho biến xâu.
GV: Yêu cầu học sinh đưa ra cách nhập xuất một xâu.
HS: Nhớ lại và đứng tại chỗ trình bày.
 1) Khai báo:
Cú pháp: var :string[độ dài lớn nhất của xâu];
 Độ dài lớn nhất của xâu không quá 255.
VD: var doan:string[30];
àKhai báo biến doan kiểu xâu dài 30 kí tự.
Chú ý: trong khai báo biến xâu không có độ dài thì ngầm định độ dài là 255.
VD: var douong:string;
2) Tham chiếu đến phần tử xâu:
 Tênbiếnxâu[ chỉsố]
VD: biến Hoten lưu giá trị hằng xâu: 'AnSongJong'
 Hoten[4]à's'
Kí hiệu: ' ', độ dài 1.
VD: readln(hoten);
 Writeln('ten ban:',hoten);
VD: doan:=' cacom';
þ Hoạt động 2: Tìm hiểu các thao tác xử lý xâu.
GV: Yêu cầu học sinh nhắc lại các phép toán đã học trên kiểu dữ liệu chuẩn.
HS: Suy nghĩ trả lời: Phép toán số học, phép toán so sánh, phép toán logic.
GV: Diễn giảng: Kết quả của chương trình sau là ta được 1 xâu hoàn chỉnh.
GV: Chiếu chương trình VD
Var s:string;
Begin
 S:='ran la loai bo'+'sat khong chan';
 Write(s);
 Readln
End.
Hỏi: Kết quả của chương trình in ra màn hình?
Thực hiện chương trình cho HS thấy kết quả
GV: Y/c HS tìm một số VD khác
GV: Hỏi: Chức năng của phép cộng
GV: Chiếu chương trình VD về phép so sánh và y/c HS cho biết kết quả
HS: Kết quả chương trình sau là: true
Var ga:boolean;
Begin
 Ga:='AB' < 'AC';
 Write(ga);
 Readln
End.
GV: Lưu ý cho HS
Chú ý: một xâu có độ dài nhỏ hơn có thể lớn hơn xâu có độ dài lớn hơn. 
GV: Đối với xâu ta cần thao tác xử lý gì?
HS: Tính chiếu dài, trích một xâu, xóa số kí tự trong xâu, chèn xâu
GV: Tương ứng với các thao tác xâu ta có các hàm và thủ tục: Nêu các hàm và cho ví dụ.
HS: Đưa ra cấu trúc chung.
3) Các thao tác xử lý xâu:
a. Phép ghép xâu: kí hiệu: +
VD: 'ran la loai bo'+'sat khong chan'.
b. Phép so sánh: =,, ,=
 độ ưu tiên thấp hơn phép ghép xâu.
*Quy tắc so sánh hai xâu: A và B
-Xâu A lớn hơn xâu B nếu kí tự khác nhau đầu tiên giữa chúng từ trái sang phải của A có mã Ascii lớn hơn.
VD: 'A'<'a' à giá trị true.
-Xâu A và B có độ dài KN và A là đoạn đầu của B thì A<B.
VD:'Hoa' <'Hoa Hong'
-A và B bằng nhau nếu giống nhau hoàn toàn.
VD: 'Nam' 'Nu'
c. Các hàm và thủ tục:
+Hàm length(s): cho giá trị độ dài xâu s.
VD: length('Hoa Hong') à8
+Hàm copy(s,p,n): tạo xâu dài n kí tự từ vị trí p trong xâu s.
VD: trích từ 'hoa' , copy(s,1,3)
+Hàm pos(s1,s2): cho vị trí xuất hiện đầu tiên của s1 trong s2.
VD: pos('o',s) à2
+Hàm upcase(ch): cho chữ cái viết hoa từ chữ trong ch.
+Thủ tục delete(s,p,n): xoá n kí tự từ vị trí p trong xâu s.
+Thủ tục insert(s1,s2,p): chèn s1 vào s2 bắt đầu từ p.
VD: chèn xâu 'do' vào đề có xâu 'Hoa Hong Do'. Insert('do',s, 9) 
x.Củng cố:
	-Khai báo và sử dụng kiểu dữ liệu xâu, tham chiếu, nhập/xuất .
y.Dặn dò bài tập về nhà:
	-Xem kĩ các hàm và thủ tục xử lý xâu.
z.Rút kinh nghiệm bổ sung: 	
--------------------------------------------------------—&–-------------------------------------------------------
Tiết : 28
Ngày soạn : 8/11
Ngày dạy : 16/11
TIẾT 2
	u.Ổn định lớp và kiểm tra sĩ số.
	v.Kiểm tra bài cũ: 	-Câu hỏi: Hãy viết cú pháp khai báo 1 biến xâu và cho ví dụ. Cách tham chiếu?
 w.Bài mới:
HOẠT ĐỘNG CỦA GIÁO VIÊN VÀ HỌC SINH
NỘI DUNG
þ Hoạt động: Rèn luyện kĩ năng vận dụng hàm và thủ tục.
GV: Treo bảng phụ chứa ví dụ 1.
yêu cầu học sinh đọc và phân tích.
HS: Theo dõi, tìm hiểu.
GV: Yêu cầu học sinh xác định input, output, nhiệm vụ chính khi giải bài toán, cần sử dụng những hàm nào?
HS: Làm theo yêu cầâu:
Input: 2 giá trị họ tên.
Output: tên dài hơn.
So sánh độ dài 2 xâu họ tên, dùng hàm "length".
GV: Ý nghiã của hàm Length(b)?
HS: Cho ra số lượng kí tự có trong xâu b.
GV: Em nào có thể giải thích câu lệnh 
For i:=k downto 1 do write([i]);
HS: Sử dụng vòng lặp For giá trị cuối downto giá trị đầu để sau đó in ra các kí tự của chuỗi theo chiều ngược lại.
GV: Bảng phụ chứa ví dụ 2.
HS: Yêu cầu học sinh giải thích lệnh trong chương trình.
GV: Bảng phụ chứa ví dụ 3
HS: Yêu cầu học sinh giải thích lệnh trong chương trình.
GV: Bảng phụ chứa ví dụ 4.
HS: Yêu cầu học sinh giải thích lệnh trong chương trình.
GV: Qua các ví dụ trên ta thấy điêù gì?
HS: cho thấy hàm length() có thể tham chiếu đến từng kí tự của một xâu thông qua vị trí của nó.
GV: Em có nhận xét gì về xâu b được tạo thành.
HS: Xâu b được tạo thành từ một xâu rỗng qua phép ghép xâu.
VD1: viết chương trình nhập họ tên của hai 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.
Var a,b:string[20];
Begin
 Writeln('nhap ho ten thu 1:'); readln(a);
 Writeln('nhap ho ten thu 2:'); readln(b);
 If length(a)> length(b) then write(a)
 Else write(b);
End.
VD2: Nhập một sau vào từ bàn phím và đưa ra màn hình xâu theo thứ tự ngược.
Var I,d:byte;
 A:string;
Begin
 Write('nhap xau:'); readln(a);
 D:=length(a);
 For i:=d downto 1 do write(a[i]);
End.
VD3:Viết chương trình nhập vào tên một bạn trong lớp. Nếu nhập đúng thì xuất ra thông báo: đúng roi. Ngược lại xuất : sai rồi.
Var a,b:string[30];
Begin
 A:='LVTi';
 Writeln('nhap xau:'); readln(b);
 If b=a then writeln('dung roi.')
 Else writeln('sai roi.');
End.
VD4: viết chương trình nhập từ bàn phím một xâu. Sau đó đổi các chữ thường xâu sang chữ hoa.
Var s:string;
 I:byte;
Begin
 Writeln('nhap xau:'); readln(s);
 For i:=1 to length(s) do
 If(s[i]>='a') and (s[i]<='z') then 
 s[i]:=upcase(s[i]);
 Writeln('xau hoa la:',s);
End.
x.Củng cố:
	-Một số hàm xử lý trên xâu .
y.Dặn dò bài tập về nhà:
	-Bài 10/80.
	-Viết chương trình nhập 1 xâu, xuất ra số từ trong xâu.
	-Chuẩn bị TH.
z.Rút kinh nghiệm bổ sung: 	
--------------------------------------------------------—&–-------------------------------------------------------

Tài liệu đính kèm:

  • docTIN 11 DAY DU HAY.doc