Bài 13 kieu ban_ghi

Preview:

Citation preview

08/12/2012 1

Nguyễn Trung Hiếu

Dùng kiểu dữ liệu

gì để lưu tên của

một học sinh?

Dùng kiểu dữ liệu

gì để lưu tên của

n học sinh?

GV: Phan Thị Ly

08/12/2012 GV: Phan Thị Ly 2

Họ và tên Ngày sinhGiới

tính

Điểm

Tin

Điểm

Toán

Điểm

Điểm

Hoá

Điểm

Văn

Điểm

Sử

Điểm

Địa

Lê Thị Thuý Anh 2/11/1991 Nữ 9 10 7.5 8 8 7 8

Nguyễn Lê Hồng Anh 17/12/1991 Nữ 9.5 10 8 8 9 6 7

Phùng Đức 22/4/1991 Nam 8 8 9 8 7 7 6.5

………… …………….. …… ……… ……. ……. …….. …….. ……. ……

Tại sao không thể mô tả các đối

tượng này bằng kiểu mảng 2

chiều?

Có thể dùng mảng 2 chiều để mô tả các đối

tượng học sinh trong bảng trên được không?

Kiểu

xâuKiểu

số

Kiểu xâu

hoặc kiểu

logic

08/12/2012 GV: Phan Thị Ly 3

08/12/2012 GV: Phan Thị Ly 4

08/12/2012 GV: Phan Thị Ly 5

Họ và tên Ngày sinhGiới

tính

Điểm

Tin

Điểm

Toán

Điểm

Điểm

Hoá

Điểm

Văn

Điểm

Sử

Điểm

Địa

Lê Thị Thuý Anh 2/11/1991 Nữ 9 10 7.5 8 8 7 8

Nguyễn Lê Hồng Anh 17/12/1991 Nữ 9.5 10 8 8 9 6 7

Phùng Đức 22/4/1991 Nam 8 8 9 8 7 7 6.5

………… …………….. …… ……… ……. ……. …….. …….. ……. ……

Đối

tượngThuộc tính

Họ tên

Thuộc tính

Ngày sinh

Thuộc tính

Điểm văn

Có nhận xét gì về kiểu dữ liệu của

các thuộc tính trong bảng trên?

Kiểu bản ghi

08/12/2012 GV: Phan Thị Ly 6

Kiểu bản ghi

(record) dùng để

mô tả các đối

tượng có cùng

các thuộc tính

(trường) mà các

thuộc tính này có

thể có các kiểu

dữ liệu khác

nhau.

Đối tượng

Thuộc tính Trường

Được

mô tả

Bản ghi

Kiểu bản ghi là gì?

08/12/2012 GV: Phan Thị Ly 7

Họ và tên Ngày sinhGiới

tính

Điểm

Tin

Điểm

Toán

Nguyễn Thị Minh Huệ 12/12/1990 Nữ 9 10

Dương Trúc Lâm 2/11/1990 Nam 9.5 10

Đào văn Bình 5/12/1990 Nam 8 8

Quản lý đối tượng

Tên ĐT

TT 1

TT 2

TT 3

TT4

TT5

Ví dụ

Xác định bản ghi

Tên BG

Trường 1

Trường 2

Trường 3

Trường 4

Trường 5

Học Sinh

Họ và tên HoTen string[50]

Ngày sinh

HOCSINH

NgaySinh string[10]

Giới tính GioiTinh boolean

Điểm Tin DiemTin real

Điểm Toan DiemToan real

08/12/2012 GV: Phan Thị Ly 8

Họ và tên Ngày sinhGiới

tính

Điểm

Tin

Điểm

Toán

Nguyễn Thị Minh Huệ 12/12/1990 Nữ 9 10

Dương Trúc Lâm 2/11/1990 Nam 9.5 10

Đào văn Bình 5/12/1990 Nam 8 8

Quản lí đối tượng

Tên ĐT

TT 1

TT 2

TT 3

TT4

TT5

Xác định bản ghi

Tên bản ghi

Trường 1

Trường 2

Trường 3

Trường 4

Trường 5

Học Sinh HOCSINH

Họ và tên HoTen String[50]

Ngày sinh NgaySinhString[10]

Giới Tính GioiTinh boolean

Điểm Tin DiemTin real

Điểm Toan DiemToan real

08/12/2012 GV: Phan Thị Ly 9

08/12/2012 GV: Phan Thị Ly 10

Khai báo:var

<tên biến bản ghi>: ;

Định nghĩa (do người dùng định nghĩa mà không có sẵn trong

Pascal):

type = record

<tên trường 1>: <kiểu trường 1>;

………………………………………………..

<tên trường k>: <kiểu trường k>;

end; // chỗ hay quên!!

type HocSinh = recordHoTen: string[30];NgaySinh: string[10];GioiTinh: boolean;DiemToan, DiemTin,

DiemVan, DiemSu, DiemDia, DiemLi, DiemHoa:realend;

var A : HocSinh

08/12/2012 GV: Phan Thị Ly 11

08/12/2012 GV: Phan Thị Ly 12

type HocSinh = record

HoTen: string[30];

NgaySinh: string[10];

GioiTinh: boolean;

DiemToan, DiemTin, DiemVan, DiemSu, DiemDia, DiemLi,

DiemHoa:real

end;

var A : HocSinh

Cú pháp lấy giá trịtên của biến A ?

A.HoTen

08/12/2012 GV: Phan Thị Ly 13

08/12/2012 GV: Phan Thị Ly 14

Gángiá trị

Cho từngtrường

Lệnhgán

Nhập từbàn phím

Trựctiếp

A,B là 2 BBG

cùng kiểu

A := B;

Readln (<biếnBG>.<trường>);

<biếnBG>.<trường> := <giá trị>;

08/12/2012 GV: Phan Thị Ly 15

Học sinh X có điểm môn toán là 8, Học sinh

Y có điểm môn toán bằng với X. Hãy gán

giá trị cho thuộc tính DemToan cua Y theo

cách gán giá trị cho từng trường

Lệnh gán

• Y.DiemToan=X.DiemToan

Nhập từ bàn phím

• Write(“Diem Toan”);

• Readln(Y.DiemToan);

08/12/2012 GV: Phan Thị Ly 16

VD: Khai báobiến lưu thông

tin 30 HS

const Max = 30;

type

HocSinh = record

HoTen: string[30];

NgaySinh: string[10];

GioiTinh: boolean;

DiemToan, DiemTin, DiemVan, DiemSu, DiemDia,

DiemLi, DiemHoa:real

end;

var A,B: HocSinh;

HS : array[1..Max] of HocSinh;

HS[1] HS[2] … HS[39] HS[40]

Mảng HS[30]

string[30]

HoTen

String[10]

NamSinh

boolean

GioiTinh

real]

DiemToan

real

DiemTin …

Tên kiểu bản ghi: HS

VD: Khai báobiến lưu thông

tin 30 HS

const Max = 30;

type

HocSinh = record

HoTen: string[30];

NgaySinh: string[10];

GioiTinh: boolean;

DiemToan, DiemTin, DiemVan, DiemSu, DiemDia,

DiemLi, DiemHoa:real

end;

var A,B: HocSinh;

HS : array[1..Max] of HocSinh;

Mảng HS[30]

Tên kiểu bản ghi: HS

08/12/2012 GV: Phan Thị Ly 17

08/12/2012 GV: Phan Thị Ly 18

08/12/2012 GV: Phan Thị Ly 19