Tải bản đầy đủ (.ppt) (14 trang)

Tài liệu Dữ liệu có cấu trúc pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (157.6 KB, 14 trang )

Dữ liệu có cấu trúc
Dữ liệu có cấu trúc 2
Nguyễn Việt Hà
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
Dữ liệu có cấu trúc 3
Nguyễn Việt Hà
Tài liệu tham khảo

The C Programming Language, Ch. 6
Dữ liệu có cấu trúc 4
Nguyễn Việt Hà
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
Dữ liệu có cấu trúc 5
Nguyễn Việt Hà
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)
Dữ liệu có cấu trúc 6
Nguyễn Việt Hà
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
Dữ liệu có cấu trúc 7
Nguyễn Việt Hà
Ví 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
Dữ liệu có cấu trúc 8
Nguyễn Việt Hà
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
Dữ liệu có cấu trúc 9
Nguyễn Việt Hà
#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);
}
Dữ liệu có cấu trúc 10
Nguyễn Việt Hà

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);
Dữ liệu có cấu trúc 11
Nguyễn Việt Hà
struct Circle {
Point p;
int r;
};

Circle c;
cin >> c.p.x >> c.p.y >> c.r;
Dữ liệu có cấu trúc 12
Nguyễn Việt Hà
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.
Dữ liệu có cấu trúc 13
Nguyễn Việt Hà
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.
Dữ liệu có cấu trúc 14
Nguyễn Việt Hà
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.

×