Hàm POSSt1, St2 - Cho vị trí xuất hiện đầu tiên của xâu St1 trong xâu St2 KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ NỘI DUNG BÀI MỚI... Hàm POSSt1, St2 - Cho vị trí xuất hiện đầu tiên của xâu St1 trong[r]
(1)Xin kÝnh chµo quý thÇy cô đến dự môn Tin líp 11A11 (2) CHƯƠNG IV (3) Câu hỏi: Em hãy cho biết nào là xâu? Cách khai báo xâu? Từ đó hãy viết chương trình khai báo xâu a và b? KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ NỘI DUNG BÀI MỚI • Thủ tục: Delete • Thủ tục: Insert • Hàm Copy • Hàm Length • Hàm Pos • Hàm UpCase CỦNG CỐ Đáp án: Xâu là dãy các kí tự Khai xâu:mỗi kí tự gọi là mã báo ASCII, Var <tên biến>: string[độ dài lớn xâu]; mộtTrong phầnđó: tử xâu + String: tên dành riêng + Độ dài lớn xâu (<=255) ghi cặp ngoặc [ ] Var a, b: string; (4) Câu 1: Cách khai báo biến xâu nào đây là sai? KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ A Var A: string[50]; NỘI DUNG BÀI MỚI B Var A: string; C Var A= string[30]; D Var A: string[1]; • Thủ tục: Delete • Thủ tục: Insert • Hàm Copy • Hàm Length • Hàm Pos • Hàm UpCase CỦNG CỐ (5) Câu 2: So sánh xâu sau: ST1:= ‘CBA’ ST2:= ‘CBB’ KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ Mã 64 NỘI DUNG BÀI MỚI • Thủ tục: Delete ST1 C B A Mã 65 ST2 C B B • Thủ tục: Insert • Hàm Copy • Hàm Length • Hàm Pos • Hàm UpCase CỦNG CỐ ST1[1] ST1[2] ST1[3] = < < ST2[1] ST2[2] ST2[3] (6) Cần có thao tác gì để chỉnh sửa xâu A thành xâu B? KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ NỘI DUNG BÀI MỚI • Thủ tục: Delete N n g u y e n • Thủ tục: Insert • Hàm Copy • Hàm Length A • Hàm Pos • Hàm UpCase CỦNG CỐ B N g u y e n 7 8 A 10 A n n (7) C CÁC HÀM VÀ THỦ TỤC XỬ LÝ XÂU: Thủ tục DELETE(St, vt, n) • Xoá n kí tự xâu St vị trí vt KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ Ví dụ 1: St:= ‘Song Hong’; Delete(St,1,5); NỘI DUNG BÀI MỚI • Thủ tục: Delete • Thủ tục: Insert S o n g • Hàm Copy • Hàm Length ST[1] • Hàm Pos • Hàm UpCase CỦNG CỐ Kết quả: St = ‘Hong’ H o n g (8) Thủ tục DELETE(St, vt, n) • Xoá n kí tự xâu St vị trí vt KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ NỘI DUNG BÀI MỚI • Thủ tục: Delete • Thủ tục: Insert • Hàm Copy • Hàm Length • Hàm Pos • Hàm UpCase CỦNG CỐ Ví dụ 2: St:= ‘abc’ Ví dụ 3: St:= ‘abc’ Ví dụ 4: St:= ‘abc’ Delete(St,1,5) Delete(St,5,2) Delete(St,1,0) St = ‘abc’ St = ‘abc’ St = ‘abc’ (9) Thủ tục INSERT(St1, St2, vt) Chèn xâu St1 vào xâu St2 vị trí vt KIỂM TRA BÀI CŨ Ví dụ 1: St1:= ‘vi-’; ĐẶT VẤN ĐỀ St2:= ‘May-tinh’; Insert(St1,St2,5); NỘI DUNG BÀI MỚI • Thủ tục: Delete v i - M a y - t i n h • Thủ tục: Insert • Hàm Copy • Hàm Length M a y - t i n h 10 11 • Hàm Pos • Hàm UpCase CỦNG CỐ Kết quả: St2 = ‘May-vi-tinh’ (10) Thủ tục INSERT(S1, S2, vt) Chèn xâu S1 vào xâu S2 vị trí vt Ví dụ 2: KIỂM TRA BÀI CŨ S1:= ’abc’ abc Insert(S1,S2,5) S2 := ’ef’ ef ĐẶT VẤN ĐỀ NỘI DUNG BÀI MỚI • Thủ tục: Delete • Thủ tục: Insert S2 =‘ ’ S1:= ’abc’ abc Insert(S1,S2,1) S2 := ’ef’ ef • Hàm Copy • Hàm Length • Hàm Pos • Hàm UpCase CỦNG CỐ S2 =‘ ’ (11) Hàm COPY(S, vt, n) • Tạo xâu gồm n ký tự liên tiếp vị trí vt xâu S KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ Ví dụ 1: St1:= ‘Xau-ky-tu’; St2:= Copy(St1,5,5); NỘI DUNG BÀI MỚI • Thủ tục: Delete • Thủ tục: Insert X a u - k y - t • Hàm Copy Copy • Hàm Length • Hàm Pos • Hàm UpCase CỦNG CỐ Kết St2 = ‘ky-tu’ u (12) Hàm COPY(S, vt, n) • Tạo xâu gồm n ký tự liên tiếp vị trí vt xâu S KIỂM TRA BÀI CŨ Ví dụ 2: ĐẶT VẤN ĐỀ NỘI DUNG BÀI MỚI S:= ‘abc’ S1:= copy(S,1,5); S1 = • Thủ tục: Delete • Thủ tục: Insert • Hàm Copy • Hàm Length • Hàm Pos • Hàm UpCase CỦNG CỐ S:= ‘abc’ S1:= copy(S,5,2); S1 = ‘’ (13) Hàm LENGTH(S) Cho giá trị là độ dài xâu S KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ NỘI DUNG BÀI MỚI Ví dụ : S:= ‘Tin hoc’; D:= Length(S); • Thủ tục: Delete • Thủ tục: Insert T i n • Hàm Copy • Hàm Length • Hàm Pos • Hàm UpCase CỦNG CỐ Kết quả: D = 7 h o c (14) Hàm POS(St1, St2) - Cho vị trí xuất đầu tiên xâu St1 xâu St2 KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ NỘI DUNG BÀI MỚI Ví dụ 1: St2:= ‘HOA NANG’; St1:= ‘NANG’; D:= Pos(St1,St2); • Thủ tục: Delete • Thủ tục: Insert • Hàm Copy • Hàm Length H O A N A N • Hàm Pos • Hàm UpCase CỦNG CỐ Kết quả: D = G (15) Hàm POS(St1, St2) - Cho vị trí xuất đầu tiên xâu St1 xâu St2 KIỂM TRA BÀI CŨ Ví dụ 2: ĐẶT VẤN ĐỀ NỘI DUNG BÀI MỚI • Thủ tục: Delete • Thủ tục: Insert • Hàm Copy • Hàm Length • Hàm Pos • Hàm UpCase CỦNG CỐ D:= pos(‘Cd’,S2); S2:= ‘abcde’ Cd CC dCd dCd D=0 (16) Hàm UPCASE(Ch) • Cho chữ cái in hoa ứng với chữ cái ch KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ NỘI DUNG BÀI MỚI Ch1:= ‘a’; Ch2:= Upcase(Ch1); Kết quả: Ch2 = ‘A’ • Thủ tục: Delete • Thủ tục: Insert • Hàm Copy St U p C a s e • Hàm Length • Hàm Pos • Hàm UpCase CỦNG CỐ Upcase(st[1]) Upcase(st[2]) Upcase(st[3]) Upcase(st[4]) Upcase(st[6]) Upcase(st[5]) P A S E (17) KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ Em hãy kết thực các thao tác sau: Giá trị st Thao tác Kết a) ‘Dat Nuoc’ Delete(st, 5, 4) ‘Dat ’ b) ‘Hoc ki 2’ Copy(st, 4, 5) ‘ki 2’ c) ‘Hoc tot’ Length(st) NỘI DUNG BÀI MỚI • Thủ tục: Delete • Thủ tục: Insert • Hàm Copy • Hàm Length • Hàm Pos • Hàm UpCase CỦNG CỐ d) ‘Nang dong’ Pos(‘Nang’, st) (18) H·y nhí! KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ NỘI DUNG BÀI MỚI • Thủ tục: Delete • Thủ tục: Insert Các hàm và thủ tục xử lý xâu: Delete(St, vt, n) Insert(S1, S2, vt) Copy(S, vt, n) • Hàm Copy Length(S) • Hàm Length • Hàm Pos • Hàm UpCase CỦNG CỐ Pos(S1, S2) Upcase(ch) (19) Bài tập KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ NỘI DUNG BÀI MỚI • Thủ tục: Delete • Thủ tục: Insert • Hàm Copy • Hàm Length • Hàm Pos • Hàm UpCase CỦNG CỐ Viết chương trình nhập vào xâu S, in màn hình xâu đó dạng in hoa (20) CHƯƠNG TRÌNH: KIỂM TRA BÀI CŨ ĐẶT VẤN ĐỀ NỘI DUNG BÀI MỚI • Thủ tục: Delete • Thủ tục: Insert Program inhoa; Uses CRT; Var S: string; i: integer; Begin Clrscr; Write(‘Nhap vao xau S: ’); readln(S); For i:= To length(S) Do upcase(S[i]); • Hàm Copy • Hàm Length Write(‘Xau da chuyen:’,S); Readln; • Hàm Pos • Hàm UpCase CỦNG CỐ End (21) (22)