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 nâng cao: Chương 2 - ThS. Dương Thành Phết

Chia sẻ: Ngocnga Ngocnga | Ngày: | Loại File: PDF | Số trang:54

81
lượt xem
8
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 nâng cao - Chương 2 cung cấp các kiến thức liên quan đến kiểu dữ liệu có cấu trúc. Chương này gồm có những nội dung chính như: Kiểu dữ liệu mảng 1 chiều, các thao tác trên mảng 1 chiều, mảng 2 chiều, kiểu chuổi ký tự, kiểu cấu trúc – mảng cấu trúc, kiểu tập tin - File

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kỹ thuật lập trình nâng cao: Chương 2 - ThS. Dương Thành Phết

  1. TRƯỜNG CAO ĐẲNG CNTT TP.HCM KHOA CÔNG NGHỆ THÔNG TIN KỸ THUẬT LẬP TRÌNH NÂNG CAO Chương 2 KIỂU DỮ LIỆU CÓ CẤU TRÚC Giảng Viên: ThS. Dương Thành Phết Email: phetcm@gmail.com Website: http://www.thayphet.net 1 Tel: 0918158670 – facebook.com/DuongThanhPhet
  2. NỘI DUNG 1. Kiểu dữ liệu mảng 1 chiều 2. Các thao tác trên mảng 1 chiều 3. Mảng 2 chiều 4. Kiểu chuổi ký tự 5. Kiểu cấu trúc – Mảng cấu trúc 6. Kiểu tập tin - File 2 2
  3. 1. KIỂU DỮ LIỆU MẢNG 1 CHIỀU 1.1 Khái niệm  Mảng thực chất là một biến bao gồm nhiều biến thành phần được cấp phát bộ nhớ liên tục.  Các thành phần của mảng là tập hợp các biến có cùng kiểu dữ liệu và cùng tên. Do đó để truy xuất các biến thành phần, ta dùng cơ chế chỉ mục (Vị trí). Giá trị 0 1 2 3 4 5 6 7 8 9 3 Vị trí 3
  4. 1. KIỂU DỮ LIỆU MẢNG 1 CHIỀU 1.2. Khai báo < Kiểu dữ liệu > < Tên mảng > [ < Số p.tử tối đa của mảng> ] ; int a[100]; //Khai bao mang so nguyen a gom 100 phan tu float b[50]; //Khai bao mang so thuc b gom 50 phan tu char str[30]; //Khai bao mang ky tu str gom 30 ky tu 4 4
  5. 1. KIỂU DỮ LIỆU MẢNG 1 CHIỀU 1.3. Gán giá trị ban đầu cho mảng int a[5] = {3, 6, 8, 1, 12};  a[0] = 3, a[1] = 6, a[2] = 8, … int a[10] = {0};  a[0]=a[1]=a[2]=a[3]=…=a[9]=0 5 5
  6. 1. KIỂU DỮ LIỆU MẢNG 1 CHIỀU 1.4. Truy xuất Vị trí 0 1 2 3 4 A[0] A[1] A[2] A[3] A[4] 6 6
  7. 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 1. Nhập/Xuất mảng void NhapMang (int a[], int n){ for (int i = 0; i < n; i ++){ cout
  8. 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU void main ( ){ int a[MAX] , n; coutn; NhapMang (a,n); cout
  9. 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU Xuất các phần tử thỏa điều kiện Mẫu 1: void LietKeXXX(int a[], int n){ for (int i = 0; i
  10. 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU Ví dụ 1: Liệt kê các phần tử có giá trị chẵn trong mảng void LietKeChan(int a[], int n){ for (int i = 0; i
  11. 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU Ví dụ 2: Liệt kê các phần tử có giá trị lớn hơn x trong mảng void LietKeLonHonX(int a[], int n, int x){ for (int i = 0; i x) cout
  12. 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 2.2. Đếm Mẫu 1: int DemXXX(int a[], int n){ int d = 0; for (int i = 0; i
  13. 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU Ví dụ 1: Đếm các phần tử có giá trị là số nguyên tố bool LaSNT(int k) { int d = 0; for (int i = 1; i
  14. 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU Ví dụ 2: Đếm các phần tử có trong mảng mà giá trị nhỏ hơn x int DemNhoHonX(int a[], int n, int x){ int d = 0; for (int i = 0; i
  15. 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 2.3. Tìm kiếm Mẫu 1: Tìm và trả về vị trí phần tử có giá trị lớn nhất int TimVTMax(int a[], int n){ int vtmax = 0; for (int i = 0; i < n; i++) if (a[i] > a[vtmax]) vtmax = i; return vtmax; Mẫu 2: Tìm vị trí phần tử có giá trị x } (nếu x không xuất hiện trong mảng trả về -1) int TimVTX(int a[], int n, int x){ for (int i = 0; i < n; i++) if (a[i] == x) return i; return -1; 15 15 }
  16. 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 2.4. Kiểm tra mảng có thỏa đk cho trước Trường hợp 1: Kiểm tra tồn tại một phần tử trong mảng thỏa điều kiện nào đó cho trước  tìm phần tử thỏa điều kiện để kết luận. Mẫu 1: bool KiemTraTonTaiXXX(int a[], int n){ for (int i = 0; i
  17. 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU Trường hợp 2: Kiểm tra tất cả các phần tử thỏa điều kiện nào đó cho trước  tìm phần tử không thỏa điều kiện để kết luận mảng không thỏa điều kiện. Mẫu 2: bool KiemTraXXX(int a[], int n){ for (int i = 0; i
  18. 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU Ví dụ 1: Kiểm tra xem mảng có tồn tại số lẻ không? bool KiemTraTonTaiLe(int a[], int n){ foreach (int giatri in a) if (giatri % 2 != 0) return true; return false; } 18 18
  19. 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU Ví dụ 2: Kiểm tra xem mảng có toàn giá trị âm không? (true: có/ false: không) bool KiemTraToanAm(int a[], int n){ for (int i = 0; i= 0) return false; return true; } 19 19
  20. 2. CÁC THAO TÁC TRÊN MẢNG 1 CHIỀU 2.5. Tính toán các phần tử trong mảng Mẫu tính tổng: int TongXXX(int a[], int n){ int s = 0; for (int i = 0; i
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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