Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
199 KB
Nội dung
Dữ liệu kiểu mảng, xâu ký tự Khái niệm cấu trúc liệu Kiểu liệu mảng (array) Một số toán sử dụng mảng Mảng hai chiều Kiểu liệu xâu ký tự Kiểu liệu tập hợp December 3, 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự Khái niệm chung cấu trúc liệu Dữ liệu khơng có cấu trúc (đơn giản): Integer, char, Boolean, real… Mỗi đối tượng liệu phần tử đơn lẻ Dữ liệu có cấu trúc: Được cấu thành phần tử liệu đơn giản Bao gồm: mảng, tập hợp, ghi, tệp December 3, 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự Kiểu liệu mảng Mảng (array) kiểu liệu bao gồm số lượng hữu hạn phần tử có kiểu liệu Khai báo mảng: TYPE Kiểu_Mảng = ARRAY [KCD] OF KPT; VAR Biến_Mảng : Kiểu_Mảng; Khai báo trực tiếp: VAR Biến_Mảng: ARRAY[KCD] OF KPT; December 3, 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự KCD - Quy định số lượng cách thức truy cập tới phần tử KPT - Kiểu phần tử mảng Khai báo mảng TYPE DaySo = array[1 100] of Real; DemKyTu = array[A Z] of Integer; VAR A: DaySo; Dem1: DemKyTu; M: array[1 10] of Integer; M1: array[-3 5] of Real; December 3, 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự Truy nhập mảng Để truy nhập tới phần tử, sử dụng số: Tên_Biến_Mảng[chỉ_số] A[3] phần tử thứ ba mảng A (xem VD) Dem1[‘M’] phần tử thứ ‘M’ mảng Dem1 Mỗi phần tử mảng coi biến độc lập có kiểu liệu KPT Một mảng tưng ứng với nhiều biến có kiểu Mọi thao tác (đọc, viết, gán,…) kiểu liệu KPT áp dụng với phần tử mảng December 3, 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự Gán giá trị cho phần tử mảng VAR Day1: Array[1 10] of Integer; 3;10 3;13 BEGIN _ Day1[1]:=3; Day1[2]:=10; Writeln(Day1[1],’;’,Day1[2]); Day1[2]:=Day1[1]+Day1[2]; Readln; Writeln(Day1[1],’;’,Day1[2]); END December 3, 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự Một số toán Tìm kiếm vị trí xuất phần tử có giá trị cho trước mảng Giải thuật: Lần lượt so sánh phần tử mảng với giá trị cho trước, phát phần tử có giá trị giá trị cho in vị trí phần tử Sắp xếp mảng tăng dần Tìm phần tử nhỏ nhất, đổi chỗ với phần tử mảng Lặp lại công việc với phần lại mảng (kể từ phần tử thứ hai) đổi chỗ hai phần tử cuối December 3, 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự Mảng hai chiều Tình sử dụng: Các tốn với ma trận Khai báo: Biến_mảng: ARRAY[n1 n2,m1.m2] of KPT; Ví dụ: A, B, C : Array [1 10, 20] of real; A, B, C ba ma trận kích thước 10x20 Truy xuất: A[i,j]: phần tử hàng i cột j December 3, 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự Một số toán Tính tổng phần tử ma trận Tính tổng phần tử dương/âm ma trận Tính tổng phần tử đường chéo ma trận Cộng hai ma trận kích thước Nhân hai ma trận vng, ma trận Ma trận chuyển vị Ma trận đơn vị Nghịch đảo ma trận Ma trận tam giác December 3, 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự Kiểu liệu xâu ký tự Khái niệm xâu ký tự: Xâu ký tự Pascal chuỗi ký tự liên tiếp Khai báo: Tên_biến_xâu: STRING[độ_dài_cực_đại]; hoặc: Tên_biến_xâu: STRING; Ví dụ s: string [30]; { xâu có độ dài tối đa 30 ký tự} s1: string; { xâu có độ dài tối đa 255 ký tự} December 3, 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự 10 Thao tác với xâu Truy nhập ký tự xâu: Tên_biến_xâu [STT_ký_tự] Vd: s[3] ký tự thứ xâu (coi biến char) Phép cộng xâu: s := ‘ABC’ + ‘123’; {s = ‘ABC123’} s := s + ‘XYZ’; {s = ‘ABC123XYZ’} Phép so sánh: xâu đứng trước theo thứ tự từ điển nhỏ ‘abc’ < ‘abcd’; ‘Ha Noi’ < ‘Ha Tay’; December 3, 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự 11 Thao tác với xâu Nhập/xuất xâu ký tự: write / writeln: xuất read / readln: nhập (nếu không nhập xâu mà gõ Enter ln xâu rỗng) December 3, 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự 12 Một số hàm/thủ tục xử lý xâu Hàm length(st): độ dài xâu Thủ tục delete(st, pos, num): xóa num ký tự kể từ vị trí pos xâu st Thủ tục insert(obj, st, pos): chèn xâu obj vào vị trí pos xâu st Thủ tục str(value, st): biến đổi giá trị value thành xâu lưu vào st Thủ tục val(st, var1, code): biến xâu st thành số chứa var1 (nguyên thực) Nếu thành công, code=0, không, code=vị trí gặp lỗi xâu st biến đổi Hàm copy(st, pos, size): trả size ký tự xâu st kể từ vị trí pos Hàm concat(st1, st2, ): nối xâu với Hàm pos(obj, target): trả vị trí xâu obj tìm thấy xâu target December 3, 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự 13 ... 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự Kiểu liệu xâu ký tự Khái niệm xâu ký tự: Xâu ký tự Pascal chuỗi ký tự liên tiếp Khai báo: Tên_biến _xâu: STRING[độ_dài_cực_đại]; hoặc: Tên_biến _xâu: STRING;... xâu có độ dài tối đa 30 ký tự} s1: string; { xâu có độ dài tối đa 255 ký tự} December 3, 2015 Ch2.7 Dữ liệu kiểu mảng xâu ký tự 10 Thao tác với xâu Truy nhập ký tự xâu: Tên_biến _xâu [STT _ký_ tự] ... Ch2.7 Dữ liệu kiểu mảng xâu ký tự Kiểu liệu mảng Mảng (array) kiểu liệu bao gồm số lượng hữu hạn phần tử có kiểu liệu Khai báo mảng: TYPE Kiểu_ Mảng = ARRAY [KCD] OF KPT; VAR Biến_Mảng : Kiểu_ Mảng;