Bài giảng Nhập môn tin học - Chương 4: Dữ liệu kiểu chuỗi - Ngô Quang Thạch

pptx 18 trang Hùng Dũng 05/01/2024 130
Bạn đang xem tài liệu "Bài giảng Nhập môn tin học - Chương 4: Dữ liệu kiểu chuỗi - Ngô Quang Thạch", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptxbai_giang_nhap_mon_tin_hoc_chuong_4_du_lieu_kieu_chuoi_ngo_q.pptx

Nội dung text: Bài giảng Nhập môn tin học - Chương 4: Dữ liệu kiểu chuỗi - Ngô Quang Thạch

  1. Chương 4 DỮ LIỆU KIỂU CHUỖI NGÔ QUANG THẠCH ngoquangthach@yahoo.com 1/9/2024
  2. • Kiểu chuỗi (STRING) • Khái niệm • Khai báo chuỗi • Các thao tác trên String • Một số hàm và thủ tục NỘI DUNG 1/9/2024
  3. • Một chuỗi dữ liệu là một loạt các ký tự được định nghĩa bằng từ khoá STRING. • Có thể khai báo kiểu String gián tiếp hoặc trực tiếp • Khai báo trực tiếp VAR : STRING [độ dài của chuỗi] ; • Khai báo gián tiếp TYPE = STRING [hằng nguyên] ; VAR : ; KIỂU CHUỖI 1/9/2024
  4. • TYPE TenSV = STRING [25] ; {định độ dài tối đa là 25} Diachi = STRING; {mặc nhiên có độ dài tối đa là 255} • VAR HT : TenSV ; DC : Diachi ; • VAR HT : STRING [25] ; DC : STRING; Ví dụ: 1/9/2024
  5. • VAR DH: STRING[15] DH:= CONG THUONG; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 C O N G T H U O N G Chuỗi: ‘CONG THUONG’ có độ dài 11 ký tự Ký tự thứ 0 chứa ký tự độ dài thực của chuỗi CHR(11) PHÉP GÁN 1/9/2024
  6. HoTen := Nguyen Van A ; DiaChi := 291 Phan Dinh Phung, QN ; • Thực hiện nối chuỗi bằng dấu Cộng (+) • HoTen+DiaChi = Nguyen Van A 291 Phan Dinh Phung, QN • Chú ý: Không có phép trừ, nhân, chia trong chuỗi ký tự. PHÉP CỘNG 1/9/2024
  7. • Gồm có: • = ; > ; >= ; 'Hella' • 'Hello' < 'Hellu' • ‘Lan' < ‘Lang' CÁC PHÉP SO SÁNH 1/9/2024
  8. • Thủ tục xóa một phần • Cú pháp: DELETE (St, Pos, Num) • Ví dụ: St: Chuỗi ban đầu VAR st : string [20]; Pos: Vị trí cần xoá BEGIN Num: Số ký tự cần St := 'CONG CHA NGHIA ME'; xoá Writeln (St) ; DELETE (St, 10, 6); Writeln(St); Readln ; END. CONG CHA NGHIA ME CONG CHA ME CÁC THỦ TỤC VÀ HÀM 1/9/2024
  9. • Thủ tục chèn một chuỗi • Cú pháp: INSERT (Obj, St, Pos) • Ví dụ: VAR St : string [25]; BEGIN Obj: Chuỗi cần chèn St := 'CONG CHA NGHIA ME'; St: Chuỗi gốc ban đầu Writeln (St) ; Pos: Vị trí cần chèn INSERT(‘ CHU THAY’, St, 18); Writeln(St); CONG CHA NGHIA ME Readln ; CONG CHA NGHIA ME CHU END. THAY 1/9/2024
  10. • Hàm LENGTH (St) • Cho kết quả là một số nguyên chỉ độ dài của chuỗi ký tự St VAR St : String[80]; BEGIN Write(' Nhập vào một câu : '); Readln(St) ; Writeln(‘Độ dài của câu: ‘, length(St)) ; Readln ; END. 1/9/2024
  11. • Thủ tục STR (S [: n[: m]], St): Chuyển số S thành chuỗi rồi gán cho St • Thủ tục VAL(St, S, Code): Chuyển chuỗi St thành số rồi gán cho S, Code sẽ nhận giá trị lỗi • Hàm COPY (St, Pos, Num): Sao chép ra một chuỗi từ vị trí Pos và có độ dài Num • Hàm CONCAT (St1, St2, , StN): Nối các chuỗi lại với nhau (giống phép +) MỘT SỐ THỦ TỤC VÀ HÀM 1/9/2024
  12. • Thủ tục STR (S [: n[: m]], St) VAR S: real; St: string[10]; BEGIN S:= 12345.6718; Writeln(S:5:2); Str(S:6:2:St); Writeln(St); Readln; END. 1/9/2024
  13. • Truy xuất từng ký tự trong chuỗi PROGRAM DoiChu; VAR St:String; i: integer; BEGIN Write('Hãy nhập tên của bạn : '); Readln(St); FOR i:= 1 TO Length(St) DO Write(Upcase(St[i]:3)); (*Hàm Upcase đổi ký tự thành chữ in hoa*) Readln; END. 1/9/2024
  14. • Viết chương trình nhập vào một xâu ký tự từ bàn phím. Đổi xâu ký tự đó sang chữ hoa rồi in kết quả ra màn hình. • Ví dụ :Xâu abcdAbcD sẽ cho ra xâu ABCDABCD. • Ý tưởng: Lặp từ đầu đến hết chuỗi, dung hàm Upercase() để chuyển ký tự thường sang ký tự hoa Bài tập: 1/9/2024
  15. Var St:String; i:Byte; Begin Write(‘Nhap xau St: ‘); Readln(St); For i:=1 to length(St) do St[i]:=Upcase(St[i]); Write(‘Xau ket qua: ‘, St); Readln; End. 1/9/2024
  16. • Viết chương trình nhập từ bàn phím một chuỗi ký tự và in ra màn hình chuỗi ký tự ngược lại: VD: CONG HOA XA HOI CHU NGHIA VIET NAM MAN TEIV AIHGN UHC IOH AX AOH GNOC Ý tưởng: Xuất chuỗi từ cuối chuỗi đến đầu chuỗi 1/9/2024
  17. Program DaoChuoi; Var Cau : String[80]; i : Byte; Begin Write(‘ Nhap vao mot cau : ‘); Readln(Cau); For i := Length(Cau) DownTo 1 do Write(Cau[i]); Readln; End. 1/9/2024
  18. 1/9/2024