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

Tiet 27 kieu xau

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 (337.43 KB, 11 trang )

Bài
15

Giáo án điện tử tin học lớp 11


Bài toán đặt vấn đề:
Nhập vào họ tên của hai học sinh, in ra màn hình họ
tên dài hơn?

A

P

H

A

N

B

N

G

u

y

a


e

N

HÃy xác
định kiĨu
d÷ liƯu cđa
hai biÕn
A,B?

n

H
m

y


1. Khái niệm
Xâu là dÃy các kí tự trong bộ mà ASCII.
Ví dụ:

A

T

I

n


1

2

3

4

H

o

5

6

c
7

Trong đó:
Tên xâu: A;
Mỗi kí tự gọi là một phần tử của xâu;
Độ dài của x©u (sè kÝ tù trong x©u): 7;
 Khi tham chiÕu ®Õn kÝ tù thø i cđa x©u ta
viÕt A[i].
VÝ dơ: A[5]=‘H’.


2. Khai báo kiểu dữ liệu xâu (trong Pascal)


Var <tên biến> : String[độ dài lớn nhất];

Ví dụ:

Var hoten: String[26];

Khi khai báo xâu có thể bỏ qua phần khai báo [độ
dài lớn nhất], khi đó độ dài lớn nhất của xâu sẽ nhận
giá trị ngầm định là 255.
Ví dụ:

Var chuthich :String;


3. Các thao tác xử lí xâu
a. Biểu thức xâu: Là biểu thức trong đó các toán
hạng là các biến x©u, biÕn kÝ tù.
* PhÐp ghÐp x©u: kÝ hiƯu “+” dùng để ghép nhiều xâu
thành một xâu
Ví dụ:
Ha + ‘ Noi’
 ‘Ha Noi’
* PhÐp so s¸nh: =,<>, <,<=,>,>=
* Quy ớc:
Ví dụ

- Xâu rỗng là xâu
- Xâu A = B nÕu chóng gièng hƯt
nhau.
- X©u A > B nÕu:

+ Kí tự đầu tiên khác nhau
giữa chúng ở xâu A có mÃ
ASCII lớn hơn ở xâu B.
+ Xâu B là đoạn đầu của
xâu A.



Tin hoc
hoc



Ha Noi
Nam



Xau

= Tin

> Ha

< Xau ki


b. Các thủ tục và hàm chuẩn xử lí xâu

Thủ tục

1. Delete(S,vt,n)

2. Insert(S1,S2,vt)

ý nghĩa

Ví dụ

Xoá n kí tự của xâu S = Song Hong
S bắt đầu từ vị trí Delete(S,1,5)
vt.
Hong
Chèn xâu S1 vào
xâu S2 bắt đầu từ
vị trí vt.

S1=1 S2=‘Hinh .
2’
Insert(s1,s2,6)
 ’Hinh
1.2’


Hàm
1. Copy(S,vt,n)

2. Length(S)

ý nghĩa


Ví dụ

S = Tin hoc
Tạo xâu gồm n kí
tự liên tiếp bắt
Copy(S,5,3)=
đầu từ vị trí vt của
hoc
xâu
S trị là độ dài S = Xin chao
Cho giá
của xâu S
Length(S) = 8

3. Pos(S1,S2)

Cho vị trí xuất hiện S1=1 S2=Hinh
đầu tiên của xâu S1 1.2
trong xâu S2
Pos(S1,S2) = 6

4. UPCase(ch)

Chuyển kí tự ch
thành chữ hoa

Ch=a
UPCase(ch) =
A



4. Một số ví dụ

1

Nhập vào họ tên của hai học sinh, in ra màn hình họ
tên dài hơn?
Thể hiện bằng
pascal

Các bớc:
1. Khai báo xâu
2. Nhập xâu

Var a,b: string;
BEGIN
Write( Nhap xau ho ten thu nhat :’); Readln(a);
Write(‘Nhap xau ho ten thu hai :’); Readln(b);

3. Xư lÝ x©u

IF Length(a)>Length(b) Then write(a)
else write(b);
Readln;
END.


2

Nhập vào hai xâu từ bàn phím, kiểm tra xem kí tự

đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng
của xâu thứ hai không?
Các bớc:

1. Khai báo xâu : A,B
2. Nhập xâu
3. Xử lí xâu, trong
đó:
Kí tự đầu tiên của
xâu A:
Kí tự cuối cùng của
xâu B:

Dựa vào các
bớc bên, hÃy
hoàn thiện
chơng
trình?

A[1]
B[x] trong đó X là độ dài của
xâu B


3

Nhập vào một xâu từ bàn phím, đa ra màn hình xâu
thu đợc bằng cách loại bỏ các dấu cách từ xâu đà cho?

Ví dụ:

- Xâu ban đầu : Mon Tin
- Kết quả ra màn hình :
MonTinhoc

hoc

HÃy viết ch
HÃy nêu
ơng trình
thuật toán
dựa theo
để giải bài
thuật toán
toán trên?
bên.

Thuật toán
B1. Khởi tạo xâu rỗng;
B2. Lần lợt duyệt qua tất cả các phần tử của xâu vừa
nhập,
nếu phần tử đợc duyệt khác dấu cách thì bổ sung


H·y nhí!
‘Xin chao cac ban!’

Var S : string[30]

S[1] = ‘X’


 Xâu là dÃy các kí tự
trong bộ mà ASCII.
Khai báo: tên xâu, độ dài
lớn nhất của xâu.
Tham chiếu phần tử của
xâu:
Tên
xâu[chỉ số]
Các thao tác xử lí thờng
dùng:
+ Phép ghép xâu, so
sánh xâu;



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

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