View
155
Download
3
Category
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
Lí
Đ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
Lí
Đ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
Recommended