1. Trang chủ
  2. » Văn Hóa - Nghệ Thuật

bai 12 kieu xau t2

20 26 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 0,95 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Xác định bài toán: Input: Nhập vào hai xâu từ bàn phím Output: Kiểm tra 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..  Hướng giải quyết bài toán[r]

Trang 2

KIỂM TRA BÀI CŨ

Khai báo xâu:

Var <tên biến>: string[độ dài lớn nhất của xâu];

Trong đó:

+ String: tên dành riêng.

+ Độ dài lớn nhất của xâu (<=255)

được ghi trong cặp ngoặc [ ]

Xâu là 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

Var a, b: string;

Câu hỏi 1: Em hãy cho biết thế nào là xâu?

Cách khai báo xâu? Từ đó hãy viết chương trình khai báo 2 xâu a và b?

Trang 3

KIỂM TRA BÀI CŨ

1 2 3 1 2 3

ST2

<

Câu 2: Em hãy nêu quy tắc để So sánh 2 xâu?

So sánh hai xâu sau:ST1:= ‘CBA’; ST2:= ‘CBB’;

ST1

• 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.

Trang 4

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

Cần có thao tác

gì để chỉnh sửa xâu A thành xâu

B ?

A n

e y

u g

n

A

n

1 2 3 4 5 6 7 8 9

N

1 2 3 4 5 6 7 8 9 10

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

Trang 5

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

c Thủ tục DELETE(St, vt, n)

Ví dụ 1:

St:= ‘Song Hong’;

Delete(St,1,5);

g n

o H

g n

o S

1 2 3 4 5 6 7 8 9

ST[1]

g n

o H

Kết quả: St = ‘Hong’

NỘI DUNG BÀI MỚI

St =’tin hoc’ Delete(St,4,3); St =’tin

Ví dụ 2:

hoc’

Trang 6

d Thủ tục INSERT(St1 , St2, vt)

Ví dụ 1: St1:= ‘vi-’; St2:= ‘May-tinh’;

v i

1 2 3

M a y - t i n h

1 2 3 4 5 6 7 8

-Kết quả: St2 = ‘May-vi-tinh’

1 2 3 4 5 6 7 8 9 10 11

Chèn xâu St1 vào xâu St2 bắt đầu từ vị trí vt

Insert(St1,St2,5);

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

d) Insert(s1,s2,vt);

S = ’Abc’

St =

Ví dụ:

St = ’def’

Insert(S,St,1);

Trang 7

3 Hàm COPY(S, vt, n)

Tạo một xâu gồm n ký tự liên tiếp bắt đầu

từ vị trí vt của xâu S

Ví dụ 1: St1:= ‘Xau-ky-tu’; St2:= Copy(St1,5,5);

1 2 3 4 5 6 7 8 9

Copy

Kết quả St2 = ‘ky-tu’

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

d) Insert(s1,s2,vt);

e) Copy(st,vt,n);

Ví dụ 2:

hong

Trang 8

f Hàm LENGTH(S)

Ví dụ1 : S:= ‘Tin hoc’;

D:= Length(S);

Kết quả: D = 7 quả

Cho giá trị là độ dài của xâu S

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

d) Insert(s1,s2,vt);

e) Copy(st,vt,n);

f) Length(s);

S = ’ab 2’ Kết quả D=

Ví dụ 2:

1 23 4

D:=Length(S );

Trang 9

g Hàm POS(St1, St2)

- Cho vị trí xuất hiện đầu tiên của xâu St1 trong xâu St2

Ví dụ 1: St2:= ‘LOP 11A1’; St1:= ’11A1’;

Kết quả: D = 5 D:= Pos(St1,St2);

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

d) Insert(s1,s2,vt);

e) Copy(st,vt,n);

f) Length(s);

g) Pos(s1,s2);

Ví dụ 2:

S2:= ‘abcde’

D:= pos(‘Cd’,S2);

D = 0

Cd Cd CdCd Cd

Trang 10

• Cho chữ cái in hoa ứng với chữ cái trong ch

h Hàm UPCASE(Ch)

Ch2:= Upcase(Ch1);

1 2 3 4 5 6

Upcase(st[1]) Upcase(st[2]) Upcase(st[3]) Upcase(st[4]) Upcase(st[5]) Upcase(st[6])

1 2 3 4 5 6

Kết quả: Ch2 = ‘A’

Ch1:= ‘a’;

St

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

d) Insert(s1,s2,vt);

e) Copy(st,vt,n);

f) Length(s);

g) Pos(s1,s2);

h) Upcase(ch);

Trang 11

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

d) Insert(s1,s2,vt);

e) Copy(st,vt,n);

f) Length(s);

g) Pos(s1,s2);

h) Upcase(ch);

3 Một số ví dụ

Ví dụ 1.

Ví dụ 1: Chương trình dưới đây nhập họ tên

của hai người vào hai biến xâu và đưa ra màn hình xâu dài hơn , nếu bằng nhau thì đưa ra xâu nhập sau.

Xác định bài toán:

Input: Nhập họ tên của hai người vào hai biến xâu

Output: Đưa ra màn hình xâu dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau.

 Hướng giải quyết bài toán?

Dùng hàm Length để biết độ dài của hai xâu,sau đó dùng câu lệnh If dạng đủ để thực hiện: nếu length(a)>length(b) thì đưa ra xâu a; nếu không thì đưa ra xâu b

Trang 12

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

d) Insert(s1,s2,vt);

e) Copy(st,vt,n);

f) Length(s);

g) Pos(s1,s2);

h) Upcase(ch);

3 Một số ví dụ

Ví dụ 1.

Thể hiện bằng pascal

Var a, b: String;

Begin

write (‘Nhap ho ten nguoi thu 1: ’);

readln (A);

write (‘Nhap ho ten nguoi thu 2: ’);

readln (B);

if length(A) > length(B) then

write (A)

else

write(B);

readln

End.

pascal

Trang 13

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

d) Insert(s1,s2,vt);

e) Copy(st,vt,n);

f) Length(s);

g) Pos(s1,s2);

h) Upcase(ch);

3 Một số ví dụ

Ví dụ 1.

Ví dụ 2.

Ví dụ 2: Viết chương trình nhập hai xâu từ phím và kiểm tra

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.

Var x : byte ;

a, b : string ; Begin

Write(‘nhap xau thu nhat:’);

Readln(a);

Write(‘nhap xau thu nhat:’);

Readln(b);

x:= length(b);

If a[1]= b[x] then Write(‘Trung nhau’)

else write(‘Khac nhau’);

Readln

End.

 Xác định bài tốn:

Input: Nhập vào hai xâu từ bàn phím

trùng với kí tự cuối cùng của xâu thứ hai khơng.

Hướng giải quyết bài tốn:

Pascal

 Thể hiện bằng Pascal

Trang 14

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

d) Insert(s1,s2,vt);

e) Copy(st,vt,n);

f) Length(s);

g) Pos(s1,s2);

h) Upcase(ch);

3 Một số ví dụ

Ví dụ 1.

Ví dụ 2.

Ví dụ 3.

Ví dụ 3: Viết chương trình nhập vào một xâu từ phím và đưa

ra màn hình xâu được viết theo thứ tự ngược lại.

Var a : string[50] ;

i, d : byte ; Begin

Write(‘nhap vao xau:’);

Readln(a);

d:= length(a);

For i:= d downto 1 do

Write(a[i]);

Readln;

End.

 Xác định bài tốn:

Input: Nhập vào hai xâu từ bàn phím

trùng với kí tự cuối cùng của xâu thứ hai khơng.

Hướng giải quyết bài tốn:

 Thể hiện bằng Pascal

Pascal

Trang 15

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

d) Insert(s1,s2,vt);

e) Copy(st,vt,n);

f) Length(s);

g) Pos(s1,s2);

h) Upcase(ch);

3 Một số ví dụ

Ví dụ 1.

Ví dụ 2.

Ví dụ 3.

Ví dụ 4.

Var i, k : byte ;

a, b : string ; Begin

Write(‘nhap xau :’);

Readln(a);

k:= length(a);

b:= ‘’;

for i:=1 to k do

If a[i]<>‘ ’ then b:=b+a[i];

write(‘ket qua: ’,b);

Readln

End.

Ví dụ 4: Viết chương trình nhập vào một xâu từ phím và đưa ra màn hình xâu thu được từ nó bởi việc loại bỏ các dấu cách nếu có.

Pascal

 Xác định bài tốn:

Input: Nhập vào xâu từ bàn phím

Hướng giải quyết bài tốn:

 Thể hiện bằng Pascal

Trang 16

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

d) Insert(s1,s2,vt);

e) Copy(st,vt,n);

f) Length(s);

g) Pos(s1,s2);

h) Upcase(ch);

3 Một số ví dụ

Ví dụ 1.

Ví dụ 2.

Ví dụ 3.

Ví dụ 4.

Ví dụ 5

Program Xulixau;

Var s1, s2 : string ;

i : byte ; Begin

Write(‘nhap vao xau s1:’);

Readln(s1);

s2:= ‘’;

For i:= 1 to length(s1) do

if (‘0’=< s1[i]) and (s1[i]<=‘9’) then s2:= s2+s1[i];

Write(‘Ket qua: ’, s2);

Readln

End.

Ví dụ 5: Viết chương trình nhập vào một xâu s1 từ bàn phím, tạo xâu s2 gồm tất cả các chữ số có trong s1.

 Xác định bài tốn:

Input: Nhập vào xâu từ bàn phím

Hướng giải quyết bài tốn:

 Thể hiện bằng Pascal

Trang 17

Em hãy chỉ ra kết quả khi thực hiện các thao tác sau:

1

Giá trị st Thao tác Kết quả

d) ‘Nang dong’ Pos(‘Nang’, st)

‘Dat ’

‘ki 2’

7 1

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

d) Insert(s1,s2,vt);

e) Copy(st,vt,n);

f) Length(s);

g) Pos(s1,s2);

h) Upcase(ch);

3 Một số ví dụ

Ví dụ 1.

Ví dụ 2.

Ví dụ 3.

Ví dụ 4.

Ví dụ 5

CỦNG CỐ

Trang 18

Copy(S, vt, n) Insert(S1, S2, vt) Delete(St, vt, n)

Pos(S1, S2)

Length(S)

Upcase(ch)

Các hàm và thủ tục xử lý xâu:

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

d) Insert(s1,s2,vt);

e) Copy(st,vt,n);

f) Length(s);

g) Pos(s1,s2);

h) Upcase(ch);

3 Một số ví dụ

Ví dụ 1.

Ví dụ 2.

Ví dụ 3.

Ví dụ 4.

Ví dụ 5

CỦNG CỐ

Trang 19

KIỂM TRA BÀI CŨ

NỘI DUNG BÀI MỚI

2.Một số thao

tác xử lí xâu.

a) Ghép xâu

b) So sánh xâu

c) Delete(st,vt,n);

d) Insert(s1,s2,vt);

e) Copy(st,vt,n);

f) Length(s);

g) Pos(s1,s2);

h) Upcase(ch);

3 Một số ví dụ

Ví dụ 1.

Ví dụ 2.

Ví dụ 3.

Ví dụ 4.

Ví dụ 5

CỦNG CỐ

DẶN DÒ

- Ôn lại bài học hôm nay.

- Làm bài tập 10 trang 80 SGK

- Chuẩn bị trước Bài tập và thực hành số 5.

Trang 20

Chân thành cám ơn các thầy, cô giáo đã

có mặt tham dự tiết học ngày hôm nay

Ngày đăng: 24/06/2021, 16:36

TỪ KHÓA LIÊN QUAN

w