Dữ liệu có cấu trúc

Chia sẻ: thanhtungka1991

Các kiểu dữ liệu cơ sở chưa đủ mềm dẻo cho các bài toán thực tế .sự vật, hiện tượng trong thực tế phức tạp, có nhiều tính chất khác nhau

Bạn đang xem 7 trang mẫu tài liệu này, vui lòng download file gốc để xem toàn bộ.

Nội dung Text: Dữ liệu có cấu trúc

 

  1. Dữ liệu có cấu trúc
  2. Nội dung  Khái niệm  Kiểu bản ghi  Bản ghi là tham số  Bản ghi chứa bản ghi khác Nguyễn Việt Hà Dữ liệu có cấu trúc 2
  3. Tài liệu tham khảo  The C Programming Language, Ch. 6 Nguyễn Việt Hà Dữ liệu có cấu trúc 3
  4. Kiểu dữ liệu người dùng định nghĩa  Các kiểu dữ liệu cơ sở chưa đủ mềm dẻo cho các bài toán thực tế  sự vật, hiện tượng trong thực tế phức tạp, có nhiều tính chất khác nhau  Người lập trình cần có định nghĩa các kiểu dữ liệu phù hợp với bài toán cụ thể  dễ sử dụng  có sự liên hệ giữa các tính chất khác nhau Nguyễn Việt Hà Dữ liệu có cấu trúc 4
  5. Kiểu dữ liệu người dùng định nghĩa  Tạo ra kiểu dữ liệu phức tạp dựa trên các kiểu dữ liệu đã có  dữ liệu có cấu trúc  Tạo ra các chương trình con riêng để làm việc với dữ liệu mới  Sự phát triển  bản ghi (lập trình thủ tục)  đối tượng (lập trình hướng đối tượng) Nguyễn Việt Hà Dữ liệu có cấu trúc 5
  6. Bản ghi (record) và kiểu bản ghi  Kiểu bản ghi  là một kiểu dữ liệu có cấu trúc  tích hợp nhiều kiểu dữ liệu nguyên thủy hoặc kiểu bản ghi khác  Bản ghi: là một biến thuộc một kiểu bản ghi Nguyễn Việt Hà Dữ liệu có cấu trúc 6
  7. Ví dụ về bản ghi (C) struct Student { trường dữ liệu char name[30]; int id; }; int main() bản ghi { Student s1; cin >> s1.name; cin >> s1.id; } Nguyễn Việt Hà Dữ liệu có cấu trúc 7
  8. Cách dùng  Sau khi đã được định nghĩa, có thể sử dụng như mọi kiểu dữ liệu khác  khai báo biến  tạo mảng  truyền tham số  là thành phần của một cấu trúc bản ghi phức tạp hơn Nguyễn Việt Hà Dữ liệu có cấu trúc 8
  9. #include <iostream> #include <math.h> using namespace std; struct Point { int x, y; }; double dis(Point p) { return sqrt(p.x*p.x + p.y*p.y); } int main() { Point p = {10, 10}; cout << dis(p); } Nguyễn Việt Hà Dữ liệu có cấu trúc 9
  10. ... void setPoint(Point& p, int x, int y) { p.x = x; p.y = y; } -- Point p[10]; for (int i=0; i<10; i++) setPoint(p[i], i, i); Nguyễn Việt Hà Dữ liệu có cấu trúc 10
  11. struct Circle { Point p; int r; }; -- Circle c; cin >> c.p.x >> c.p.y >> c.r; Nguyễn Việt Hà Dữ liệu có cấu trúc 11
  12. Bài tập  Tạo kiểu bản ghi MyDate chứa thông tin ngày tháng năm.  Viết hàm kiểm tra một bản ghi có thông tin ngày tháng năm hợp lệ hay không.  Viết hàm tính xem một ngày là ngày thứ mấy trong tuần. Nguyễn Việt Hà Dữ liệu có cấu trúc 12
  13. Bài tập  Xây dựng kiểu bản ghi sinh viên chứa MyDate, chứa điểm trung bình  Xây dựng hàm sắp xếp một danh sách (mảng) sinh viên theo thứ tự điểm trung bình từ cao xuống thấp.  Xây dựng hàm tìm kiếm sinh viên theo mã sinh viên. Nguyễn Việt Hà Dữ liệu có cấu trúc 13
  14. Tự thực hành  Thực hành tạo kiểu bản ghi, dùng bản ghi làm tham số.  Tạo mảng bản ghi.  Cài đặt, thực hiện các ví dụ trong bài. Nguyễn Việt Hà Dữ liệu có cấu trúc 14
Theo dõi chúng tôi
Đồng bộ tài khoản