27
Câu hỏi: Nêu cách khai báo trực tiếp mảng một chiều. Viết khai báo mảng Hoten, gồm 20 phần tử, thuộc kiểu kí tự. KIỂM TRA BÀI CŨ ời: h khai báo trực tiếp mảng một chiều: tên biến mảng>: array [kiểu chỉ số] of <kiểu phần t dụ: oten: array [1..20] of char;

Bài 12: Kiểu xâu

  • Upload
    minh-le

  • View
    1.652

  • Download
    1

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Bài 12: Kiểu xâu

Câu hỏi: Nêu cách khai báo trực tiếp mảng

một chiều. Viết khai báo mảng Hoten, gồm 20

phần tử, thuộc kiểu kí tự.

KIỂM TRA BÀI CŨ

Trả lời:- Cách khai báo trực tiếp mảng một chiều:var <tên biến mảng>: array [kiểu chỉ số] of <kiểu phần tử>;- Ví dụ:var Hoten: array [1..20] of char;

Page 2: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU(2 TIẾT)

Page 3: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 1)

Khái niệm xâu và cách

khai báo biến kiểu xâu.

Cách tham chiếu tới

phần tử của xâu.

Phép ghép xâu và so

sánh hai xâu.

Page 4: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 1)

Khái niệmVí dụ:S1 = ‘TINHOC’

- Xâu là dãy 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ự trong một xâu được gọi là độ dài của xâu.- Xâu có độ dài bằng 0 được gọi là xâu rỗng.

T I N H O C

S2 = ‘LOP11A11’ L O P 1 1 A 1 1

1 2 3 4 5 6

1 2 3 4 5 6 7 8

6

8

Page 5: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 1)

Khai báo:

var < tên biến xâu>: string [độ dài lớn nhất của xâu] ;

var Hoten: string [30] ;

Lưu ý:- Độ dài lớn nhất của xâu nhỏ hơn hoặc bằng 255

Ví dụ: var Chugiai: string;

Độ dài lớn nhất của xâu có giá trị ngầm định là 255

???Khai báo xâu Monhoc gồm 7 phần tử.

var Monhoc: string [7] ;

Page 6: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 1)

T I N H O C

T I N H O C

6

7

Khoảng trắng cũng là một kí

tự

Page 7: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 1)

Tham chiếu tới phần tử của xâu:

Tên biến xâu [chỉ số]

Ví dụ:- Tham chiếu tới phần tử thứ 3 trong xâu S1S1[3] = ‘N’- Tham chiếu tới phần tử thứ 5 trong xâu S1S1[5] = ‘O’

T I N H O C

1 2 3 4 5 6

S1 = ‘TINHOC’

Page 8: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 1)

‘100’ và 100 có gì khác nhau?

Page 9: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 1)

Các thao tác xử lí xâu:

a. Phép ghép xâu:

Ví dụ: ‘HAI’ + ‘PHONG’ ‘HAIPHONG’

‘LOP11A11’ + ‘CHAMNGOAN’ ‘LOP11A11CHAMNGOAN’

Dấu ‘+’ trong 2 ví dụ trên dùng để làm gì?

Phép ghép xâu: dùng để ghép nhiều xâu thành một xâu.

Page 10: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 1)

Các thao tác xử lí xâu:

b. Các phép so sánh:

TH1: Xâu A bằng xâu B nếu A và B giống hệt nhau.

Ví dụ: ‘TINHOC’ = ‘TINHOC’

‘11A11’ = ‘11A11’

TH2: Xâu A lớn hơn xâu B nếu xâu B là đoạn đầu của xâu A.

Ví dụ: ‘XAUKITU’ > ‘XAU’ ‘LOPHOC’ > ‘LOP’ ‘TINHOC’ < ‘TINHOC11’

Page 11: Bài 12: Kiểu xâu

TH3: Xâu A > xâu B nếu kí tự đầu tiên khác nhau giữa chúng ở xâu A có mã ASCII lớn hơn ở xâu B.

So sánh 2 xâu sau:

H A N O I H A N A M

BÀI 12: KIỂU XÂU ( TIẾT 1)

Các thao tác xử lí xâu:b. Các phép so sánh:

79 65

???

A n h a n h???

65 97

>

<

Page 12: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 1)

Bài tập về nhà:

• Ôn tập về khái niệm xâu, cách khai báo và tham chiếu tới phần tử trong xâu.

• Xem trước nội dung tiếp theo của phần 2 và phần 3 trong SGK trang 70-72

Trên con đường thành công không có dấu chân của kẻ lười biếng.

Page 13: Bài 12: Kiểu xâu
Page 14: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 2)

KIỂM TRA BÀI CŨ

- Nêu khái niệm xâu và cách khai báo xâu.

- Viết khai báo xâu Ghinho gồm 50 kí tự.

- Xâu là dãy kí tự trong bộ mã ASCII.- var Ghinho: string [50];

Page 15: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 2)

Một số thủ tục chuẩn:

o delete (st, vt, n): thực hiện việc xóa n kí tự của biến xâu st bắt đầu từ vị trí vt.

Ví dụ 1: st = ‘SONGHONG’

delete (S, 5, 4) S O N G H O N G

5

Kết quả: delete (S, 5, 4) = ‘SONG’

Page 16: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 2)

Một số thủ tục chuẩn:

Ví dụ 2:

st = ‘abcde’ delete (st, 1,4)

st = ‘e’

st = ‘abcde’

Ví dụ 3: delete (st, 5,4)

st = ‘abcd’

st = ‘abcde’

Ví dụ 4: delete (st, 2,6)

st = ‘a’

Page 17: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 2)

Một số thủ tục chuẩn:

o insert (s1, s2, vt): chèn xâu s1 vào xâu s2 bắt đầu ở vị trí vt.

Ví dụ 1:s1 = ‘HINH .2’s2 = ‘1’

H I N H 1 . 2

insert (s1, s2, 6)

H I N H . 21

6

Kết quả: insert (s1, s2, 6) = ‘HINH 1.2’

s1 s2

Page 18: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 2)

Một số thủ tục chuẩn:

Ví dụ 2:

s1 = ‘def’ insert (s1, s2, 2)

s2 = ‘adefb’

s2 = ‘ab’

s1 = ‘def’ insert (s1, s2, 3)

s2 = ‘abdef’

Page 19: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 2)

Một số hàm chuẩn:

o copy (s, vt, n): 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ụ 1:s = ‘TINHOC’

copy (s, 4, 3) T I N H O C

4

H O CKết quả:

Page 20: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 2)

Một số hàm chuẩn:

Ví dụ 2:

s = ‘def’ copy (s, 2, 2)

s2 = ‘ef’

s = ‘banbe’ copy (s, 1, 3)

s2 = ‘ban’

Ví dụ 3:

Page 21: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 2)

Một số hàm chuẩn:

o pos (s1, s2): cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2.

Ví dụ 1:s1 = ‘1’s2 = ‘LOP11A11’ L O P 1 1 A 1 1

pos (s1, s2) = ?

a.4

d.8c.7

b.5a.4

Page 22: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 2)

Một số hàm chuẩn:

o length (s): cho giá trị độ dài xâu s

s1= ‘LOP11A11CHAMNGOAN’

length (s1) = 17

s2= ‘hoctap’

length (s2) = 6

o upcase (ch): cho chữ cái in hoa ứng với chữ cái trong ch

s1= ‘a’

upcase (s1) = ‘A’

Page 23: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 2)

Một số ví dụ:

Ví dụ 1: Viết chương trình nhập 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.

Xác định Input, output của bài toán trên.

Input: nhập vào 2 xâu (a,b)Output: xuất xâu dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau.

Page 24: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 2)

Một số ví dụ:

o Phân tích, xử lý bài toán:- Nhập vào 2 xâu (a,b).- Kiểm tra: nếu độ dài xâu a lớn hơn độ dài xâu b thì xuất ra

xâu a, ngược lại thì xuất ra xâu b.- Xuất xâu dài hơn.

Page 25: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 2)

Một số ví dụ:

o Cài đặt:

var a,b: string;begin

write (‘Nhap ho ten nguoi thu nhat: ’);readln (a);write (‘Nhap ho ten nguoi thu hai: ’);readln (b);if (length (a) > length (b)) then write (a) else write (b);readln

end.

Page 26: Bài 12: Kiểu xâu

BÀI 12: KIỂU XÂU ( TIẾT 2)

Bài tập về nhà:

• Ôn tập khái niệm xâu, cách khai báo và tham chiếu tới phần tử của xâu.

• Hiểu và vận dụng linh hoạt các hàm và thủ tục chuẩn trên xâu.

• Làm các ví dụ 2,3,4,5 còn lại trong SGK trang 71- 72.

• Chuẩn bị bài: Bài tập và thực hành số 5.

Page 27: Bài 12: Kiểu xâu

CHÚC CÁC EM HỌC TỐT!

Trên con đường thành công không có dấu chân của kẻ lười biếng.