SỞ GIÁO DỤC & ĐÀO TẠO TỈNH LẠNG SƠN
Cuộc thi thiết kế hồ sơ bài giảng điện tử E-Learning
Bài giảng
Tiết 1 - Bài 12
chương trình Tin hoc 11
Trường THPT chuyên Chu Văn An
Tháng 3/2012
Bài toán đặt vấn đề:
Nhập vào từ bàn phím họ tên của 2 người, in ra màn hình họ tên
dài hơn, nếu bằng nhau thì in ra họ tên nhập sau
A
P
H
A
N
B
N
G
Hãy xác định
kiểu
liệu của
Nếu dữ
ý tưởng
giải
hai biến
b
quyết
bài a,
toán?
y
Chương trình
Bài 12: KIỂU XÂU (tiết 1)
1
Khái niệm
2
Khai báo
3
i
2
n
3
4
H
5
o
6
c
7
Tên xâu: A;
Mỗi kí tự là một phần tử của xâu;
Độ dài xâu : Số lượng kí tự trong xâu: 7
Các phần tử trong xâu được đánh thứ tự từ 1
Tham chiếu tới kí tự thứ i của xâu A ta viết: A[i].
Ví dụ: A[5] = ‘H’
1. Khái niệm
X©u lµ d·y c¸c kÝ tù trong bé m· ASCII.
Nội dung
2. Khai báo
Cách 1: Khai báo độ dài lớn nhất của xâu
Var <danh sách biến> : String[<độ dài lớn nhất>];
Nội dung
1. Khái niệm
2. Khai báo
Trong đó: Độ dài lớn nhất của xâu không quá 255
Ví dụ:
Cách 2: Bỏ qua khai báo độ dài lớn nhất của xâu
3. Các thao tác
xử lý xâu
4. Củng cố
5. Kiểm tra
Var H: String[30];
Var <danh sách biến> : String;
Khi đó: Độ dài lớn nhất của xâu là 255
Ví dụ:
Var D: String;
Muốn biến X có thể nhận giá trị là xâu 'Chu Van An' thì
khai báo nào sau đây không thỏa mãn?
A) Var X: string[100];
B) Var X: string;
tục
đểtrả
tiếp
tục
Bạn
phải
lời
câu
Bạnnào
phải
trả
lời
câu hỏi
hỏi
trước
trước khi
khi tiếp
tiếp tục
tục
Gửi
Gửi
Hủy
Hủy
3. Các thao tác xử lý xâu
Nội dung
Nội dung
Ví dụ: Nhập vào từ bàn phím 2 biến xâu a, b:
Write(‘nhap xau a: ’); Readln(a);
Write(‘nhap xau b: ’); Readln(b);
1. Khái niệm
2. Khai báo
3. Các thao tác
xử lý xâu
4. Củng cố
5. Kiểm tra
b) Xuất:
Việc xuất dữ liệu kiểu xâu giống như các kiểu dữ
liệu chuẩn khác
Ví dụ: In ra màn hình giá trị của 2 biến xâu a và b:
Writeln(‘xau a = ’,a,’ va xau b = ’,b);
3.2. Ghép xâu
Phép ghép xâu, kí hiệu là dấu cộng (+), dùng để ghép nhiều
xâu thành một theo thứ tự từ trái sang phải
Nội dung
1. Khái niệm
2. Khai báo
3. Các thao tác
xử lý xâu
4. Củng cố
5. Kiểm tra
< ‘Tin hoc 11’
3. 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 A có
mã ASCII lớn hơn
‘Tin hoc’
> ‘Tieng Anh’
2. Khai báo
3. Các thao tác
xử lý xâu
4. Củng cố
5. Kiểm tra
Ví dụ
Bảng mã ASCII cơ sở
Nội dung
1. Khái niệm
2. Khai báo
3. Các thao tác
xử lý xâu
4. Củng cố
5. Kiểm tra
3.4. Một số hàm chuẩn
a) Length(S)
Trả về độ dài xâu S
Nội dung
1. Khái niệm
2. Khai báo
3. Các thao tác
xử lý xâu
4. Củng cố
5. Kiểm tra
Ví dụ:cho xâu S = ‘Tin hoc’
S
T
1
length(S) = 7
i
2
n
3
4
n
2
3
upcase(S[3]) = ‘N’
upcase(S[1]) = ‘T’
4. Củng cố
upcase(‘3’) = ‘3’
5. Kiểm tra
upcase(S[length(S)]) = ‘C’
4
h
o
c
5
6
2
n
3
4. Củng cố
5. Kiểm tra
Pos(S1,S2) = 6
Pos(‘anh’,S) = 0
v
4
5
a
n
a6
n7
8
a
n
3
v
4
copy(s,5,3) = ‘van’
copy(s,3,5) = ‘u van’
5
a
n
66
7
8
a
n
9
10
3.5. Một số thủ tục chuẩn
4
5
a
n
6
7
58
a
n
69
710
3.5. Một số thủ tục chuẩn
b) Insert(S1,S2,vt)
Chèn xâu S1 vào xâu S2 từ vị trí vt
Nội dung
Ví dụ: cho biết giá trị của S2 sau khi thực hiện đoạn lệnh:
S1:=‘hoc’; S2: = ‘tin 11’; Insert(S1,S2,5);
3
S2 = ‘tin hoc11’
c
4
1
1
55
6
7
1
1
8
9
4. Củng cố
cứ
nơi
tiếp
nơi
nơi nào
nào để
để
tiếp tục
tục
nơi nào
nào để
để tiếp
tiếp tục
tục
Your
Your answer:
answer:
You
did
not
You
did
not answer
answer
You
answered
this
You
answered
this
Hủy
completely
The trước
correct
answer
is:
khi
tiếp
tục
trước khi tiếp tục
Câu 2: Xâu là dãy các kí tự trong bảng mã nào?
A) TCVN3
B) ASCII
C) Unicode
D) VNI
Đúng!
Sai!
Đúng! Click
Click vào
vào bất
bất cứ
cứ
Sai! Click
Click vào
vào bất
bất cứ
this
question
this
question
Bạn
phải
trả
lời
hỏi
correctly!
The
correct
answer
is:
Bạn
phải
trả
lời câu
câu
hỏi
correctly!
The
correct
answer
is:
Gửi
Hủy
completely
Gửi
Hủy
nào
nơi nào
nào để
để
tiếp tục
tục
nào để
để tiếp
tiếp tục
tục
Your
Your answer:
answer:
You
did
not
You
did
not answer
answer
You
answered
this
You
answered
this
this
question
this
question
tục
trước khi tiếp tục