Tải bản đầy đủ (.pdf) (32 trang)

Sáng kiến kinh nghiệm phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

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 (1.66 MB, 32 trang )

Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

MỤC LỤC
TÀI LIỆU THAM KHẢO ...................................................................................................... 2
BÁO CÁO KẾT QUẢ NGHIÊN CỨU, ỨNG DỤNG SÁNG KIẾN .................................. 3
1. LỜI GIỚI THIỆU .......................................................................................................... 3
1.1. Lí do chọn đề tài ........................................................................................................ 3
1.2. Mục tiêu nghiên cứu .................................................................................................. 3
Mang l■i tr■ nghi■m m■i m■ cho ng■■i dùng, công ngh■ hi■n th■ hi■n ■■i, b■n online khơng khác gì so v■i b■n g■c. B■n có th■ phóng to, thu nh■ tùy ý.

1.3. Đối tượng nghiên cứu ................................................................................................ 4
1.4. Phương pháp thực hiện .............................................................................................. 4
2. TÊN SÁNG KIẾN: ......................................................................................................... 4
3. TÁC GIẢ SÁNG KIẾN: ................................................................................................ 4
4. CHỦ ĐẦU TƯ TẠO RA SÁNG KIẾN ......................................................................... 5
5. LĨNH VỰC ÁP DỤNG SÁNG KIẾN ........................................................................... 5
6. NGÀY SÁNG KIẾN ĐƯỢC ÁP DỤNG LẦN ĐẦU.................................................... 5
7. MÔ TẢ BẢN CHẤT CỦA SÁNG KIẾN ...................................................................... 5
CHƯƠNG I: CƠ SỞ LÍ LUẬN CỦA ĐỀ TÀI ............................................................ 5
sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em


sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem

sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

CHƯƠNG II: THỰC TRẠNG CỦA VẤN ĐỀ NGHIÊN CỨU................................. 6
sa

CHƯƠNG III: NỘI DUNG CỦA ĐỀ TÀI ................................................................... 6
1. Lý thuyết về kiểu xâu .............................................................................................. 6
1.1. Khái niệm .......................................................................................................... 6
1.2. Khai báo ............................................................................................................ 7
1.3. Các thao tác xử lý xâu:...................................................................................... 7
2. Các dạng bài tập kiểu xâu..................................................................................... 10
Dạng 1: Kiểm tra xâu thỏa mãn tính chất nào đó ...................................................... 10
Dạng 2: Đếm số lần xuất hiện của các kí tự trong xâu .............................................. 15
Dạng 3: Mã hóa và giải mã ........................................................................................ 18
Dạng 4: Xóa và thay thế............................................................................................. 21
Dạng 5: Chuyển số sang xâu và ngược lại ................................................................. 23
8. NHỮNG THƠNG TIN CẦN ĐƯỢC BẢO MẬT (NẾU CĨ):.................................. 30
9. CÁC ĐIỀU KIỆN CẦN THIẾT ĐỂ ÁP DỤNG SÁNG KIẾN: ............................... 30

10. ĐÁNH GIÁ LỢI ÍCH THU ĐƯỢC .......................................................................... 30
KẾT LUẬN ............................................................................................................................ 31
11. DANH SÁCH NHỮNG TỔ CHỨC/CÁ NHÂN ĐÃ THAM GIA ÁP DỤNG THỬ
HOẶC ÁP DỤNG SÁNG KIẾN LẦN ĐẦU (NẾU CĨ): .............................................. 31

1

123doc
Xu■t
Sau
Nhi■u
h■n
phát
event
s■
m■t
t■
h■u
thú
ýn■m
t■■ng
m■t
v■,raevent
kho
■■i,
t■oth■
c■ng
ki■m
123doc
vi■n

■■ng
ti■n
kh■ng
■ãthi■t
t■ng
ki■m
l■
th■c.
b■■c
v■i
ti■nh■n
123doc
online
kh■ng
2.000.000
b■ng
ln
■■nh
ln
tàitài
v■
li■u
t■o
li■u
tríhi■u
c■
c■a
■ t■t
h■i
qu■

mình
c■
gianh■t,
trong
l■nh
t■nguy
v■c:
l■nh
thu
tínnh■p
tài
v■c
cao
chính
nh■t.
tài
online
li■u
tínMong
cho
d■ng,
và kinh
t■t
mu■n
cơng
c■
doanh
các
mang
ngh■

online.
thành
l■i
thơng
cho
viên
Tính
tin,
c■ng
c■a
■■n
ngo■i
website.
■■ng
th■i
ng■,...Khách
■i■m
xã h■itháng
m■thàng
ngu■n
5/2014;
có th■
tài
123doc
ngun
d■ dàng
v■■t
tri tra
th■c
m■c

c■u
q
100.000
tàibáu,
li■uphong
m■t
l■■t cách
truy
phú,c■p
chính
■am■i
d■ng,
xác,
ngày,
nhanh
giàus■
giá
chóng.
h■u
tr■ 2.000.000
■■ng th■ithành
mongviên
mu■n
■■ng
t■oký,
■i■u
l■t ki■n
vào top
cho200
chocác

cácwebsite
users cóph■
thêm
bi■n
thunh■t
nh■p.
t■iChính
Vi■t Nam,
vì v■yt■123doc.net
l■ tìm ki■m
ra thu■c
■■i nh■m
top 3■áp
Google.
■ng Nh■n
nhu c■u
■■■c
chiadanh
s■ tài
hi■u
li■udo
ch■t
c■ng
l■■ng
■■ng
vàbình
ki■mch■n
ti■n là
online.
website ki■m ti■n online hi■u qu■ và uy tín nh■t.

Nhi■u
123doc
Sau
Th■a
khi
thu■n
event
s■
cam
nh■n
h■u
k■t
s■
thú
xác
m■t
d■ng
v■,
s■
nh■n
mang
event
kho
1. t■
th■
l■i
ki■m
■■ng
CH■P
vi■n

nh■ng
ti■n
h■
kh■ng
NH■N
quy■n
th■ng
thi■tl■
CÁC
th■c.
s■
l■i
v■ichuy■n
■I■U
t■t
h■n
123doc
nh■t
2.000.000
KHO■N
sang
ln
cho ng■■i
ph■n
ln
TH■A
tàit■o
li■u
thơng
dùng.

THU■N
c■
■ tin
t■t
h■i
Khixác
c■
khách
giaminh
l■nh
t■ng
Chào
hàng
tài
v■c:
thu
m■ng
kho■n
tr■
nh■p
tài thành
b■n
chính
email
online
■■n
thành
tínb■n
cho
d■ng,

v■i
viên
■ã
t■t
123doc.
123doc.net!
cơng
■■ng
c■a
c■ các
ngh■
123doc
kýthành
v■i
Chúng
thơng

123doc.netLink
viên
n■p
tơi
tin,
c■a
cung
ti■n
ngo■i
website.
vào
c■p
ng■,...Khách

xác
tài
D■ch
kho■n
th■c
V■
s■
c■a
(nh■
hàng
■■■c
123doc,
■■■c
cóg■i
th■v■

b■n
d■■■a
t■
dàng
s■
d■■i
■■■c
ch■
tra■ây)
email
c■u
h■■ng
cho
tài

b■n
li■u
b■n,
nh■ng
■ã
m■t
tùy
■■ng
quy■n
cách
thu■c
ky,
chính
l■i
b■n
vàosau
xác,
các
vuin■p
lịng
“■i■u
nhanh
ti■n
■■ng
Kho■n
chóng.
trên
nh■p
website
Th■a

email
Thu■n
c■a v■
mình
S■vàD■ng
click D■ch
vào link
V■”
123doc
sau ■ây
■ã (sau
g■i ■ây ■■■c g■i t■t T■i t■ng th■i ■i■m, chúng tơi có th■ c■p nh■t ■KTTSDDV theo quy■t ...
Nhi■u
Mang
Ln
123doc
Th■a
Xu■t
Sau
khi
h■n
h■■ng
phát
thu■n
l■i
event
s■
cam
nh■n
m■t

tr■
t■
h■u
k■t
s■
thú
nghi■m
t■i
ýxác
n■m
t■■ng
m■t
d■ng
v■,

s■
nh■n
website
ra
mang
event
kho
m■i
■■i,
1.
t■o
t■
th■
m■
l■i

c■ng
ki■m
■■ng
d■n
123doc
CH■P
vi■n
nh■ng
cho
■■u
■■ng
ti■n
h■
kh■ng
ng■■i
NH■N
■ã
quy■n
th■ng
thi■t
chia
t■ng
ki■m
dùng,
l■
CÁC
s■
th■c.
s■
l■i

b■■c
v■i
ti■n
vàchuy■n
■I■U
t■t
cơng
h■n
mua
123doc
online
kh■ng
nh■t
2.000.000
ngh■
bán
KHO■N
sang
b■ng
ln
cho
tài
■■nh
hi■n
ng■■i
li■u
ph■n
ln
tài
TH■A

tài
v■
th■
li■u
hàng
t■o
li■u
thơng
dùng.
tríhi■n
THU■N
hi■u
c■
c■a
■■u
■ tin
t■t
h■i
Khi
■■i,
qu■
mình
Vi■t
xác
c■
khách
gia
b■n
nh■t,
minh

trong
l■nh
Nam.
t■ng
Chào
online
hàng
uy
tài
v■c:
l■nh
thu
Tác
m■ng
tín
kho■n
tr■
nh■p
khơng
tài
phong
v■c
cao
thành
b■n
chính
email
nh■t.
tài
online

khác
chun
■■n
li■u
thành
tínb■n
Mong

cho
d■ng,

v■i
so
nghi■p,
viên
kinh
■ã
t■t
123doc.
123doc.net!
v■i
mu■n
cơng
■■ng
c■a
c■
doanh
b■n
các
hồn

mang
ngh■
123doc

g■c.
online.
thành
v■i
h■o,
Chúng
l■i
thơng
B■n

123doc.netLink
cho
viên
Tính
■■
n■p

tơi
tin,
c■ng
c■a
cao
th■
■■n
cung
ti■n

ngo■i
tính
website.
phóng
■■ng
th■i
vào
c■p
ng■,...Khách
trách
xác
tài
■i■m
D■ch

to,kho■n
th■c
nhi■m
h■i
thutháng
V■
nh■
m■t
s■
c■a
(nh■
■■i
hàng
■■■c
tùy

ngu■n
5/2014;
123doc,
v■i
■■■c
ý.
cóg■i
t■ng
th■
tài
123doc
v■

ngun
b■n
d■
ng■■i
■■a
t■
dàng
s■
v■■t
d■■i
tri
dùng.
■■■c
ch■
tra
th■c
m■c

■ây)
email
c■u
M■c
h■■ng
q
100.000
cho
tài
b■n
tiêu
báu,
li■u
b■n,
nh■ng
■ã
hàng
phong
m■t
l■■t
tùy
■■ng
■■u
quy■n
cách
truy
thu■c
phú,
ky,
c■a

c■p
chính
■a
l■i
b■n
vào
123doc.net
m■i
d■ng,
sau
xác,
các
vuingày,
n■p
lịng
“■i■u
nhanh
giàu
ti■n
s■
■■ng
tr■
giá
Kho■n
chóng.
h■u
trên
thành
tr■
nh■p

2.000.000
website
■■ng
Th■a
th■
email
vi■n
th■i
Thu■n
c■a
thành
mong
tài v■
li■u
mình
viên
mu■n
S■
online

■■ng
D■ng
click
t■o
l■n
ký,
D■ch
■i■u
vào
nh■t

l■t
link
ki■n
V■”
vào
Vi■t
123doc
top
sau
cho
Nam,
200
■ây
cho
■ã
cung
các
các
(sau
g■iwebsite
c■p
users
■âynh■ng
■■■c
cóph■
thêm
tài
bi■n
g■i
thu

li■u
t■t
nh■t
nh■p.
■■c
T■it■i
khơng
t■ng
Chính
Vi■tth■i
th■
Nam,
vì v■y
■i■m,
tìm
t■123doc.net
th■y
l■chúng
tìm
trên
ki■m
tơi
th■
racóthu■c
■■i
tr■■ng
th■nh■m
c■p
top
ngo■i

3nh■t
■áp
Google.
tr■
■KTTSDDV
■ng
123doc.net.
Nh■n
nhu c■u
■■■c
theo
chiaquy■t
danh
s■ tài
hi■u
...li■udo
ch■t
c■ng
l■■ng
■■ng
vàbình
ki■mch■n
ti■n là
online.
website ki■m ti■n online hi■u qu■ và uy tín nh■t.
Mangh■n
Ln
123doc
Th■a
Xu■t

Sau
Nhi■u
khi
h■■ng
phát
thu■n
l■i
event
s■
cam
nh■n
m■t
tr■
t■
h■u
k■t
s■
thú
nghi■m
t■i
ýxác
n■m
t■■ng
m■t
d■ng
v■,

s■
nh■n
website

ra
mang
event
kho
m■i
■■i,
1.
t■o
t■
th■
m■
l■i
c■ng
ki■m
■■ng
d■n
123doc
CH■P
vi■n
nh■ng
cho
■■u
■■ng
ti■n
h■
kh■ng
ng■■i
NH■N
■ã
quy■n

th■ng
thi■t
chia
t■ng
ki■m
dùng,
l■
CÁC
s■
th■c.
s■
l■i
b■■c
v■i
ti■n
vàchuy■n
■I■U
t■t
cơng
h■n
mua
123doc
online
kh■ng
nh■t
2.000.000
ngh■
bán
KHO■N
sang

b■ng
ln
cho
tài
■■nh
hi■n
ng■■i
li■u
ph■n
ln
tài
TH■A
tài
v■
th■
li■u
hàng
t■o
li■u
thơng
dùng.
tríhi■n
THU■N
hi■u
c■
c■a
■■u
■ tin
t■t
h■i

Khi
■■i,
qu■
mình
Vi■t
xác
c■
khách
gia
b■n
nh■t,
minh
trong
l■nh
Nam.
t■ng
Chào
online
hàng
uy
tài
v■c:
l■nh
thu
Tác
m■ng
tín
kho■n
tr■
nh■p

khơng
tài
phong
v■c
cao
thành
b■n
chính
email
nh■t.
tài
online
khác
chun
■■n
li■u
thành
tínb■n
Mong

cho
d■ng,

v■i
so
nghi■p,
viên
kinh
■ã
t■t

123doc.
123doc.net!
v■i
mu■n
cơng
■■ng
c■a
c■
doanh
b■n
các
hồn
mang
ngh■
123doc

g■c.
online.
thành
v■i
h■o,
Chúng
l■i
thơng
B■n

123doc.netLink
cho
viên
Tính

■■
n■p

tơi
tin,
c■ng
c■a
cao
th■
■■n
cung
ti■n
ngo■i
tính
website.
phóng
■■ng
th■i
vào
c■p
ng■,...Khách
trách
xác
tài
■i■m
D■ch

to,kho■n
th■c
nhi■m

h■i
thutháng
V■
nh■
m■t
s■
c■a
(nh■
■■i
hàng
■■■c
tùy
ngu■n
5/2014;
123doc,
v■i
■■■c
ý.
cóg■i
t■ng
th■
tài
123doc
v■

ngun
b■n
d■
ng■■i
■■a

t■
dàng
s■
v■■t
d■■i
tri
dùng.
■■■c
ch■
tra
th■c
m■c
■ây)
email
c■u
M■c
h■■ng
q
100.000
cho
tài
b■n
tiêu
báu,
li■u
b■n,
nh■ng
■ã
hàng
phong

m■t
l■■t
tùy
■■ng
■■u
quy■n
cách
truy
thu■c
phú,
ky,
c■a
c■p
chính
■a
l■i
b■n
vào
123doc.net
m■i
d■ng,
sau
xác,
các
vuingày,
n■p
lịng
“■i■u
nhanh
giàu

ti■n
s■
■■ng
tr■
giá
Kho■n
chóng.
h■u
trên
thành
tr■
nh■p
2.000.000
website
■■ng
Th■a
th■
email
vi■n
th■i
Thu■n
c■a
thành
mong
tài v■
li■u
mình
viên
mu■n
S■

online

■■ng
D■ng
click
t■o
l■n
ký,
D■ch
■i■u
vào
nh■t
l■t
link
ki■n
V■”
vào
Vi■t
123doc
top
sau
cho
Nam,
200
■ây
cho
■ã
cung
các
các

(sau
g■iwebsite
c■p
users
■âynh■ng
■■■c
cóph■
thêm
tài
bi■n
g■i
thu
li■u
t■t
nh■t
nh■p.
■■c
T■it■i
khơng
t■ng
Chính
Vi■tth■i
th■
Nam,
vì v■y
■i■m,
tìm
t■123doc.net
th■y
l■chúng

tìm
trên
ki■m
tơi
th■
racóthu■c
■■i
tr■■ng
th■nh■m
c■p
top
ngo■i
3nh■t
■áp
Google.
tr■
■KTTSDDV
■ng
123doc.net.
Nh■n
nhu c■u
■■■c
theo
chiaquy■t
danh
s■ tài
hi■u
...li■udo
ch■t
c■ng

l■■ng
■■ng
vàbình
ki■mch■n
ti■n là
online.
website ki■m ti■n online hi■u qu■ và uy tín nh■t.
Lnh■n
123doc
Th■a
Xu■t
Sau
khi
h■■ng
phát
thu■n
cam
nh■n
m■t
t■k■t
s■
t■i
ýxác
n■m
t■■ng
d■ng

s■
nh■n
website

ra
mang
■■i,
1.
t■o
t■l■i
c■ng
■■ng
d■n
123doc
CH■P
nh■ng
■■u
■■ng
h■
NH■N
■ã
quy■n
th■ng
chia
t■ng
ki■m
CÁC
s■s■
l■i
b■■c
ti■n
vàchuy■n
■I■U
t■t

mua
online
kh■ng
nh■t
bán
KHO■N
sang
b■ng
cho
tài
■■nh
ng■■i
li■u
ph■n
tài
TH■A
v■
li■u
hàng
thơng
dùng.
tríTHU■N
hi■u
c■a
■■u
tin
Khi
qu■
mình
Vi■t

xác
khách
nh■t,
minh
trong
Nam.
Chào
hàng
uy
tài
l■nh
Tác
m■ng
tín
kho■n
tr■
phong
v■c
cao
thành
b■n
email
nh■t.
tàichun
■■n
li■u
thành
b■n
Mong


v■i
nghi■p,
viên
kinh
■ã
123doc.
123doc.net!
mu■n
■■ng
c■a
doanh
hồn
mang
123doc
kýonline.
v■i
h■o,
Chúng
l■ivà
123doc.netLink
cho
Tính
■■
n■p
tơi
c■ng
cao
■■n
cung
ti■n

tính
■■ng
th■i
vào
c■p
trách
xác
tài
■i■m
D■ch
xãkho■n
th■c
nhi■m
h■itháng
V■
m■t
s■
c■a
(nh■
■■i
■■■c
ngu■n
5/2014;
123doc,
v■i
■■■c
g■i
t■ng
tài
123doc

v■

ngun
b■n
ng■■i
■■a
t■s■
v■■t
d■■i
tri
dùng.
■■■c
ch■
th■c
m■c
■ây)
email
M■c
h■■ng
q
100.000
cho
b■n
tiêu
báu,
b■n,
nh■ng
■ã
hàng
phong

l■■t
tùy
■■ng
■■u
quy■n
truy
thu■c
phú,
ky,
c■a
c■p
■a
l■i
b■n
vào
123doc.net
m■i
d■ng,
sau
các
vuingày,
n■p
lịng
“■i■u
giàu
ti■n
s■
■■ng
tr■
giá

Kho■n
h■u
trên
thành
tr■
nh■p
2.000.000
website
■■ng
Th■a
th■
email
vi■n
th■i
Thu■n
c■a
thành
mong
tài v■
li■u
mình
viên
mu■n
S■
online

■■ng
D■ng
click
t■o

l■n
ký,
D■ch
■i■u
vào
nh■t
l■t
link
ki■n
V■”
vào
Vi■t
123doc
top
sau
cho
Nam,
200
■ây
cho
■ã
cung
các
các
(sau
g■iwebsite
c■p
users
■âynh■ng
■■■c

cóph■
thêm
tài
bi■n
g■i
thu
li■u
t■t
nh■t
nh■p.
■■c
T■it■i
khơng
t■ng
Chính
Vi■tth■i
th■
Nam,
vì v■y
■i■m,
tìm
t■123doc.net
th■y
l■chúng
tìm
trên
ki■m
tơi
th■
racóthu■c

■■i
tr■■ng
th■nh■m
c■p
top
ngo■i
3nh■t
■áp
Google.
tr■
■KTTSDDV
■ng
123doc.net.
Nh■n
nhu c■u
■■■c
theo
chiaquy■t
danh
s■ tài
hi■u
...li■udo
ch■t
c■ng
l■■ng
■■ng
vàbình
ki■mch■n
ti■n là
online.

website ki■m ti■n online hi■u qu■ và uy tín nh■t.
Lnh■n
Th■a
Xu■t
Sau
Nhi■u
123doc
Mang
khi
h■■ng
phát
thu■n
l■i
event
cam
s■
nh■n
m■t
tr■
t■
h■u
k■t
s■
thú
nghi■m
t■i
ýxác
n■m
t■■ng
m■t

d■ng
v■,

s■
nh■n
website
ra
mang
event
kho
m■i
■■i,
1.
t■o
t■
th■
m■
l■i
c■ng
ki■m
■■ng
d■n
123doc
CH■P
vi■n
nh■ng
cho
■■u
■■ng
ti■n

h■
kh■ng
ng■■i
NH■N
■ã
quy■n
th■ng
thi■t
chia
t■ng
ki■m
dùng,
l■
CÁC
s■
th■c.
s■
l■i
b■■c
v■i
ti■n
vàchuy■n
■I■U
t■t
cơng
h■n
mua
123doc
online
kh■ng

nh■t
2.000.000
ngh■
bán
KHO■N
sang
b■ng
ln
cho
tài
■■nh
hi■n
ng■■i
li■u
ph■n
ln
tài
TH■A
tài
v■
th■
li■u
hàng
t■o
li■u
thơng
dùng.
tríhi■n
THU■N
hi■u

c■
c■a
■■u
■ tin
t■t
h■i
Khi
■■i,
qu■
mình
Vi■t
xác
c■
khách
gia
b■n
nh■t,
minh
trong
l■nh
Nam.
t■ng
Chào
online
hàng
uy
tài
v■c:
l■nh
thu

Tác
m■ng
tín
kho■n
tr■
nh■p
khơng
tài
phong
v■c
cao
thành
b■n
chính
email
nh■t.
tài
online
khác
chun
■■n
li■u
thành
tínb■n
Mong

cho
d■ng,

v■i

so
nghi■p,
viên
kinh
■ã
t■t
123doc.
123doc.net!
v■i
mu■n
cơng
■■ng
c■a
c■
doanh
b■n
các
hồn
mang
ngh■
123doc

g■c.
online.
thành
v■i
h■o,
Chúng
l■i
thơng

B■n

123doc.netLink
cho
viên
Tính
■■
n■p

tơi
tin,
c■ng
c■a
cao
th■
■■n
cung
ti■n
ngo■i
tính
website.
phóng
■■ng
th■i
vào
c■p
ng■,...Khách
trách
xác
tài

■i■m
D■ch

to,kho■n
th■c
nhi■m
h■i
thutháng
V■
nh■
m■t
s■
c■a
(nh■
■■i
hàng
■■■c
tùy
ngu■n
5/2014;
123doc,
v■i
■■■c
ý.
cóg■i
t■ng
th■
tài
123doc
v■


ngun
b■n
d■
ng■■i
■■a
t■
dàng
s■
v■■t
d■■i
tri
dùng.
■■■c
ch■
tra
th■c
m■c
■ây)
email
c■u
M■c
h■■ng
q
100.000
cho
tài
b■n
tiêu
báu,

li■u
b■n,
nh■ng
■ã
hàng
phong
m■t
l■■t
tùy
■■ng
■■u
quy■n
cách
truy
thu■c
phú,
ky,
c■a
c■p
chính
■a
l■i
b■n
vào
123doc.net
m■i
d■ng,
sau
xác,
các

vuingày,
n■p
lịng
“■i■u
nhanh
giàu
ti■n
s■
■■ng
tr■
giá
Kho■n
chóng.
h■u
trên
thành
tr■
nh■p
2.000.000
website
■■ng
Th■a
th■
email
vi■n
th■i
Thu■n
c■a
thành
mong

tài v■
li■u
mình
viên
mu■n
S■
online

■■ng
D■ng
click
t■o
l■n
ký,
D■ch
■i■u
vào
nh■t
l■t
link
ki■n
V■”
vào
Vi■t
123doc
top
sau
cho
Nam,
200

■ây
cho
■ã
cung
các
các
(sau
g■iwebsite
c■p
users
■âynh■ng
■■■c
cóph■
thêm
tài
bi■n
g■i
thu
li■u
t■t
nh■t
nh■p.
■■c
T■it■i
khơng
t■ng
Chính
Vi■tth■i
th■
Nam,

vì v■y
■i■m,
tìm
t■123doc.net
th■y
l■chúng
tìm
trên
ki■m
tơi
th■
racóthu■c
■■i
tr■■ng
th■nh■m
c■p
top
ngo■i
3nh■t
■áp
Google.
tr■
■KTTSDDV
■ng
123doc.net.
Nh■n
nhu c■u
■■■c
theo
chiaquy■t

danh
s■ tài
hi■u
...li■udo
ch■t
c■ng
l■■ng
■■ng
vàbình
ki■mch■n
ti■n là
online.
website ki■m ti■n online hi■u qu■ và uy tín nh■t.
u■t phát
Nhi■u
Mang
Ln
123doc
Th■a
Xu■t
Sau
khi
h■n
h■■ng
phát
thu■n
l■i
event
s■
cam

nh■n
t■
m■t
tr■
t■
h■u
ýk■t
s■
thú
nghi■m
t■i
ýt■■ng
xác
n■m
t■■ng
m■t
d■ng
v■,

s■
nh■n
website
ra
mang
event
t■o
kho
m■i
■■i,
1.

t■o
t■
c■ng
th■
m■
l■i
c■ng
ki■m
■■ng
d■n
123doc
CH■P
vi■n
nh■ng
cho
■■ng
■■u
■■ng
ti■n
h■
kh■ng
ng■■i
NH■N
■ã
quy■n
th■ng
thi■t
chia
ki■m
t■ng

ki■m
dùng,
l■
CÁC
s■
th■c.
ti■n
s■
l■i
b■■c
v■i
ti■n
vàchuy■n
■I■U
t■t
cơng
online
h■n
mua
123doc
online
kh■ng
nh■t
2.000.000
ngh■
bán
KHO■N
b■ng
sang
b■ng

ln
cho
tài
■■nh
hi■n
tài
ng■■i
li■u
ph■n
ln
tài
TH■A
li■u
tài
v■
th■
li■u
hàng
t■o
li■u
thơng
dùng.
trí
hi■u
hi■n
THU■N
hi■u
c■
c■a
■■u

■ tin
qu■
t■t
h■i
Khi
■■i,
qu■
mình
Vi■t
xác
c■
khách
gia
nh■t,
b■n
nh■t,
minh
trong
l■nh
Nam.
t■ng
Chào
online
uy
hàng
uy
tài
v■c:
l■nh
thu

Tác
tín
m■ng
tín
kho■n
tr■
cao
nh■p
khơng
tài
phong
v■c
cao
thành
b■n
chính
nh■t.
email
nh■t.
tài
online
khác
chun
■■n
li■u
thành
tín
Mong
b■n
Mong


cho
d■ng,

v■i
so
nghi■p,
viên
kinh
■ã
mu■n
t■t
123doc.
123doc.net!
v■i
mu■n
cơng
■■ng
c■a
c■
doanh
b■n
mang
các
hồn
mang
ngh■
123doc

g■c.

online.
thành
v■i
l■i
h■o,
Chúng
l■i
thơng
B■n
cho

123doc.netLink
cho
viên
Tính
■■
n■p

c■ng
tơi
tin,
c■ng
c■a
cao
th■
■■n
cung
ti■n
ngo■i
■■ng

tính
website.
phóng
■■ng
th■i
vào
c■p
ng■,...Khách
trách
xác

tài
■i■m
D■ch

to,h■i
kho■n
th■c
nhi■m
h■i
thum■t
tháng
V■
nh■
m■t
s■
c■a
(nh■
■■i
hàng

ngu■n
■■■c
tùy
ngu■n
5/2014;
123doc,
v■i
■■■c
ý.
cótài
g■i
t■ng
th■
tài
123doc
ngun
v■

ngun
b■n
d■
ng■■i
■■a
t■
dàng
s■
v■■t
tri
d■■i
tri

dùng.
■■■c
ch■
th■c
tra
th■c
m■c
■ây)
email
c■u
q
M■c
h■■ng
q
100.000
cho
tài
báu,
b■n
tiêu
báu,
li■u
b■n,
nh■ng
phong
■ã
hàng
phong
m■t
l■■t

tùy
■■ng
■■u
phú,
quy■n
cách
truy
thu■c
phú,
ky,
c■a
c■p
■a
chính
■a
l■i
b■n
vào
d■ng,
123doc.net
m■i
d■ng,
sau
xác,
các
vuingày,
n■p
giàu
lịng
“■i■u

nhanh
giàu
ti■n
giá
s■
■■ng
tr■
giá
Kho■n
chóng.
h■u
tr■
trên
thành
tr■
nh■p
■■ng
2.000.000
website
■■ng
Th■a
th■
email
th■i
vi■n
th■i
Thu■n
mong
c■a
thành

mong
tài v■
li■u
mình
mu■n
viên
mu■n
S■
online

■■ng
D■ng
t■o
click
t■o
l■n
■i■u
ký,
D■ch
■i■u
vào
nh■t
l■t
link
ki■n
ki■n
V■”
vào
Vi■t
123doc

cho
top
sau
cho
Nam,
cho
200
■ây
cho
■ã
cung
các
các
các
(sau
g■i
users
website
c■p
users
■âynh■ng

■■■c
cóph■
thêm
thêm
tài
bi■n
g■i
thu

thu
li■u
t■t
nh■p.
nh■t
nh■p.
■■c
T■it■i
Chính
khơng
t■ng
Chính
Vi■tth■i
vìth■
Nam,
vìv■y
v■y
■i■m,
tìm
123doc.net
t■123doc.net
th■y
l■chúng
tìm
trên
ki■m
tơi
ra
th■
racó

■■i
thu■c
■■i
tr■■ng
th■
nh■m
nh■m
c■p
top
ngo■i
■áp
3nh■t
■áp
Google.
■ng
tr■
■KTTSDDV
■ng
123doc.net.
nhu
Nh■n
nhuc■u
c■u
■■■c
chia
theo
chias■
quy■t
danh
s■tàitài

hi■u
li■u
...li■uch■t
do
ch■t
c■ng
l■■ng
l■■ng
■■ng
vàvàki■m
bình
ki■mch■n
ti■n
ti■nonline.

online.
website ki■m ti■n online hi■u qu■ và uy tín nh■t.


4. Lập trình Pascal

sa

2. Sách giáo viên tin học 11

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng

sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa

ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

TÀI LIỆU THAM KHẢO
1.Sách giáo khoa tin học 11
Hồ Sĩ Đàm
Hồ Sĩ Đàm

5. Một số sáng kiến kinh nghiệm và ý kiến của đồng nghiệp.


6. Một số trang web trên Internet.

2

chủ biên

chủ biên

3. Sách bài tập tin học lớp 11

4. Một số đề thi học sinh giỏi tỉnh Vĩnh Phúc
Khoa CNTT trường ĐHSPHN


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

BÁO CÁO KẾT QUẢ
NGHIÊN CỨU, ỨNG DỤNG SÁNG KIẾN

1. LỜI GIỚI THIỆU
1.1. Lí do chọn đề tài
Mơn tin học đặc biệt là nội dung tin học lập trình là một mơn học khá là mới lạ
đối với học sinh phổ thông nên đa số các em rất bỡ ngỡ khi tiếp cận nội môn học này.
Trong thực tiễn dữ liệu vào của các bài toán đều liên quan đến các kiểu dữ liệu
khác nhau, để tiện cho việc lập trình và xử lý dữ liệu chúng ta thường đưa dữ liệu đó
về các dạng kiểu dữ liệu chuẩn hoặc kiểu dữ liệu có cấu trúc, một trong những kiểu dữ
liệu đó là kiểu xâu.
Qua q trình tham gia giảng dạy mơn tin học tại trường THPT Đồng Đậu và bồi
sa


sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em

sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

dưỡng học sinh giỏi tôi nhận thấy dữ liệu kiểu xâu gặp rất nhiều trong các bài tốn
nhưng để học sinh có thể vận dụng linh hoạt các thao tác xử lý trên kiểu dữ liệu này
vào bài tốn khơng phải là dễ.
Với mong muốn hệ thống các bài toán dưới dạng một số dạng bài tập thường gặp

giúp cho giáo viên và học sinh phần nào nhận dạng và giải một số bài tập liên quan tới
kiểu dữ liệu xâu dễ dàng hơn, tôi xin đưa ra “PHƯƠNG PHÁP GIẢI MỘT SỐ DẠNG
BÀI TẬP VỀ KIỂU DỮ LIỆU XÂU TRONG ĐỀ THI HỌC SINH GIỎI MÔN TIN
HỌC”.
1.2. Mục tiêu nghiên cứu
o Đề tài thực hiện nhằm giúp cho giáo viên cũng như học sinh hệ thống lại các
kiến thức về các thao tác trên kiểu dữ liệu xâu từ đó áp dụng cho các bài toán
cụ thể.
o Giới thiệu một số phép toán trên kiểu dữ liệu xâu, đặc biệt phần này có cung
cấp thêm một số hàm, thủ tục chưa được giới thiệu trong bài 12 sách giáo khoa
3


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

tin học 11, đồng thời đưa ra một số ví dụ tương ứng để học sinh dễ dàng sử
dụng.
o Hệ thống các bài toán dưới dạng một số dạng bài tập thường gặp giúp cho giáo
viên và học sinh phần nào nhận dạng và giải một số bài tập liên quan.
o Giúp học sinh khơng cịn nhàm chán với mơn tin học nói chung và kiểu dữ liệu
xâu nói riêng.
1.3. Đối tượng nghiên cứu
o Học sinh: học sinh học chương trình cơ bản và học sinh đội tuyển học sinh giỏi
tin học
o Số lượng: 120 học sinh
o Số lớp thực hiện: 3 lớp.
o Khối lớp: 11
1.4. Phương pháp thực hiện
sa


sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em

sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

Để hoàn thành SKKN này tôi sử dụng phối kết hợp nhiều phương pháp, trong đó
phương pháp chủ yếu là:
o Nghiên cứu tài liệu.
o Thực nghiệm.

o Tham khảo ý kiến của cấp trên và đồng nghiệp.
2. TÊN SÁNG KIẾN:
“PHƯƠNG PHÁP GIẢI MỘT SỐ DẠNG BÀI TẬP VỀ KIỂU DỮ LIỆU XÂU
TRONG ĐỀ THI HỌC SINH GIỎI MÔN TIN HỌC”.
3. TÁC GIẢ SÁNG KIẾN:
o Họ và tên: Bùi Thị Phương
o Địa chỉ tác giả sáng kiến: THPT Đồng Đậu
o Số điện thoại:0383797818
o E_mail: buithiphuongc3dongdau.vinhphuc.edu.vn

4


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

4. CHỦ ĐẦU TƯ TẠO RA SÁNG KIẾN
5. LĨNH VỰC ÁP DỤNG SÁNG KIẾN
Đề tài được sử dụng để vận dụng giải các bài toán về kiểu dữ liệu xâu trong sách
bài tập tin học lớp 11 và trong các đề thi học sinh giỏi tỉnh môn tin học.
Khi vận dụng đề tài để giải các bài toán về kiểu dữ liệu xâu giúp:
o Học sinh sau khi được giới thiệu một cách hệ thống các dạng bài tập về xâu
và quy trình giải quyết từng dạng đã có thể nhận biết yêu cầu của bài toán và
cách thức giải quyết chúng một cách hiệu quả.
o Hình thành ở HS kỹ năng phân tích, xử lý các vấn đề liên quan đến bài tập
kiểu xâu, sử dụng thành thạo vòng lặp biết trước, thủ tục chuẩn vào/ra đơn
giản, bước đầu làm quen với 1 số chương trình con dạng thủ tục tạo điều kiện
thuận lợi cho việc tiếp thu kiến thức về cách viết chương trình có cấu trúc.
o Mở rộng một số bài tập kiểu xâu để học sinh thấy được ứng dụng quan trọng
sa


sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em

sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

của kiểu dữ liệu xâu trong lập trình.
6. NGÀY SÁNG KIẾN ĐƯỢC ÁP DỤNG LẦN ĐẦU HOẶC ÁP DỤNG THỬ
Đề tài được áp dụng vào ngày 20 tháng 02 năm 2019
7. MÔ TẢ BẢN CHẤT CỦA SÁNG KIẾN:


NỘI DUNG SÁNG KIẾN
CHƯƠNG I: CƠ SỞ LÍ LUẬN CỦA ĐỀ TÀI
Trong bối cảnh toàn ngành GD-ĐT đang nỗ lực đổi mới phương pháp dạy học theo
hướng phát huy tính tích cực chủ động của học sinh trong hoạt động học tập. Điều 24.2
của Luật giáo dục đã nêu rõ: “Phương pháp giáo dục phổ thơng phải phát huy tính tích
cực, tự giác, chủ động, sáng tạo của học sinh, phù hợp với đặc điểm của từng lớp học,
môn học; bồi dưỡng phương pháp tự học, rèn luyện kỹ năng vận dụng kiến thức vào
thực tiễn, tác động đến tình cảm, đem lại niềm vui, hứng thú học tập cho học sinh ”.
Như vậy, chúng ta có thể thấy định hướng đổi mới phương pháp dạy học đã được khẳng
5


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

định, khơng cịn là vấn đề tranh luận. Cốt lõi của việc đổi mới phương pháp dạy học ở
trường phổ thông là giúp học sinh hướng tới việc học tập chủ động, chống lại thói quen
học tập thụ động. Với một số nội dung trong đề tài này, học sinh có thể tự học, tự rèn
luyện thông qua một số bài tập, dạng bài tập cụ thể.
CHƯƠNG II: THỰC TRẠNG CỦA VẤN ĐỀ NGHIÊN CỨU
Qua thực tế giảng dạy ở trường THPT Đồng Đậu tơi nhận thấy khi học đến chương
trình tin học lớp 11 đa số học sinh đều cho rằng đây là mơn học khó nhất trong các mơn
học, nhiều em cịn sợ mơn học này.
Khi học sinh học bài học Bài 12 “Kiểu xâu”, học sinh đã có rất nhiều khó khăn,
nhầm lẫn trong việc xử lý dữ liệu vì các em đang quen với các bài tốn xử lý dữ liệu
kiểu số, các bài toán quen thuộc như tính tổng hoặc tích của 1 dãy số thoả mãn điều
sa

sa ng
sa ng ki

sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en

ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

kiện nào đó…
Khi gặp các bài tốn phải sử dụng kiểu dữ liệu lớn nhiều em lúng lúng. Việc giải các
bài toán với kiểu dữ liệu lớn thực sự cần thiết cho các em khi làm các bài tốn lập trình
trong chương trình Tin học phổ thơng nói riêng và việc giải quyết các bài tốn thực tế
nói chung.
CHƯƠNG III: NỘI DUNG CỦA ĐỀ TÀI

1. Lý thuyết về kiểu xâu
1.1. Khái niệm
o Xâu là một 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.
o Số lượng kí tự trong xâu gọi là độ dài xâu.
o Xâu có độ dài bằng 0 gọi là xâu rỗng.
o Có thể coi xâu là mảng một chiều, mỗi kí tự trong xâu là một phần tử, được
6


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

đánh chỉ số bắt đầu từ 1. Do vậy, để tham chiếu đến phần tử của xâu ta viết
<tên biến xâu>[chỉ số của kí tự];
Ví dụ: s = ‘Tin hoc’ Muốn truy cập đến kí tự ‘i’ thì viết s[2] = ‘i’;
1.2. Khai báo
Var <tên biến xâu> : string [ độ dài lớn nhất của xâu ];
Ví dụ: var hoten : string[30];
Chú ý: Độ dài lớn nhất của xâu có thể bỏ qua. Khi đó độ dài lớn nhất của xâu
sẽ nhận giá trị ngầm định là 255. Ví dụ var s : string;
1.3. Các thao tác xử lý xâu:
1.3.1. Phép ghép xâu

sa

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng

sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa

ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

Kí hiệu là dấu (+), được sử dụng để ghép nhiều xâu thành một. Có thể thực
hiện phép ghép xâu đối với các hằng và biến xâu.
Ví dụ: ‘Tin’ + ‘ Hoc’ = ‘Tin Hoc’;
‘6’ + ‘7’ = ‘67’;
1.3.2. Phép so sánh
o

Sử dụng phép so sánh = , <>, <, >, <=, >= và có thứ tự ưu tiên thấp


hơn phép ghép xâu.
o Quy tắc so sánh:
 Xâu A là lớn hơn xâu B nếu như 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ụ: ‘207’ > ‘2007’;

7


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

 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.
Ví dụ: ‘Tin’ < ‘Tin hoc’
 Hai xâu được coi là bằng nhau nếu như chúng giống nhau hồn
tồn
Ví dụ: ‘Tin hoc’ = ‘Tin hoc’
1.3.3. Các hàm và thủ tục xử lý xâu
 Thủ tục Delete (st, vt, n) Thực hiện xóa n kí tự của biến xâu st bắt đầu từ vị trí
vt.
Thao tác

Kết quả

‘Tin hoc’

Delete(st,5,3);

‘Tin’


‘Song Hong’

Delete(st,1,5);

sa

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em

sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi

em

Giá trị st

‘Hong’

 Thủ tục Insert (s1, s2, vt) Chèn xâu s1 vào xâu s2 bắt đầu ở vị trí vt
Giá trị s1

Giá trị s2

Thao tác

Kết quả

‘ PC ’

‘IBM486’

insert(s1, s2, 4);

‘IBM PC 486’

‘1’

‘Hinh .2’

Insert(s1,s2,6);

‘Hinh 1.2’


 Hàm 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
Giá trị s

Thao tác

Kết quả

‘Tin hoc’

copy(s, 1, 3);

‘Tin’

‘Bai hoc thu 9’

Copy(s,9,5);

‘thu 9’

8


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

 Hàm length(s) Cho giá trị là độ dài xâu s
Giá trị s

Thao tác


Kết quả

‘Tin hoc’

Length(s);

7

‘500 ky tu’

Length(s);

9

 Hàm pos (s1, s2) Cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2
Giá trị s2

Thao tác

Kết quả

‘Tin hoc’

Pos(‘oc’,s2);

6

‘abcdef’

Pos(‘k’,s2);


0

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em

sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

 Hàm upcase(ch) Cho chữ cái in hoa ứng với chữ cái trong ch

Thao tác

Kết quả

‘a’

Upcase(ch);

‘A’

‘A’

Upcase(ch);

‘A’

sa

Giá trị ch

 Thủ tục chuyển xâu sang số val (s, v, c) Chuyển xâu s thành giá trị số lưu vào
v, c là vị trí gây ra lỗi trong quá trình chuyển đổi, c = 0 thì chuyển đổi thành
công
Giá trị s

Thao tác

Kết quả

‘1234’


Val(s,i,c);

i = 1234; c=0

‘12c’

Val(s,i,c);

Cho c=3 là vị trí
ký tự c khơng hợp
lệ

9


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

 Thủ tục chuyển số sang xâu str(x, s) Chuyển giá trị kiểu số x thành chuỗi
biểu diễn nó lưu trong s
Giá trị x

Thao tác

Kết quả

1234

Str(x,s);


S=’1234’

1.1:0:2

Str(x,s);

S=’1.10’

2. Các dạng bài tập kiểu xâu
2.1.

Dạng 1: Kiểm tra xâu thỏa mãn tính chất nào đó

Phương pháp chung của dạng này là sử dụng các thao tác xử lý xâu vào từng yêu
cầu cụ thể, thường vận dụng câu lệnh for..to..do.. để duyệt các phần tử của xâu.
Bài 1(sgk): Nhập vào hai xâu họ tên và đưa ra màn hình xâu có độ dài dài hơn. Nếu
sa

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em

sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem

sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

hai xâu có độ dài bằng nhau thì đưa ra xâu nhập sau.
* Ý tưởng: để lấy độ dài xâu sử dụng hàm length(s), So sánh độ dài của hai xâu bằng
câu lệnh if.
If length(s1) > length(s2) then write(s1) else write(s2);
Bài 2(sgk): Kiểm tra xem kí tự đầu tiên của xâu a có trùng với kí tự cuối cùng của
xâu b khơng?
* Ý tưởng: Kí tự đầu tiên của xâu a: a[1]
kí tự cuối cùng của xâu b: b[length(b)]
sử dụng câu lệnh if để so sánh
If a[1] = b[length(b)] then write (‘Trung nhau’) else write (‘khong trung’);
Bài 3 (sgk): Đưa ra xâu theo thứ tự ngược lại.

10


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học


*Ý tưởng: Muốn đưa xâu ra theo thứ tự ngược lại thì phải đi từ cuối xâu đến kí tự liền
cuối... => duyệt bằng câu lệnh for...downto....do ....đưa ra từng kí tự của s
For i:=length(s) downto 1 do write(s[i]);
Bài 4(sgk): Kiểm tra xem xâu có là xâu đối xứng khơng?
Xâu đối xứng là xâu mà đọc từ cuối xâu ngược lên cũng giống đọc từ đầu xâu đến cuối
* Cách 1: Tạo 1 xâu đảo ngược từ xâu ban đầu (Cách tạo giống Bài 3) => So sánh hai
xâu, nếu bằng nhau thì đối xứng ngược lại thì khơng đối xứng
{ Tạo xâu b đảo ngược từ xâu a}
b:=’’;
for i:= length(a) downto 1 do b:=b+a[i];

sa

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem

sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh

em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

if a = b then write(‘Xau doi xung’) else write(‘xau khong doi xung’);
* Cách 2: Nhận xét nếu xâu a đối xứng thì:
a[1] = a[n] ( Gán n = length(a));
a[2] = a[n-1]
a[3] = a[n-2]
.... Tổng quát lên a[i] = a[n-i+1] với i chạy từ 1 đên n div 2
Sử dụng biến KT để KT tính đối xứng của a
Đoạn chương trình thực hiện kiểm tra đối xứng:
KT:= true;
for i:= 1 to n div 2 do if a[i] <> a[n-i+1] then KT:= false;
if KT then write(‘Xau doi xung’) else (‘xau khong doi xung’);
11


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

Bài 5 (Bài 4.42 sách bài tập): Xâu N viên đá q có kích thước giống nhau
(5<=N<=120), mỗi viên có một màu các màu được đánh số từ 1 đến 9. Người ta lắp
khóa đeo vào vị trí sao cho khi mở vịng ta được một dây đá q có tính chất: không
phụ thuộc vào việc cầm đầu dây nào bên tay phải và đầu kia bên tay trái, ta đều được

một chuỗi hạt giống nhau, tức là viên đá thứ i từ trái sang ln có màu j khơng phụ
thuộc vào cách cầm.
Ví dụ Xâu S 2 2 2 2 2 2 3 3 5 5 3 3
Cách đặt khóa thứ I: 2 2 2 3 3 5 5 3 3 2 2 2
Cách đặt khóa thứ II: 5 3 3 2 2 2 2 2 2 3 3 5
Xác định số vị trí khác nhau có thể mắc khóa tháo lắp vịng.
* Phân tích đề: Thực chất đề u cầu xác định xem có bao nhiêu xâu con được tạo đầy
sa

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em

sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem

nh ng hi
ng hiemem
hi
em

đủ từ các kí tự có trong xâu s và có chiều dài đúng bằng chiều dài xâu ban đầu.
* Ý tưởng: Sử lý dữ liệu vòng tròn bằng cách nhân đơi xâu ban đầu, kiểm tra từng xâu
con có độ dài bằng N bắt đầu từ vị trí i ( i = 1, 2,..., N) có là xâu đối xứng khơng. Nếu
đối xứng thì tăng biến đếm.
* Đoạn chương trình:
{ Hàm kiểm tra tính đối xứng của một xâu}
Function DX ( s2:string) : boolean;
var i, l : integer;
begin
DX:=true; l:=length(s2);
for i:= 1 to l div 2 do if s2[i] <> s2[l-i+1] then begin DX:=false; break; end;
end;
12


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

{ Thân chương trình xử lý}
S:= s1+s1; d:=0;
n:= length(s);
for i:= n+1 to 2*n do
begin
s3:= s1 + s[i];
if DX (s3) then d:=d+1;
end;

Chú ý: với học sinh đại trà chưa học đến chương trình con thì trong phần thân chương
trình sẽ kiểm tra tính đối sứng của s3 như trong hàm viết ở trên
sa

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh

em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em


Bài 6 (Đề thi hsg lớp 10 năm 2010 - 2011) Đưa ra xâu con đối xứng có độ dài dài
nhất.

Bài này có hai cách để làm là sử dụng quy hoạch động và duyệt bình thường, nhưng
xuất phát từ thực tế giảng dạy học sinh trường THPT Đồng Đậu khó hình dung được
bằng cách quy hoạch động nên ở đây tôi sử dụng cách duyệt và kiểm tra tính đối xứng
thơng thường. Để tối ưu lời giải các bạn có thể tìm hiểu thêm cách sử dụng quy hoạch
động cho bài tốn trên.
* Ý tưởng: Tạo các xâu con có độ dài là 2, 3,....đồng thời kiểm tra luôn xâu con đó có
đối xứng khơng? Nếu đối xứng thì so sánh độ dài của xâu con đó với giá trị max trước
đó, nếu lớn hơn thì gán lại max.
* Đoạn chương trình:
n:=length(s); max:=1;
for k:=1 to n – 1 do
13


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

for i:=1 to n – k do
begin
j:= i+1; s1:= copy(s, i, j – i+1);
KT:=true; l:=length(s1);
for h:=1 to l div 2 do if s1[h] <> s1[l-h+1] then KT:=false;
if (KT) and (maxend;
write(x);
Bài 7(Bài 4.25 sách bài tập) Xâu S chỉ bao gồm ngoặc mở ‘(‘ và ngoặc đóng ‘)’. Xâu

sa


o Số ngoặc mở = số ngoặc đóng.

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em

sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

S xác định một cách đặt ngoặc đúng, nếu thỏa mãn các điều kiện:


o Nếu duyệt từ trái sang phải thì số lượng ngoặc mở ln ln lớn hơn hoặc bằng số
lượng ngoặc đóng
Ví dụ, xâu ‘((()(())))’ xác định một cách đặt ngoặc đúng. Còn xâu ‘(()()))(())’ là một
cách đặt ngoặc sai
Viết đoạn chương trình kiểm tra xem xâu s có xác định một cách đặt ngoặc đúng hay
không?
* Ý tưởng: Dùng biến d với giá trị ban đầu = 0; Duyệt từ trái qua phải gặp dấu ngoặc
mở thì tăng d lên 1, gặp dấu ngoặc đóng thì giảm d một đơn vị. Biểu thức ngoặc là sai
khi gặp d= -1 hoặc hết biểu thức ngoặc d vẫn lớn hơn 0;
d:=0; kt:= true;
for i:= 1 to length(s) do
14


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

begin
if s[i]=’(‘ then inc(d) else dec(d);
if d<0 then begin kt:= false; break; end;
end;
if d>0 then kt:=false;

Bài 8( Đề thi hsg lớp 11 năm 2012 – 2013) Cho xâu S độ dài khơng q 250 chỉ gồm
các kí tự ngoặc đóng và ngoặc mở. Xác định số cặp chỉ số (p, q) sao cho p= s[p+1] = ‘(‘; s[q] = s[q+1] = ‘)’
* Ý tưởng: Vì p < q nên sử dụng một vòng lặp for duyệt từ đầu xâu đến độ dài xâu –
sa ng
sa ng ki
sa ng ki en

sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki

ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

2 và một vòng for duyệt từ cuối xâu đến p+1, kiểm tra điều kiện đề bài cho có thỏa
sa

mãn khơng, nếu thỏa mãn thì tăng biến đếm.
* Đoạn chương trình:
d:=0;
for i:=1 to length(s)-2 do

for j:=length(s) downto i+1 do
if (s[i]=s[i+1]) and (s[j]=s[j+1]) and (s[i]='(') and (s[j]=')')then d:=d+1;
write(d);
Dạng 2: Đếm số lần xuất hiện của các kí tự trong xâu
Ý tưởng chung của dạng 2 là thường sử dụng phương pháp duyệt (câu lênh for) và
kiểm tra điều kiện đi kèm (câu lệnh if), sử dụng mảng đếm với các chỉ số tương ứng
mà đề bài yêu cầu.

15


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

Bài 1(bài 10 sgk): Viết chương trình nhập vào từ bàn phím một xâu kí tự S có độ dài
khơng q 100. Hãy cho biết có bao nhiêu chữ số xuất hiện trong xâu S. Thơng báo
kết quả ra màn hình.
* Ý tưởng: Đi từ đầu xâu đến cuối xâu, kiểm tra lần lượt từng kí tự có nằm trong
khoảng từ ‘0’ đến ‘9’ khơng? Nếu nằm thì tăng biến đếm lên 1.
* Đoạn chương trình:
dem:=0;
for i:=1 to length(s) do
if (s[i]>=’0’) and (s[i]<=’9’) then
dem:=dem+1;

sa

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh

sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng

sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

writeln(‘Co ‘,dem,’ chu so xuat hien trong xau s’);
Bài 2 ( Bài 7.14 sách bài tập): Cho số nguyên N ở hệ 10 dưới dạng xâu S không quá
50 chữ số và khơng có số 0 ở đầu. Thống kê của N được xây dựng như sau:
- Tính tần số xuất hiện các chữ số của N.
- Viết liên tiếp tần số và chữ số theo thứ tự tăng dần của các chữ số khác nhau trong
N.
Ví dụ, với N=353 ta có tần số xuất hiện của 3 là 2, của 5 là 1. Như vậy thống kê sẽ viết
là 2315.

* Phân tích đề: Bài 2 phát triển từ bài 1. Ở bài trên là chỉ thơng báo có bao nhiêu chữ
số, nhưng ở bài này lại cụ thể là mỗi chữ số xuất hiện bao nhiêu lần.
* Ý tưởng:
- Khởi tạo một mảng d với chỉ số là các ký tự chữ số từ ‘0’ đến ‘9’

16


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

- Duyệt từ đầu xâu đến cuối xâu, với mỗi ký tự S[i] của N tăng tương ứng phần tử có
chỉ số là S[i] trong mang d lên 1 đơn vị .
* Đoạn chương trình:
var d:array[‘0’..’9’] of byte; c : char;
BEGIN
for c:=’0’ to ‘9’ do d[c]:=0;
for i:=1 to length(s) do
inc(d[s[i]]);
for c:=’0’ to ‘9’ do writeln(d[c],’ ‘, c);
END.
sa

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh

em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh

sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

Bài 3 (sgk): Thông báo số lần xuất hiện của mỗi chữ cái tiếng anh trong s (không
phân biệt chữ hoa hay thường)

* Ý tưởng: Tạo ra xâu s2 bằng cách lấy các ký tự là chữ cái trong xâu s1 sau khi đã
chuyển thành chữ in hoa.
Dùng mảng d để đếm như bài số 2.
* Đoạn chương trình:
var d:array[‘A’..’Z’] of byte;
BEGIN
N:=length(s1); s2:=’’;
For i:= 1 to n do if (s1[i]>’A’) and (s1[i]<’Z’) then s2:=s2+upcase(s1[i]);
for c:=’A’ to ‘Z’ do d[c]:=0;

for i:=1 to n do
17


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

inc(d[s2[i]]);
for c:=’A’ to ‘Z’ do if d[c] <> 0 then writeln(‘ki tu ‘,c,’ xuat hien ‘,d[c]);
END.
Bài 4 ( Bài 4.39 sách bài tập): Viết chương trình nhập vào xâu s chứa các kí tự in
thường và các chữ số từ 0 đến 9. Đếm và đưa ra màn hình số kí tự khác nhau trong
xâu s.
Ví dụ, nếu s = ‘abcabcaab’ thì số kí tự khác nhau là 3
* Ý tưởng: Gộp của hai bài 2 và 3, tức là sử dụng hai mảng đếm chữ số và đếm chữ
thường, lúc đưa ra thì nếu đếm khác 0 thì tăng biến tổng lên 1 đơn vị.
Dạng 3: Mã hóa và giải mã
Ý tưởng chung của dạng bài mã hóa và giải mã:
sa

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh

em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em

sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

- Sử dụng mảng gán giá trị ban đầu cho các kí tự từ A đến Z là 1 đến 26.
- Theo yêu cầu đề bài phải xây dựng được hàm f.
- Từ hàm f giải mã ngược trở lại theo quy tắc mã hóa.
Bài 1 (Bài 4.27 sách bài tập - Mã Xê Da): Thay mỗi chữ cái bằng chữ cái đứng sau
nó k vị trí trong bảng chữ cái. Việc tìm kiếm thay thế được tiến hành vịng trịn. Nếu
bảng chữ cái có N chữ thì sau chữ cái N-1 là chữ cái N, sau chữ cái N là chữ cái thứ
nhất....Cách mã hóa này gọi là mã Xê da.
Nhập từ bàn phím số nguyên K(1< K <= 26) và xâu s khơng q 255 kí tự. Mã hóa
theo quy tắc Xê da và đưa kết quả ra màn hình.
Ví dụ, xâu s = ‘TIN HOC’ với K = 2 sẽ được mã hóa thành ‘VKP JQE’
* Ý tưởng: Sử dụng đúng ý tưởng chung của dạng bài.

18



sa

{Mã hóa}
sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em

sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học


* Đoạn chương trình:
{ Khởi tạo mảng d}

a:=0;

For c:=’A’ to ‘Z’ do begin d[c]:= a+1; a:=d[c]; end;

{ Tính hàm f}

For i:=1 to length(s) do

begin

For c:=’A’ to ‘Z’ do if s[i]=c then f[i]:=(d[c] + k) mod 26;

if s[i] = ‘ ‘ then f[i]=27; { Trường hợp gặp dấu cách}

end;

For i:=1 to length(s) do

begin

For c:=’A’ to ‘Z’ do if f[i]=d[c] then write (c);

if f[i] = 27 then write(‘ ‘);

end;


Bài 2 (Đề hsg lớp 10 năm 2009 – 2010- Mã hóa caesar): Cho xâu s mã hóa xâu s theo

nguyên tắc f[p] = a*p + k; Cho trước a, k. P được xây dựng là p[A]=1, p[B] =

2....p[Z]=26.

Cách làm tương tự ví dụ trên.

19


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

Bài 3 (Đề hsg lớp 11 năm 2010 – 2011- Đi hay ở lại): Cho hai chuỗi in hoa. Hai
chuỗi được chuyển thành số theo quy tắc ví dụ ‘USACO’= 21*19*1*3*15=17955 (A
có giá trị là 1, B có giá trị là 2,...., Z có giá trị là 26).
Nếu số của hai chuỗi mod 47 bằng nhau thì ’GO’ ngược lại thì ‘STAY’.
Cách làm hồn tồn tương tự chỉ khác cách tính hàm f bằng cơng thức nhân.
Khơng làm phần mã hóa mà kiểm tra điều kiện f1 mod 47 = f2 mod 47 thi GO ngược
lại là STAY.
Bài 4 (Đề hsg lớp 11 năm 2008 – 2009- Thứ tự từ điển): Cho bảng sắp thứ tự các từ
a b.....z aa ab .......az ba bb bc ......bz.........aaa aab ........ aaaa .......abcd
1 2 26 27 28

52 53 54 55

78

703 704


18279

sa

Ví dụ, ad ở vị trí 30.

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em

sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi

em

Cho xâu s( nhiều nhất 4 kí tự) Chỉ ra số thứ tự của s trong bảng sắp thứ tự trên

* Ý tưởng:
- Sử dụng mảng gán giá trị ban đầu cho các kí tự từ A đến Z là 1 đến 26.
- Xây dựng hàm tính f trong từng trường hợp n=1, 2, 3, 4( n là độ dài xâu)
* Đoạn chương trình:
a:=0;
for c:=’a’ to ‘z’ do begin f[c]:=a+1; a:= f[c]; end;
if n= 1 then tt:= f[c];
if n=2 then tt:= 26 * f[s[1]] +f[s[2]];
if n=3 then tt:= 26* 26* f[s[1]]+26*f[s[2]]+f[s[3]];
if n=4 then tt:= 26* 26*26* f[s[1]]+26*26*f[s[2]]+26*f[s[3]]+f[s[4]];
20


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

Dạng 4: Xóa và thay thế
Ý tưởng chung của dạng 4 là lặp đi lặp lại (câu lệnh lặp while) các cơng việc: tìm vị
trí, xóa và thay thế.
Bài 1 (sgk): Nhập vào từ bàn phím một xâu. Thay thế tất cả các cụm kí tự ‘anh’ bằng
cụm từ ‘em’.
* Ý tưởng: Muốn thay thế cụm từ ‘anh’ phải biết được vị trí của cụm từ đó trong xâu
s, từ đó xóa cụm từ ‘anh’ đi và chèn cụm từ ‘em’ vào đúng vị trí vừa xóa cụm từ ‘anh’.
+ vị trí xuất hiện của cụm từ anh trong xâu s(sử dụng hàm POS)
+ Xóa cụm kí tự anh(sử dụng thủ tục delete)
+ Chèn cụm kí tự em vào vị trí vừa xóa cụm kí tự anh(sử dụng thủ tục Insert)


sa

xâu s.

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh

em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em


=> 3 cơng việc trên lặp lại đến khi khơng tìm thấy vị trí xuất hiện của cụm từ anh trong

* Đoạn chương trình:
while pos(‘anh’,s)<>0 do
begin
i:=pos(‘anh’,s);
delete(s,i,3);
insert(‘em’,s,i);
end;
writeln(s);

Bài 2 ( Đề hsg lớp 12 năm 2012 – 2013 - Giải mã): Cho xâu s đã được mã hóa theo
quy tắc các nguyên âm a, e, i, o, u được viết thêm chữ cái p đằng sau và thêm
chính ngun âm đó đằng sau chữ cái p. Đưa ra xâu sau khi giải mã
Ví dụ, từ ‘welcome’sẽ được mã hóa thành ‘wepelcopomepe’
21


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

* Ý tưởng: Sử dụng ý tưởng chung của dạng bài tập này là tìm vị trí xuất hiện, xóa đi
hai kí tự từ vị trí tìm được +1. Bình thường tìm vị trí xuất hiện chỉ có 1 xâu x trong
xâu s nhưng ở đây có 5 trường hợp => sử dụng mảng để duyệt từng trước hợp.
* Đoạn chương trình:
x[1]:=’apa’; x[2]:=’epe’; x[3]:=’ipi’; x[4]:=’opo’; x[5]:=’upu’;
for i:=1 to 5 do
while pos(x[i], s) <>0 do
begin
vt:= pos(x[i], s);
delete(s,vt+1, 2);

end;
sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh

em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

Bài 3 (Bài 4.40 sách bài tập): Nhập xâu bất kỳ từ bàn phím. Chuẩn hóa xâu theo quy
sa


tắc: Xóa dấu cách ở đầu xâu nếu có; Xóa các dấu cách ở cuối xâu nếu có; Thay dãy
nhiều dấu cách liên tiếp bằng một dấu cách. Đưa kết quả đã chuẩn hóa ra màn hình.
* Ý tưởng:
- Khi vị trí xuất hiện đầu tiên của hai dấu cách liền nhau <> 0 thì xóa đi 1 dấu cách tại
vị trí đó => cơng việc này lặp đi lặp lại khi khơng tìm thấy vị trí xuất hiện đầu tiên của
hai dấu cách liền nhau.
- Nếu kí tự đầu tiên là dấu cách thì xóa. Kí tự cuối cùng là dấu cách thì xóa.
* Đoạn chương trình:
while pos(‘ ‘,s) <> 0 do
begin
vt:= pos(‘ ‘, s);
delete(s, vt, 1);
22


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

end;
if s[1] = ‘ ‘ then delete(S, 1, 1);
if s[length(s)] = ‘ ‘ then delete(s, length(s), 1);
write(s);
Bài 4 (Bài 4.41 sách bài tập): Xâu khơng chứa các kí tự phân cách ‘.’ (dấu chấm), ‘,’
(dấu phẩy), ‘ ‘ (dấu cách) được gọi là một từ. Câu là một xâu bao gồm nhiều từ, nếu
xâu có nhiều từ thì các từ được phân cách nhau bởi một hoặc một số kí tự phân cách.
Tính số lượng từ trong câu?
Ví dụ, ‘Tin’ là câu có 1 từ, ‘Tin hoc 11’ là câu có 3 từ, ‘Co anh ban xa nha, co co ban
nho cha.’ Câu có 10 từ.

sa ng
sa ng ki

sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en

ki
ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

* Ý tưởng: Lần lượt thực hiện các việc sau:
sa

+ Chuẩn hóa xâu S theo cách làm của bài 3.
+Đếm số lượng dấu cách trong câu.( không cần đếm số dấu ngắt câu vì theo qui
ước gõ văn bản thì các dấu ngắt câu phải đặt sát vào từ đằng trước).

+ Số từ bằng số lượng dấu cách +1.
* Đoạn chương trình:
d:=1;
for i:=2 to length(s) do if (s[i] = ‘ ‘) then d:=d+1;
write(d);
Dạng 5: Chuyển số sang xâu và ngược lại
Với những số lớn, các số cần sắp xếp lại vị trí, cần xóa đi k chữ số ta chuyển sang xâu
để áp dụng được các thao tác xử lý xâu mà đối với số ta không làm được.

23


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

Bài 1(Bài 7.30 sách bài tập): Với số nguyên N cho trước ở hệ thập phân có thể tạo ra
những số nguyên khác nhau bằng cách hoán vị các chữ số của n. Ví dụ, n=133 ta có
thể có các số 313 và 331. Hãy xác định số lớn nhất có thể tạo được?
* Ý tưởng:
- Đọc N ở dạng xâu;
- Chuyển từng phần tử của xâu sang mảng số.
- Sắp xếp mảng theo thứ tự giảm dần
- Đưa mảng đã sắp xếp chính là số lớn nhất cần tìm
* Đoạn chương trình:
str(n, s); l:=length(s);

sa

sa ng
sa ng ki
sa ng ki en

sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki

ng
sa
ki
em
nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

for i:=1 to l do val (s[i],a[i], c);
for i:=l downto 2 do
for j:=1 to i-1 do
if a[j+1] > a[j] then
begin
tg:=a[j]; a[j]:= a[j+1]; a[j+1]:=tg;
end;

for i:=1 to l do write(a[i]);
Bài 2 (Đề hsg lớp 11 năm 2011 – 2012 – Số nhỏ nhất): Cho số nguyên X. Đổi chỗ
các chữ số trong X ta thu được số nguyên Y. Tìm số Y nhỏ nhất nhưng lớn hơn X
* Ý tưởng: (Thuật toán sinh)
- Đọc X vào theo kiểu xâu.
24


Phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi HSG môn tin học

- Đẩy từng phần tử trong xâu theo thứ tự vào mảng số.
- Đi từ cuối mảng đến đầu mảng so sánh nếu số bên phải lớn hơn số bên trái thì tráo
đổi vị trí, ghi nhận vị trí tráo đổi và thoát khỏi lặp nhảy xuống câu lệnh tiếp theo (bằng
break).
- Sắp xếp lại mảng theo thứ tự tăng dần từ vị trí tráo đổi ở trên đến cuối mảng.
* Đoạn chương trình:
{Các cơng việc giống bài 1 tác giả khơng trình bày chỉ trình bày phần tìm vị trí mà số
bên phải lớn hơn bên trái thì tráo đổi}
If n=1 then write(S);
if n= 2 then if s[2] > s[1] then write(s[2], s[1]) else write(S);

sa

sa ng
sa ng ki
sa ng ki en
sa ng ki en kinh
sa ng ki en kinh ng
sa ng ki en kinh
sa ng ki en kinh ng nghi hiem

sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
en
ki
ng
sa
ki
em

nh
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
sa ng ki en kinh
em
sa ng ki en kinh ng nghi hiem
ng ki en kinh
em
ki en kinh ng nghi hiem
en ki
em
ki nh ng hiem
nh ng hi
ng hiemem
hi
em

if n>=3 then
begin
{chuyển sang mảng}
I:=n;
while i>=1 do
begin
if a[i] > a[i-1] then begin tg:=a[i]; a[i]:= a[i+1]; a[i+1]:=tg; vt:=i; break;
end;
i:=i-1;
end;
Bài 3 (Bài 7.40 sách bài tập): Cho số nguyên N, tạo N1 bằng cách viết liên tiếp nhau

từ 1 đến N.Ví du, với N = 11 ta có N1=1234567891011. Thu gọn N1 bằng cách xóa
25


×