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

Bài Giảng Kiểu Xâu Tin Học 11 _ www.bit.ly/taiho123

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.07 MB, 50 trang )

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



u

y

Có thể sử dụng kiểu mảng 1 chiều
Sử
2 biếntửi, là
j để
đếm
màdụng
mỗi phần
một
kí số
tự lượng kí
tự trong mảng A và B. Ban đầu i, j
bằng 0. Mỗi lần nhập vào một kí tự của
A và B thì tăng i, j lên 1. So sánh i, j để
đưa ra kết quả.

a
e

N

n

H
m


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


Các thao tác xử lý xâu

4

Củng cố

5

Kiểm tra đánh giá


1. Khái niệm
X©u lµ d·y c¸c kÝ tù trong bé m· ASCII.
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 A = ‘TIN HOC’

A

T

Trong đó:

1


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

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

Chú ý:





Xâu rỗng: là xâu có độ dài bằng 0, kí hiệu: ‘’
Dấu cách là một kí tự
Xâu là mảng 1 chiều mà mỗi phần tử là một kí
Các
tự thao tác xử lý trên mảng 1 chiều đều có
Một xâu có thể
thể áp dụng trên xâu.
không có kí tự
Xâu gồm 1 kí tự
nào không?
dấu cách có phải
là xâu rỗng?
Có thể coi xâu là
mảng 1 chiều
được không?



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;

C) Var X: string[5];
D) Var X: string[255];

Đúng!
Đúng! Click
Click vào
vào bất
bất cứ
cứ
nơi
nơi nào
nào để
để tiếp
tiếp tục
tục
Hãy
Hãy thử
thử lại!
lại!

Sai!
Sai! Click
Click vào
vào bất
bất cứ
cứ nơi
nơi
nào
để
tiếp

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


3.1

Nhập/xuất

1. Khái niệm

3.2

Ghép xâu

3.3

So sánh xâu

3.4

Một số hàm chuẩn

2. Khai báo
3. Các thao tác
xử lý xâu
4. Củng cố
5. Kiểm tra

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


3.1. Nhập/xuất
a) Nhập:
Readln(<tên biến xâu>);

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


Ví dụ 1:

‘Ha’ + ‘-’ + ‘Noi’ = ‘Ha-Noi’
Ví dụ 2:

‘Noi’ + ‘-’ + ‘Ha’ = ‘Noi-Ha’


3.3. So sánh xâu
Các phép so sánh: =, <>, <, >, <=, >= có thứ tự ưu tiên thấp
hơn phép ghép xâu và thực hiện theo 3 quy tắc:
Nội dung

Quy tắc

1. Khái niệm

1. Xâu A bằng xâu B nếu chúng
giống nhau hoàn toàn

‘Tin hoc’

= ‘Tin hoc’

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

‘Tin hoc’


< ‘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



Bảng mã ASCII đầy đủ

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.3. So sánh xâu
Chú ý:
1. Mã ASCII của các kí tự tuân theo thứ tự từ điển
2. Mã ASCII của kí tự in thường luôn lớn hơn mã ASCII in
Nội dung
hoa và lớn hơn kí tự in hoa tương ứng 32 đơn vị
3. Một số mã ASCII cần nhớ:
1. Khái niệm
‘A’ : 65
2. Khai báo
‘a’ : 97
3. Các thao tác
‘0’ : 48
xử lý xâu
‘ ‘ : 32
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


h

5

o
6

c

7


3.4. Một số hàm chuẩn
b) Upcase(ch)
Trả về kí tự in hoa tương ứng với ch
Nội dung
1. Khái niệm
2. Khai báo
3. Các thao tác
xử lý xâu

Ví dụ:cho xâu S = ‘Tin hoc’

S

T
1

i


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


7


3.4. Một số hàm chuẩn
c) Pos(S1,S2)
Trả về vị trí xuất hiện đầu tiên của xâu S1 trong xâu S2
Nội dung
1. Khái niệm
2. Khai báo
3. Các thao tác
xử lý xâu

Ví dụ:cho xâu S1 = ‘an’ và S2 = ‘chu van an’. Pos(S1,S2) = ?

S1

a

n

S2

c

h

u

a1


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


9

10


3.4. Một số hàm chuẩn
d) Copy(St,vt,n)
Trả về xâu con của xâu St, lấy từ vị trí vt, n kí tự liên tiếp
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 = ‘chu van an’ thì copy(s,5,3)= ?

S

c

h

u

1

2


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

a) Delete(St,vt,n)
Xóa trong xâu St, từ vị trí vt, n kí tự liên tiếp
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 biết giá trị của S sau khi thực hiện đoạn lệnh:
S: = ‘chu van an’; delete(S,5,3);

S

c

h

u

1

2

3

 S = ‘chu an’

v

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);


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

S1
S2

h

o

1

2

3

t

i

n

1

2


3

 S2 = ‘tin hoc11’

c

4

1

1

55

6

7

1

1

8

9


4. Củng cố


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

Các em hãy ôn lại kiến thức qua một số câu hỏi trắc
nghiệm sau!


Câu 1: Khai báo nào đúng cú pháp?

A) Var hoten : string;
B) Var dia chi : string[100];
C) Var ten = string[30];
D) Var ho = string(30);

Đú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ứ

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

this
question
this
question
Hãy
thử
lại!
Bạn
trả
lời
hỏi
correctly!
Hãyphải
thử
lại!
Bạn
phải
trả
lời câu
câu
hỏi
correctly!
Gửi
Hủy
completely
The
correct
answer
is:
Gửi

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ứ

cứ nơi
nơi
nơi
tiếp
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
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

completely
trước
khi
tiếp
tục
trước khi tiếp tục


Câu 3: Cho xâu a = 'Tin Hoc', kí tự a[3] có giá trị là:

A) 'n'
B) ' '
C) 'H'
D) Tin'

Đú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ứ
cứ nơi
nơi
nơi
tiếp

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

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
completely
trước
khi
tiếp

tục
trước khi tiếp tục


×