Dữ liệu có cấu trúc... 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... 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 c
Trang 1Dữ liệu có cấu trúc
Trang 2Nộ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
Trang 3Tài liệu tham khảo
The C Programming Language, Ch 6
Trang 4Kiể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
Trang 5Kiể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)
Trang 6Bả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
Trang 7Ví dụ về bản ghi (C)
struct Student {
char name[30];
int id;
};
int main()
{
Student s1;
cin >> s1.name;
cin >> s1.id;
}
trường dữ liệu
bản ghi
Trang 8Cá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
Trang 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);
}
Trang 10{
p.x = x;
p.y = y;
}
for (int i=0; i<10; i++)
setPoint(p[i], i, i);
Trang 11struct Circle {
int r;
};
Circle c;
Trang 12Bà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
Trang 13Bà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
Trang 14Tự 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