Tải bản đầy đủ (.ppt) (23 trang)

bài 12. kiểu xâu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (756.89 KB, 23 trang )

0
2
/
0
1
/
1
5
1
S
V
T
T
:

N
g
u
y

n

T
h


Q
u

n
h



N
h
ư
KIểM TRA BÀI CŨ

Khai báo m t m ng m t chi u có tên là ộ ả ộ ề hoten
g m 20 ph n t m i ph n t là m t kí t .ồ ầ ử ỗ ầ ử ộ ự

Vi t đo n ch ng trình đ nh p các ph n t cho ế ạ ươ ể ậ ầ ử
m ng ả hoten.

Tham chi u đ n ph n t th 2 c a m ng.ế ế ầ ử ứ ủ ả
0
2
/
0
1
/
1
5
2
S
V
T
T
:

N
g

u
y

n

T
h


Q
u

n
h

N
h
ư

Đáp án
Var hoten:array[1 20] of char
i:integer;
Begin
for i:=1 to 20 do
begin
write(‘nhap hoten[’,i,’]=‘);
readln(hoten[i]);
end;
readln;
End.

Tham chi u đ n ph n t th 2 c a m ng ế ế ầ ử ứ ủ ả
hoten[2]
0
2
/
0
1
/
1
5
3
S
V
T
T
:

N
g
u
y

n

T
h


Q
u


n
h

N
h
ư
KIểU XÂU (TIếT 1)
Giáo viên h ng d n: Cô Hoàng Khánh M .ướ ẫ ỹ
Giáo sinh: Nguy n Th Qu nh Nhễ ị ỳ ư
0
2
/
0
1
/
1
5
4
S
V
T
T
:

N
g
u
y


n

T
h


Q
u

n
h

N
h
ư
1. M T S KHÁI NI Mộ ố ệ

Ví d : ‘hocụ sinh’, ‘Lop11B’, ‘**’, ‘’ , ‘’
Đây là xâu kí tự

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 xâu đ c g i là đ dài xâu.ố ượ ự ượ ọ ộ

Xâu có đ dài b ng 0 đ c g i là xâu r ng.ộ ằ ượ ọ ỗ
0
2
/
0

1
/
1
5
5
S
V
T
T
:

N
g
u
y

n

T
h


Q
u

n
h

N
h

ư
Kiểu xâu
Đ DÀI C A XÂ Uộ ủ

‘hocsinh’
Có 8 kí t => Đ dài xâu b ng 8.ự ộ ằ

‘Lop11B’
Có 7 kí t => Đ dài xâu b ng 7.ự ộ ằ
0
2
/
0
1
/
1
5
6
S
V
T
T
:

N
g
u
y

n


T
h


Q
u

n
h

N
h
ư
V y s kí t c a xâu và đ dài xâu ậ ố ự ủ ộ
liên quan nh th nào?ư ế
S l ng kí t trong xâu đ c g i là đ dài xâuố ượ ự ượ ọ ộ
h o c

s i n h
1 2 3 4 5 6 7 8
L o p

1 1 B
1 2 3 4 5 6 7
2. KHAI BÁO
0
2
/
0

1
/
1
5
7
S
V
T
T
:

N
g
u
y

n

T
h


Q
u

n
h

N
h

ư
<tên biến>: [độ dài lớn nhất của xâu];Var string
L u ý: Đ dài l n nh t không v t quá 255)ư ộ ớ ấ ượ
Ví d : Var st: string [8];ụ
Var hoten: string[20];
Khai báo bi n ế
hoten có đ dài ộ
l n nhât là 20ớ
2. KHAI BÁO
Var a: string;

Chú ý: Khi khai báo bi n xâu mà không ch ra đ ế ỉ ộ
dài l n nh t c a xâu thì m c đ nh xâu có đ dài ớ ấ ủ ặ ị ộ
l n nh t là 255ớ ấ
0
2
/
0
1
/
1
5
8
S
V
T
T
:

N

g
u
y

n

T
h


Q
u

n
h

N
h
ư
Đúng Sai
3. NH P XU T D LI Uậ ấ ữ ệ

Nh pậ
Read (<danh sách bi n vào>);ế
readln(<danh sách bi n vào>);ế

Xu tấ
Write (<danh sách k t qu ra>);ế ả
writeln(<danh sách k t qu ra>);ế ả
Ví d : ụ write(‘nhap ho ten’);

readln(hoten);
Writeln(‘ho ten la’, hoten);
Readln(a,b);
write(‘xau 1 la’,a,’xau2 la’,b);
0
2
/
0
1
/
1
5
9
S
V
T
T
:

N
g
u
y

n

T
h



Q
u

n
h

N
h
ư

Dùng l nh gánệ
Cú pháp: tên_bi n_xâu:= h ng_xâu;ế ằ
Ví d :ụ st:=‘hoctap’;
s1:=‘’;
s2:=‘’
0
2
/
0
1
/
1
5
10
S
V
T
T
:


N
g
u
y

n

T
h


Q
u

n
h

N
h
ư
THAM CHI U Đ N T NG KÍ T C A ế ế ừ ự ủ
XÂU

Cú pháp
Tên_bi n[ch _s ]ế ỉ ố

Ví d : + hoten[2]ụ

Cho st:=‘Lop11B’
st[4]=???

st[4]=‘’
0
2
/
0
1
/
1
5
11
S
V
T
T
:

N
g
u
y

n

T
h


Q
u


n
h

N
h
ư
L o p

1 1 B
1 2 3 4 5 6 7
4. THAO TÁC Xử LÝ XÂU
A. PHÉP GHÉP XÂU (+)

Ví dụ: s1:= ‘hocsinh  ’; s2:= ‘Lop11B’;
s:=s1+s2;
s:=‘hocsinhLop11B’

Minh họa
+
Ý nghĩa: Phép ghép xâu dùng để ghép nhiều xâu
thành một
0
2
/
0
1
/
1
5
12

S
V
T
T
:

N
g
u
y

n

T
h


Q
u

n
h

N
h
ư
h o c

s i n h


L o p

1 1 B
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7
s1 s2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
h o c

s i n h

L o p

1 1 B
h o c

s i n h

L o p

1 1 B
A. PHÉP GHÉP XÂU (+)

Ví d 2: ụ
s1:=‘dong’;
s2:=‘thoi’;
s3:=‘gian’;
S:=s1+s2+s3;
=> S=‘dongthoigian’
0
2

/
0
1
/
1
5
13
S
V
T
T
:

N
g
u
y

n

T
h


Q
u

n
h


N
h
ư
4. THAO TÁC Xử LÝ XÂU
B. CÁC PHÉP TOÁN SO SÁNH

Các phép so sánh: Bằng(=), khác(<>), nhỏ hơn(<), lớn
hơn(>), nhỏ hơn hoặc bằng(<=), lớn hơn hoặc bằng(>=)

Để so sánh xâu, chúng ta phải dựa vào mã ASCII của kí tự
trong xâu.

Muốn so sánh hai xâu bất kì ta dùng 3 quy tắc so sánh xâu
0
2
/
0
1
/
1
5
14
S
V
T
T
:

N
g

u
y

n

T
h


Q
u

n
h

N
h
ư
QUY TắC 1

Xâu A > 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.

Ví dụ : s1:=‘ ’; s2:=‘ ’;

s1 s2

Ví dụ 2: s3:=‘ ’; s4:=‘ ’;
s3 s4


Chú ý: Xâu có độ dài lớn hơn chưa chắc đã lớn hơn xâu
có độ dài nhỏ hơn.
0
2
/
0
1
/
1
5
15
S
V
T
T
:

N
g
u
y

n

T
h


Q
u


n
h

N
h
ư
C
c
?
BA
AB
<
a
B
C
a
>
?
C<c
a>B
QUY TắC 2

Ví dụ: s1:= ; s2:=
s1 s2

N u A và B là các xâu có đ dài khác nhau và A ế ộ
là đo n đ u c a B thì A nh h n B.ạ ầ ủ ỏ ơ
0
2

/
0
1
/
1
5
16
S
V
T
T
:

N
g
u
y

n

T
h


Q
u

n
h


N
h
ư
‘AB’
‘AB ’
?<
C
QUY TắC 3

Hai xâu được gọi là bằng nhau nếu chúng giống nhau hoàn
toàn.

Ví dụ: s1:=‘ABC’; s2:=‘ABC’;
s1=s2
0
2
/
0
1
/
1
5
17
S
V
T
T
:

N

g
u
y

n

T
h


Q
u

n
h

N
h
ư
CủNG Cố KIếN THứC
Câu 1: Trong các khai báo sau, khai báo
nào sai?
a. var a: string[15];
b. var a,b:string[15];
c. var a,b: string[256];
d. var a:string;
0
2
/
0

1
/
1
5
18
S
V
T
T
:

N
g
u
y

n

T
h


Q
u

n
h

N
h

ư
Câu 2: Cho xâu st:= ‘Hoahoctro’. Giá tr t i ph n ị ạ ầ
t th 7 s là?ử ứ ẽ
a. ‘c’
b. ‘’
c. ‘t’
d. ‘’
0
2
/
0
1
/
1
5
19
S
V
T
T
:

N
g
u
y

n

T

h


Q
u

n
h

N
h
ư
Câu 3: Cho 2 xâu s1:= ‘truong’; s2:= ‘noitru’;
Th c hi nự ệ câu l nh ệ
s:=s1+s2+ ‘’;
Ta đ c k t qu nào sau đây?ươ ế ả
a. ‘truongnoitru’
b. ‘truongnoitru’
c. ‘truongnoitru’
d. ‘truongnoitru’
0
2
/
0
1
/
1
5
20
S

V
T
T
:

N
g
u
y

n

T
h


Q
u

n
h

N
h
ư
Câu 4: Cho 2 xâu:
a:= ‘hoahong’
b:= ‘hoahong’
Mã ASCII c a kí t ‘ủ ự ’=32. Mã ASCII c a kí t ‘h’ = ủ ự
104.

So sánh hai xâu a và b. Đáp án đúng là?
a. a>b
b. a<b
c. a=b
0
2
/
0
1
/
1
5
21
S
V
T
T
:

N
g
u
y

n

T
h



Q
u

n
h

N
h
ư
Câu 5: Cho 2 xâu a:= ‘tin’; b:= ‘hoclop11’; Mã
ASCII c a kí t ‘t’=116. Mã ASCII c a kí t ủ ự ủ ự
‘h’=104.
So sánh hai xâu a và b. Đáp án đúng là?
a. a>b
b. a<b
c. a=b
0
2
/
0
1
/
1
5
22
S
V
T
T
:


N
g
u
y

n

T
h


Q
u

n
h

N
h
ư
0
2
/
0
1
/
1
5
23

S
V
T
T
:

N
g
u
y

n

T
h


Q
u

n
h

N
h
ư

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×