1 of 16

KIỂM TRA BÀI CŨ

Viết chương trình nhập vào từ bàn phím họ và tên của em. In ra màn hình họ và tên vừa nhập.

2 of 16

KIỂU XÂU (TIẾT 1)

Bài 12:

3 of 16

1. Khá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ự trong 1 xâu được gọi là độ dài xâu.
  • Xâu có độ dài bằng 0 gọi là xâu rỗng.

Cho xâu A:=’’; xâu A có độ dài bằng bao nhiêu?

4 of 16

1. Khái niệm về xâu

Chú ý: Có thể xem xâu như là mảng một chiều, mỗi phần tử là một kí tự. Các kí tự của xâu được đánh số thứ tự, thường bắt đầu bằng 1.

N

g

h

e

A

n

A

1

2

3

4

5

6

7

- Tham chiếu đến từng phần tử của xâu:

<tên biến xâu>[chỉ số]

- Ví dụ: A[6] = ‘A’, A[5] = ‘ ‘, A[2] = ‘g’.

5 of 16

2. Khai báo

Cú pháp:

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

Trong đó:

  • tên biến xâu: bao gồm chữ số, kí tự, dấu gạch dưới, không được bắt đầu bằng chữ số, không chứa các kí tự đặc biệt.
  • string: tên dành riêng để khai báo dữ liệu kiểu xâu.
  • độ dài lớn nhất của xâu: không vượt quá 255 kí tự.

6 of 16

Ví dụ:

Hãy chỉ ra những khai báo đúng trong những khai báo sau:

A, var st: string[20];

B, var hoten: string[300];

C, var 11A1: string[25];

D, var diachi: string;

2. Khai báo

Lưu ý: Trong mô tả xâu có thể bỏ qua 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à 255.

7 of 16

3. Các thao tác xử lí xâu

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

Kí hiệu

+

Ý nghĩa

ghép nhiều xâu thành một

Ví dụ 1: Phép ghép xâu:

A:=’Vinh’+’-‘+’Nghe An’;

Cho ra kết quả là gì ?

A:=‘Vinh-Nghe An’;

Ví dụ 2: Cho 2 xâu s1:=’123 ’;

s2:=’Nghe An’;

Thực hiện s1+s2 cho ra kết quả gì?

S:=‘123 Nghe An’;

8 of 16

3. Các thao tác xử lí xâu

b. Phép so sánh xâu.

Kí hiệu

>, <, >=, <=, =, <>

Ý nghĩa

so sánh 2 xâu

‘NGHE AN’ ’NGHE AN’

Quy tắc:

+ Xâu A = B: chúng hoàn toàn giống nhau.

+ Xâu A > B:

• Kí tự đầu tiên khác nhau giữa A và B kể từ trái sang trong xâu A có mã ASCII lớn hơn trong xâu B.

• Xâu B là đoạn đầu của xâu A.

‘NGHE an’   ‘NGHE An’

‘nghe tinh’ ’nghe an’

 ‘nghe an’ ’nghe’

=

>

>

>

9 of 16

3. Các thao tác xử lí xâu

c. Thủ tục

Cú pháp

delete(st, vt, n)

Ý nghĩa

Xoá n kí tự của xâu st bắt đầu từ vị trí vt

* Thủ tục delete

Ví dụ: Cho A:=’Nghe An’; Thực hiện thao tác sau cho ra kết quả gì?

  1. Delete(A, 5, 3)
  2. Delete(A, 3, 2)
  3. Delete(A, 1, 4)

 

N

g

h

e

A

1

2

3

4

= ‘Nghe’;

= ‘Ng An’;

= ‘An’;

A

n

5

6

7

10 of 16

3. Các thao tác xử lí xâu

c. Thủ tục

Cú pháp

insert(s1, s2, vt)

Ý nghĩa

Chèn xâu s1 vào xâu s2, bắt đầu ở vị trí vt

* Thủ tục insert

Ví dụ: Cho A:=’ Vinh’; B:=’1234’;

Thực hiện thao tác sau cho ra kết quả gì?

a. Insert(A, B, 3)

b. Insert(A, B, 1)

c. Insert(A, B, 4)

 

V

i

n

h

A

1

2

3

4

1

2

B

1

2

3

4

= ‘12Vinh34’;

= ‘Vinh1234’;

= ‘123Vinh4’;

3

4

5

6

7

8

V

i

n

h

1

2

3

4

1

2

3

4

1

2

3

4

11 of 16

Bài tập trắc nghiệm:

1. Cách khai báo biến xâu nào dưới đây là sai:

A. var A: string;

B. var A: string[50];

C. var A=string[20];

D. var A: string[100];

12 of 16

Bài tập trắc nghiệm:

2. So sánh 2 xâu: s1:=’BCAD’ và s2:=’BCaD’:

A. s1 > s2

B. s1 = s2

C. s1 < s2

D. s1 <> s2

13 of 16

Bài tập trắc nghiệm:

3. Xâu A:=’Vinh – Nghe An’ ; là kết quả của phép ghép xâu nào ?

A. ‘Vinh’+’Nghe An’

B. ‘Vinh’+’-‘+’Nghe An’

C. ‘Vinh’+’ – ‘+’Nghe An’

D. ‘Vinh -’+Nghe An’

14 of 16

Bài tập trắc nghiệm:

4. Cho 2 xâu: A:=’Kinh chao’; B:=’quy khach’;

Thực hiện lệnh delete(A,5,5) cho kết quả là:

A. ‘Kinh ‘

B. ‘Kinh’

C. ‘quy ‘

D. ‘quy k’

15 of 16

Bài tập trắc nghiệm:

5. Cho 2 xâu: A:=’Kinh chao’; B:=’quy khach’;

Thực hiện lệnh insert(A,B,1) cho kết quả là:

A. ‘Kinh chao quy khach’

B. ‘Kinh chaoquy khach’

C. ‘quy khach Kinh chao’

D. ‘quy khachKinh chao’

16 of 16

Thanks for watching