intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Dữ liệu kiểu mảng, xâu ký tự...

Chia sẻ: Nguyenthu Thu | Ngày: | Loại File: PPT | Số trang:13

127
lượt xem
13
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Để truy nhập tới từng phần tử, sử dụng chỉ số: Tên_Biến_Mảng[chỉ_số] A[3]. phần tử thứ ba trong mảng A (xem VD). Dem1[‘M’]. phần tử thứ ‘M’ trong mảng Dem1. Mỗi phần tử của mảng có thể coi như một biến độc lập có kiểu dữ liệu là KPT. Một mảng tưng ứng với nhiều biến có cùng kiểu. Mọi thao tác (đọc, viết, gán,…) đối với kiểu dữ liệu KPT đều áp dụng được với phần tử của mảng....

Chủ đề:
Lưu

Nội dung Text: Dữ liệu kiểu mảng, xâu ký tự...

  1. Dữ liệu kiểu mảng, xâu ký tự... Khái niệm về cấu trúc dữ liệu.  Kiểu dữ liệu mảng (array).  Một số bài toán sử dụng mảng.  Mảng hai chiều.  Kiểu dữ liệu xâu ký tự.  Kiểu dữ liệu tập hợp.  Ch2.7. Dữ liệu kiểu mảng và xâu ký tự 1 November 16, 2012
  2. Khái niệm chung về cấu trúc dữ liệu Dữ liệu không có cấu trúc (đơn giản):   Integer, char, Boolean, real…  Mỗi đối tượng dữ liệu là một phần tử đơn lẻ. Dữ liệu có cấu trúc:   Được cấu thành bởi các phần tử dữ liệu đơn giản.  Bao gồm: mảng, tập hợp, bản ghi, tệp. Ch2.7. Dữ liệu kiểu mảng và xâu ký tự 2 November 16, 2012
  3. Kiểu dữ liệu mảng Mảng (array) là kiểu dữ liệu bao gồm một số lượng hữu  hạn các phần tử có cùng kiểu dữ liệu. Khai báo mảng:  TYPE Kiểu_Mảng = ARRAY [KCD] OF KPT; KCD - Quy định số lượng và cách thức VAR truy cập tới các phần Biến_Mảng : Kiểu_Mảng; tử KPT - Kiểu phần tử Khai báo trực tiếp: của mảng VAR Biến_Mảng: ARRAY[KCD] OF KPT; Ch2.7. Dữ liệu kiểu mảng và xâu ký tự 3 November 16, 2012
  4. 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; Ch2.7. Dữ liệu kiểu mảng và xâu ký tự 4 November 16, 2012
  5. Truy nhập mảng Để truy nhập tới từng phần tử, sử dụng chỉ số:  Tên_Biến_Mảng[chỉ_số]  phần tử thứ ba trong mảng A (xem VD).  A[3]  phần tử thứ ‘M’ trong mảng Dem1.  Dem1[‘M’] Mỗi phần tử của mảng có thể coi như một biến  độc lập có kiểu dữ liệu là KPT  Một mảng tưng ứng với nhiều biến có cùng kiểu. Mọi thao tác (đọc, viết, gán,…) đối với kiểu dữ  liệu KPT đều áp dụng được với phần tử của mảng. Ch2.7. Dữ liệu kiểu mảng và xâu ký tự 5 November 16, 2012
  6. Gán giá trị cho các phần tử của 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. Ch2.7. Dữ liệu kiểu mảng và xâu ký tự 6 November 16, 2012
  7. Một số bài toán Tìm kiếm vị trí xuất hiện của phần tử có giá trị  cho trước trong mảng.  Giải thuật: Lần lượt so sánh các phần tử của mảng với giá trị cho trước, nếu phát hiện phần tử có giá trị bằng giá trị đã cho thì in vị trí của phần tử ra. Sắp xếp mảng tăng dần.  phần tử nhỏ nhất, đổi chỗ với phần tử đầu tiên  Tìm của mảng.  Lặp lại công việc với phần còn lại của mảng (kể từ phần tử thứ hai) cho tới khi đổi chỗ hai phần tử cuối cùng. Ch2.7. Dữ liệu kiểu mảng và xâu ký tự 7 November 16, 2012
  8. Mảng hai chiều Tình huống sử dụng:  bài toán với ma trận  Các Khai báo:  Biến_mảng: ARRAY[n1..n2,m1.m2] of KPT; Ví dụ: A, B, C : Array [1..10, 1..20] of real;  A, B, C là ba ma trận kích thước 10x20 Truy xuất:  A[i,j]: phần tử hàng i cột j Ch2.7. Dữ liệu kiểu mảng và xâu ký tự 8 November 16, 2012
  9. Một số bài toán Tính tổng các phần tử của ma trận.  Tính tổng các phần tử dương/âm của ma trận.  Tính tổng các phần tử trên đường chéo chính của ma  trận. Cộng hai ma trận cùng kích thước.  Nhân hai ma trận vuông, 2 ma trận bất kỳ.  Ma trận chuyển vị  Ma trận đơn vị  Nghịch đảo ma trận  Ma trận tam giác  Ch2.7. Dữ liệu kiểu mảng và xâu ký tự 9 November 16, 2012
  10. Kiểu dữ liệu xâu ký tự Khái niệm xâu ký tự: Xâu ký tự trong Pascal là  một chuỗi các ký tự liên tiếp nhau.  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 là 30 ký tự} s1: string; { xâu có độ dài tối đa là 255 ký tự} Ch2.7. Dữ liệu kiểu mảng và xâu ký tự 10 November 16, 2012
  11. Thao tác với xâu... Truy nhập từng ký tự của xâu:  Tên_biến_xâu [STT_ký_tự] Vd: s[3] là ký tự thứ 3 trong xâu (coi như 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 nào đứng trước theo thứ tự từ  điển thì nhỏ hơn ‘abc’ < ‘abcd’; ‘Ha Noi’ < ‘Ha Tay’; ... Ch2.7. Dữ liệu kiểu mảng và xâu ký tự 11 November 16, 2012
  12. Thao tác với xâu Nhập/xuất xâu ký tự:  / writeln: xuất.  write  read / readln: nhập (nếu không nhập xâu mà gõ Enter luôn thì xâu sẽ là rỗng) Ch2.7. Dữ liệu kiểu mảng và xâu ký tự 12 November 16, 2012
  13. 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 trong  xâu st. Thủ tục insert(obj, st, pos): chèn xâu obj vào vị trí pos trong 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 trong var1  (nguyên hoặc thực). Nếu thành công, code=0, nếu không, code=vị trí gặp lỗi trong xâu st khi biến đổi. Hàm copy(st, pos, size): trả về size ký tự của xâu st kể từ vị trí pos.  Hàm concat(st1, st2,...): nối các xâu với nhau  Hàm pos(obj, target): trả về vị trí đầu tiên của xâu obj tìm thấy  trong xâu target. Ch2.7. Dữ liệu kiểu mảng và xâu ký tự 13 November 16, 2012
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2