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

Bài giảng Kỹ thuật lập trình: Chương 2 - ThS Trần Duy Thanh

Chia sẻ: Cao Thi Ly | Ngày: | Loại File: PPTX | Số trang:55

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

Bài giảng Kỹ thuật lập trình: Chương 2 do ThS Trần Duy Thanh biên soạn cung cấp cho người học các kiến thức: Mảng, các thao tác trên mảng, chuỗi, các thao tác trên chuỗi,... Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kỹ thuật lập trình: Chương 2 - ThS Trần Duy Thanh

  1. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Chương 2 Xử lý mảng và chuỗi
  2. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Nội dung vMảng vCác thao tác trên mảng vChuỗi vCác thao tác trên chuỗi
  3. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Mảng vLà  tập  hợp  nhiều  phần  tử  có  cùng  kiểu  dữ  liệu vSố phần tử trong mảng được xác định trước vMỗi phần tử được đánh số chỉ mục, bắt đầu  từ 0
  4. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Mảng Một phòng chứa các tủ v Số lượng tủ chứa ?  v Tủ Chứa gì? v Số thứ tự tủ, chỉ mục tủ
  5. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Mảng Ví dụ về mảng: Mảng các từ: Khoa Hệ Thống Thông Tin 0 1 2 3 4 Mảng các số nguyên: 4 0 6 1 1 2 8 9 0 1 2 3 4 5 6 7
  6. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Khai báo Mảng vKiểuDữLiệu[]   tênMảng; vVí dụ § int[] bangDiem; § string[] loiNoi; § DateTime[] ngaySinh;
  7. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Khởi tạo Mảng vtenMang = new KieuDuLieu[soPhanTu] vVí dụ § diem = new int[10]; § loiNoi = new string[20]; § ngaySinh = new DateTime[7]; § float diemTB = new float[5]; 0 0 0 0 0 0 1 2 3 4
  8. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Khởi tạo và gán giá trị Mảng vtenMang = new KieuDuLieu[spt]{gtri1, gtri2,  gtri3,…}; § diem = new int[5]{ 5, 6, 7, 6, 9 } vGiá trị không nhất thiết phải là hằng số § Ví dụ Random r = new Random();  int[] pins = new int[4]{  r.Next() % 10, r.Next() % 10, r.Next() % 10, r.Next() % 10 }; vSố giá trị trong dấu ngoặc phải bằng số  phần tử mảng được khai báo
  9. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Truy suất từng phần tử Mảng vXác định số phần tử của mảng § tenMang.Length vTruy xuất phần tử: tenMang[soThuTu] § 0 
  10. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Gán giá trị cho từng phần tử Mảng vGán điểm thứ 3 của mảng diem là 10 § diem[2] = 10 5 6 10 6 9 0 1 2 3 4 vGán điểm thứ 4 của mảng diem bằng điểm  thứ nhất cộng 4 § diem[3] = diem[0] + 4
  11. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Duyệt Mảng vDùng vòng lặp for vVí dụ duyệt mảng diem for (int i = 0; i 
  12. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Duyệt Mảng bằng foreach vVí dụ foreach (int i in diem) { Console.WriteLine(i.ToString()); } vKhông nên dùng foreach khi § Cần duyệt một phần trong mảng (ví dụ duyệt từ  phần tử thứ 2 tới thứ 10) § Cần duyệt từ cuối về đầu mảng § Cần biết chỉ số mảng trong vòng lặp § Cần thay đổi giá trị của phần tử mảng
  13. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Sao chép Mảng vMảng là kiểu tham chiếu  gán mảng là gán  tham chiếu vVí dụ § int[] mangA = diem; §  mangA và diem cùng tham chiếu đến vùng  nhớ chứa các phần tử của mảng § Thay đổi giá trị trong mangA sẽ ảnh hưởng đến  diem
  14. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Sao chép Mảng diem 5 6 7 6 9 mangA diem 5 6 8 6 9 mangA
  15. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Sao chép Mảng vTạo mảng mới và gán giá trị từ mảng cũ vDùng CopyTo § int[] mangA = new int[diem.Length]; § diem.CopyTo(mangA, 0); vDùng Array.Copy § Array.Copy(diem, mangA, diem.Length); vDùng Clone § mangA = (int[]) diem.Clone();
  16. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Đảo Mảng Phương  thức  Reverse  cua  ̉ lớp  Array  thực  hiên  ̣ viêc  ̣ ̉ đao th ứ tự các phần tử trong mang. Cu ̉ ́ pháp thực  ̣ hiên:  int[] mang = { 15, 26, 7, 28, 19, 6 };  Array.Reverse(mang);  Kết quả: mang = { 6,19,28,7,26,15}; 
  17. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Sắp xếp Mảng Phương thức  Sort() cua l̉ ớp Array thực hiên viêc să ̣ ̣ ́p  xếp các phần tử trong mang. Cu ̉ ́ pháp thực hiên:  ̣ Array.Sort(ten_mang);  Ví dụ: int[] mang = { 9, 5, 7, 4, 6 };  Array.Sort(mang);  Kết quả: mang = { 4, 5, 6, 7,9 }; 
  18. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Tìm kiếm trên Mảng vTìm kiếm trên mảng đã được sắp xếp 0 2 5 6 7 8 9 9 8 7 6 5 2 0 vTìm kiếm trên mảng chưa được sắp xếp 5 2 9 7 6 0 8
  19. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Tìm kiếm trên Mảng vTìm kiếm trên mảng đã được sắp xếp Phương  thức  BinarySearch  cua  ̉ lớp  Array  thực hiên viêc ti ̣ ̣ ̀m kiếm môt giạ ̣ ̣ ́ tri trong môt  ̉ mang đa ̃ được sắp xếp trước, tra vê ̉ ̀ kết qua ̉ là số nguyên cho biết chi sổ ́ index cua phẩ ̀n  tử tìm được, nếu không tìm được thì tra vê ̉ ̀  ­1. Cú pháp thực hiên:  ̣ int vitri = Array.BinarySearch(tenMang, giaTriCanTim); 
  20. Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Tìm kiếm trên Mảng đã sắp xếp vVí dụ: mang 0 2 5 6 7 8 9 int vitri = Array.BinarySearch(mang, 7);  Kết quả vitri=4 (Tìm thấy số 7 ở vị trí thứ 4) int vitri = Array.BinarySearch(mang, 113);  Kết quả vitri=­1 (­1 tức là không tìm thấy số 113)
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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