19
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

Bài 13 kieu ban_ghi

  • Upload
    ly-phan

  • View
    154

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Bài 13  kieu ban_ghi

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

Page 2: Bài 13  kieu ban_ghi

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

Page 3: Bài 13  kieu ban_ghi

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

Page 4: Bài 13  kieu ban_ghi

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

Page 5: Bài 13  kieu ban_ghi

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

Page 6: Bài 13  kieu ban_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ì?

Page 7: Bài 13  kieu ban_ghi

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

Page 8: Bài 13  kieu ban_ghi

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

Page 9: Bài 13  kieu ban_ghi

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

Page 10: Bài 13  kieu ban_ghi

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

Page 11: Bài 13  kieu ban_ghi

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

Page 12: Bài 13  kieu ban_ghi

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

Page 13: Bài 13  kieu ban_ghi

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

Page 14: Bài 13  kieu ban_ghi

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ị>;

Page 15: Bài 13  kieu ban_ghi

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);

Page 16: Bài 13  kieu ban_ghi

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

Page 17: Bài 13  kieu ban_ghi

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

Page 18: Bài 13  kieu ban_ghi

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

Page 19: Bài 13  kieu ban_ghi

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