Giáo án môn Tin học khối 11 - TIết 27, 28 - Bài 12: Kiểu xâu

Giáo án môn Tin học khối 11 - TIết 27, 28 - Bài 12: Kiểu xâu

I. Mục tiêu

1. Kiến thức

- Biết xâu là một dãy kí tự.

- Biết cách khai báo xâu, truy cập phần tử của xâu.

- Nắm vững cú pháp và ý nghĩa của các thủ tục và hàm với xâu.

2. Kỹ năng

- Cài đặt được một số chương trình đơn giản có sử dụng xâu.

- Ứng dụng các thao tác, thủ tục và hàm vào các ví dụ đơn giản.

3. Thái độ

- Nghiêm túc, chú ý nghe giảng.

II. Chuẩn bị

- SGK, Giáo án

III. Tiến trình dạy học

1. Ổn định lớp

2. Kiểm tra bài cũ

3. Bài mới

 

doc 4 trang Người đăng quocviet Lượt xem 2587Lượt tải 0 Download
Bạn đang xem tài liệu "Giáo án môn Tin học khối 11 - TIết 27, 28 - Bài 12: Kiểu xâu", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Ngày soạn 23 tháng 11 năm 2009
Tiết 27 - 28:
Bài 12: Kiểu xâu
I. Mục tiêu
1. Kiến thức
- Biết xâu là một dãy kí tự.
- Biết cách khai báo xâu, truy cập phần tử của xâu.
- Nắm vững cú pháp và ý nghĩa của các thủ tục và hàm với xâu.
2. Kỹ năng
- Cài đặt được một số chương trình đơn giản có sử dụng xâu.
- Ứng dụng các thao tác, thủ tục và hàm vào các ví dụ đơn giản.
3. Thái độ
- Nghiêm túc, chú ý nghe giảng.
II. Chuẩn bị
- SGK, Giáo án
III. Tiến trình dạy học
1. Ổn định lớp
2. Kiểm tra bài cũ 
3. Bài mới
Hoạt động của học sinh
Hoạt động của giáo viên 
- Kiểu dữ liệu chuẩn: Nguyên, thực, kí tự và logic
Tiết 27: Kiểu xâu (Tiết 1)
1. Khái niệm kiểu xâu trong NNLT Pascal
- Là dãy kí tự trong bảng mã ASCII, một kí tự mỗi phần tử, được đặt trong hai dấu nháy đơn.
VD: ‘Tin hoc’
‘Nguyen Van Ti’
- Độ dài xâu: Số lượng kí tự trong xâu đó.
- Xâu rỗng: ‘’ (hai dấu nháy đơn liên tiếp)
2. Khai báo biến kiểu xâu trong Pascal:
Cp: Var :String[n];
Trong đó: 
String: Tên chuẩn.
n: Độ dài lớn nhất của xâu (<=255)
Vd: 
Var hoten: string [7];
Với khai báo này:
- hoten là biến kiểu xâu
- Độ dài tối đa của xâu là 7
* Cách tham chiếu tới từng phần tử của xâu:
[chỉ số]
VD: ‘Le dung’ thì: 
hoten[1]= ‘l’; hoten[2]= ‘e’; hoten[5]=?;...
3. Thao tác với xâu trong Pascal:
a. Nhập giá trị, viết ra giá trị biến kiểu xâu:
*Nhập giá trị cho xâu:
Read ();
Readln ();
*Viết ra giá trị của xâu:
Write ();
Writeln ();
VD: Viết chương trình nhập vào 2 xâu và in ra màn hình giá trị 2 xâu đó
- Lên bảng viết chương trình.
b. Phép ghép xâu:
- Kí hiệu: Dấu cộng +
- Ghép nhiều xâu thành một xâu
Vd: ‘Tin’+ ‘hoc’ àKết quả: ‘Tinhoc’
c. Phép so sánh xâu:
- Các phép so sánh: =,,,=
- Quy tắc so sánh:
a=b nếu chúng hoàn toàn giống nhau.
a < b nếu độ dài của b lớn hơn và a là đoạn đầu của b.
a > 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.
Vd: ‘abcd’>’aBcd’
 ‘Tin hoc’ < ‘Tinhoc’
Bài tập: Viết CT nhập vào họ đệm và tên của học sinh. In ra màn hình họvà tên của học sinh đó.
- H/S: Lên bảng làm.
d. Hàm LENGTH (s):
Trong đó: s: Kiểu xâu
- Cho giá trị nguyên là độ dài thực sự của xâu
vd: s:= ‘TIN HOC’
n:=Length (s) àn=7
- Cần so sánh tên của các học sinh với nhau.
e. Hàm COPY (S, m, n):
Trong đó: 	S: Kiểu xâu
	m, n: Kiểu nguyên
- Lấy xâu con trong xâu S bắt đầu từ vị trí m gồm n ký tự liên tiếp.
vd: S:= ‘MON TIN HOC’
Copy (S, 5, 7)= ‘TIN HỌC’
Copy (S, 15, 5) = ‘’
f. Hàm POS (S1, S2):
 - Cho giá trị nguyên là vị trí xuất hiện đầu tiên của xâu S1 trong xâu S2.
- Nếu xâu S1 không có trong xâu S2 thì cho kết quả là 0.
Vd: 
S1:= ‘HOC’
S2:= ‘MON TIN HOC’
Pos (‘ ’, S2) = 4
Với S1:= ‘HOA’
thì Pos (S1, S2) = 0
g. Hàm UPCASE (Ch):
- Cho chữ cái in hoa tương ứng với chữ cái Ch
Trong đó Ch: kiểu kí tự
Ch:= ‘a’
Upcase(Ch) = 'A'
h. Thủ tục DELETE (S, m, n):
Trong đó: 	S: Kiểu xâu
	m, n: Kiểu nguyên
- Xoá trong xâu S bắt đầu từ vị trí m, n ký tự liên tiếp.
vd: S:= ‘MON TIN HOC’
Delete (S, 4, 4)
à Kết quả:
Giá trị của s là ‘MON HOC’
k. Thủ tục INSERT (S1, S2, m):
Trong đó: 	S1, S2: Kiểu xâu
	m: Kiểu nguyên
- Chèn xâu S1 vào xâu S2 bắt đầu từ vị trí m.
vd: S1:= ‘TIN’
S2:= ‘MON HOC’
Insert (S1, S2, 4)
à Kết quả: Giá trị của s2 là
 ‘MONTIN HOC’
Insert (S1, S2, 24)
à Kết quả: Giá trị của s2 là
 ‘MONTIN HOC’
4. Một số ví dụ
Ví dụ 1:
 Viết chương trình nhập từ bàn phím xâu kí tự S. In ra màn hình xâu đó sau khi được biến đổi thành xâu in hoa.
Input: Xâu S
 Output: Xâu S đã được biến đổi thành xâu in hoa
Khai báo: S: Kiểu string;
	 i: Kiểu byte; 
Ví dụ 2:
 Viết chương trình nhập từ bàn phím xâu kí tự S. In ra màn hình xâu thu được từ nó bởi việc loại bỏ các dấu cách nếu có.
Input: Xâu S
Output: Xâu S sau khi loại bỏ dấu cách
Khai báo S: Kiểu string
- Những kiểu dữ liệu đã học là gì ?
Hoạt động 1: Tìm hiểu khái niệm xâu trong NNLT Pascal.
- Nêu khái niệm
- Hãy nêu ví dụ một vài xâu bất kỳ
- Yêu cầu học sinh xác định độ dài xâu trong ví dụ trên.
- Pascal cung cấp cho chúng ta các quy tắc, cách thức để xác định: Tên kiểu xâu, cách khai báo biến xâu, độ dài xâu, các phép toán thao tác với xâu và cách tham chiếu tới từng phần tử cuả xâu.
Hoạt động 2: Giới thiệu cách khai báo biến xâu trong NNLT Pascal.
- Trong trường hợp không khai báo độ dài của xâu thì mặc định n = 255.
- Hãy khai báo một biến kiểu xâu?
- Với khai báo này ta xác định được gì?
- Các kí tự trong xâu được đánh số thứ tự bắt đầu từ 1.
- Cách tham chiếu tới từng phần tử của xâu tương tự như với mảng một chiều. Yêu cầu HS nhắc lại.
- hoten[5] là bao nhiêu?
Hoạt động 3: Tìm hiểu các thao tác với xâu
- Đối với dữ liệu chuẩn, sử dụng thủ tục nào để nhập giá trị?.
- Input, output của bài toán là gì?
- Gọi học sinh nhận xét bài của bạn.
- Sửa lại bài của học sinh. Nhận xét.
- Trong Pascal, để thực hiện ghép nhiều xâu thành một xâu sử dụng dấu +
- GV: Kết quả của ví dụ trên là gì?
- Trong danh sách học sinh của lớp chúng ta, các tên được sắp xếp theo trật tự A, B, C, Để sắp xếp thì phải có thao tác so sánh.
- Có những phép so sánh nào?
- Hãy so sánh các xâu kí tự sau đây?
- Xác định input, output của bài toán?
- GV: Nhận xét.
- Để biết được độ dài thực sự của xâu, Pascal sử dụng hàm Length.
 - Với ví dụ sau, hãy cho biết kết quả của hàm Length (s) là bao nhiêu?
- Với danh sách học sinh được sắp xếp theo thứ tự. Để thực hiện công việc này?
- Với ví dụ như trên, hãy cho biết giá trị của hàm bằng bao nhiêu?
- Ví dụ sau khi dùng các hàm sau thì cho kết quả là gì?
- Upcase (S) với S là biến xâu là không hợp lệ
- Ví dụ với một xâu mà giữa 2 từ có nhiều dấu cách thì xấu vậy thì phải làm sao?
- Kết quả của thủ tục này là gì?
- Trong trường hợp viết tên thiếu thì phải làm gì?
* Chú ý: Với giá trị m lớn hơn độ dài xâu thì thủ tục Insert luôn cho giá trị chính là xâu đó.
- Kết quả là gì?
- Hãy xác định các giá trị của bài toán.
- Trình chiếu chương trình trên Pascal.
- Kiểm tra sự tồn tại của dấu cách trong xâu S, sủ dụng hàm nào?
à Pos (‘ ’, S)
Trong khi Pos (‘ ’, S)0 thì xóa một kí tự ở vị trí pos (‘ ’, S). Sử dụng thủ tục gì?
à Delete (S, pos (‘ ’,S), 1)
- GV: Chiếu chương trình.
 IV. §¸nh gi¸ cuèi bµi
 1.- Khai b¸o biÕn: VAR tªn_biÕn: STRING[®é dµi lín nhÊt cña x©u];
 - NhËp xuÊt gi¸ trÞ cho biÕn x©u: read/readln(); write/writeln();
 - Tham chiÕu ®Õn tõng kÝ tù trong x©u: tªn_biÕn[chØ sè].
 - PhÐp ghÐp x©u: KÝ hiÖu lµ: +, §­îc sö dông ®Ó ghÐp nhiÒu x©u thµnh mét x©u.
 - C¸c phÐp so s¸nh: =, , >, =: thùc hiÖn viÖc so s¸nh hai x©u.
 2. Nh÷ng hµm vµ thñ tôc liªn quan ®Õn x©u.
 3. C©u hái vµ bµi tËp vÒ nhµ.
 - Gi¶i bµi tËp sè 10 trang 80.
 - ViÕt ch­¬ng tr×nh nhËp mét x©u. In ra mµn h×nh sç tõ cã trong x©u.
 - Xem phÇn néi dung cña bµi thùc hµnh sè 5, s¸ch gi¸o khoa, trang 73.
 - ChuÈn bÞ mét sè bµi tËp ®Ó thùc hµnh.

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

  • dockieu xau.doc