Bai giang 13
- 2. BI 13: KI畛U B畉N GHI
1. Kh叩i ni畛m
2. Khai b叩o:
2.1. Khai b叩o ki畛u b畉n ghi
2.2. Khai b叩o bi畉n ki畛u b畉n ghi
2.3. Tham chi畉u 畉n tr動畛ng c畛a
b畉n ghi
3. G叩n gi叩 tr畛
4. Bi t畉p m畉u
5. C畛ng c畛
12/7/2014 Bi 13: Ki畛u b畉n ghi 2
- 3. Ki畛u b畉n ghi 12/7/2014 3
H達y n棚u c叩c ki畛u
d畛 li畛u 達 h畛c?
Ki畛u d畛 li畛u chu畉n
Ki畛u nguy棚n
Ki畛u th畛c
Ki畛u k鱈 t畛
Ki畛u logic
Ki畛u d畛 li畛u c坦 c畉u tr炭c
Ki畛u m畉ng
Ki畛u x但u
- 4. Bi 13: Ki畛u b畉n ghi 12/7/2014 4
M畛 畉u:
B畉ng th担ng tin c叩 nh但n.
H畛 t棚n Gi畛i t鱈nh Ngy sinh i畛n tho畉i 畛a ch畛
Nguy畛n Mai Loan N畛 21/7/1993 016493869 TP. HCM
V探 Nh畉t Qu畛nh N畛 10/9/1993 016848963 T但y Ninh
Tr畉n Vn Hai Nam 21/5/1993 098437727 L但m 畛ng
Nguy畛n Th畛 Ng畛c Lan N畛 14/8/1993 097438573 L但m 畛ng
1. B畉ng ch畛a th担ng tin c畛a 畛i t動畛ng no?
2. B畉ng ch畛a th担ng tin c畛a bao nhi棚u 畛i t動畛ng?
3. M畛i 畛i t動畛ng c坦 c叩c th担ng tin g狸?
4. M畛i thu畛c t鱈nh tr棚n c坦 ki畛u d畛 li畛u g狸?
- 5. Ki畛u b畉n ghi 12/7/2014 5
B畉ng th担ng tin c叩 nh但n c畛a h畛c sinh
H畛 v t棚n Gi畛i t鱈nh Ngy sinh i畛n tho畉i 畛a ch畛
Nguy畛n Mai Loan N畛 21/7/1993 016493869 TP. HCM
V探 Nh畉t Qu畛nh N畛 10/9/1993 016848963 T但y Ninh
Tr畉n Vn Hai Nam 21/5/1993 098437727 L但m 畛ng
Nguy畛n Th畛 Ng畛c Lan N畛 14/8/1993 097438573 L但m 畛ng
B畉ng ch畛a th担ng tin c畛a
畛i t動畛ng h畛c sinh.
1
2
3
4
4 M畛i 畛i t動畛ng
B畉ng ch畛a th担ng tin c畛a ? 畛i t動畛ng
Ki畛u d畛 li畛u c畛a m畛i thu畛c t鱈nh:
H畛 v t棚n, 畛a ch畛: ki畛u chu畛i (string).
Gi畛i t鱈nh : Ki畛u chu畛i (boolean)
Ngy sinh : ki畛u chu畛i( string)
i畛n tho畉i: ki畛u s畛 nguy棚n ( byte)
c坦 5 thu畛c t鱈nh
- 6. Ki畛u b畉n ghi 12/7/2014 6
B畉ng th担ng tin c叩 nh但n c畛a h畛c sinh
H畛 t棚n Gi畛i t鱈nh Ngy sinh i畛n tho畉i 畛a ch畛
Nguy畛n Mai Loan N畛 21/7/1993 016493869 TP. HCM
V探 Nh畉t Qu畛nh N畛 10/9/1993 016848963 T但y Ninh
Tr畉n Vn Hai Nam 21/5/1993 098437727 L但m 畛ng
Nguy畛n Th畛 Ng畛c Lan N畛 14/8/1993 097438573 L但m 畛ng
D湛ng c叩ch no 畛
qu畉n l箪 c叩c th担ng
tin ( thu畛c t鱈nh) c畛a
c叩c 畛i t動畛ng 坦
tr棚n m叩y t鱈nh?
- 7. Ki畛u b畉n ghi 12/7/2014 7
1. Kh叩i ni畛m
Ki畛u b畉n ghi c坦 畉c i畛m l d畛 li畛u 動畛c t畛 ch畛c thnh m畛t b畉ng hai
chi畛u:
Chi畛u d畛c l c叩c tr動畛ng: h畛 v t棚n, gi畛i t鱈nh, ngy sinh, i畛n tho畉i,
畛a ch畛. Trong m畛i tr動畛ng c坦 th畛 c坦 c叩c ki畛u d畛 li畛u gi畛ng nhau ho畉c
kh叩c nhau.
Theo hng ngang l c叩c b畉n ghi: m畛i b畉n ghi l t畉p h畛p d畛 li畛u c畛a
Tr動畛ng (field)
c叩c tr動畛ng. Do s畛 li畛u c畛a c叩c tr動畛ng kh叩c nhau n棚n d畛 li畛u c畛a t畛ng
b畉n ghi c滴ng kh叩c nhau, r畉t 鱈t khi tr湛ng nhau.
H畛 v t棚n Gi畛i t鱈nh Ngy sinh i畛n tho畉i 畛a ch畛
Nguy畛n Mai Loan N畛 21/7/1993 016493869 TP. HCM
V探 Nh畉t Qu畛nh N畛 10/9/1993 016848963 T但y Ninh
Tr畉n Vn Hai Nam 21/5/1993 098437727 L但m 畛ng
Nguy畛n Th畛 Ng畛c Lan N畛 14/8/1993 097438573 L但m 畛ng
B畉n ghi (Record)
- 8. Ki畛u b畉n ghi 12/7/2014 8
K鱈ch th動畛c c畛a t畛ng tr動畛ng ph畛 thu畛c vo t畛ng ki畛u d畛
li畛u: Integer, Real, String,, nh動ng k鱈ch th動畛c c畛a t畛ng
b畉n ghi l hon ton gi畛ng nhau. M畉c d湛 trong th畛c t畉
k鱈ch th動畛c c叩c b畉n ghi kh叩c nhau nh動ng m叩y v畉n dnh
ph畉n b畛 nh畛 nh動 nhau cho c叩c b畉n ghi.
T坦m l畉i:
D畛 li畛u ki畛u b畉n ghi (record) d湛ng 畛 m担 t畉 c叩c..
畛i t動畛ng
c坦 c湛ng m畛t s畛...(thu畛c t鱈nh tr動畛ng) m c叩c .... thu畛c t鱈nh
c坦
th畛 c坦 c叩c .
ki畛u d畛 li畛u kh叩c nhau.
- 10. Ki畛u b畉n ghi 12/7/2014 10
2. Khai b叩o
2.1. 畛nh ngh挑a ki畛u b畉n ghi:
C叩c th担ng tin c畉n khai b叩o g畛m t棚n ki畛u b畉n ghi, t棚n c叩c
thu畛c t鱈nh v ki畛u d畛 li畛u c畛a m畛i thu畛c t鱈nh.
C炭 ph叩p:
Type <t棚n ki畛u b畉n ghi> = record
<t棚n tr動畛ng 1>: <ki畛u dl tr動畛ng 1>;
<t棚n tr動畛ng 2.1, t棚n tr動畛ng 2.2>: <ki畛u dl tr動畛ng 2>;
.
<t棚n tr動畛ng n>: <ki畛u dl tr動畛ng n>;
End;
Trong 坦
<t棚n ki畛u b畉n ghi> l t棚n ki畛u b畉n ghi do ng動畛i d湛ng 畉t.
<t棚n tr動畛ng 1> <t棚n tr動畛ng n> l ki畛u d畛 li畛u c畛a thu畛c t鱈nh.
<t棚n bi畉n b畉n ghi> l t棚n bi畉n b畉n ghi do ng動畛i l畉p tr狸nh 畉t.
- 11. Ki畛u b畉n ghi 12/7/2014 11
2.2. Khai b叩o bi畉n ki畛u b畉n ghi.
H畛 v t棚n i畛m LT i畛m TH T畛ng i畛m K畉t qu畉
Nguy畛n Hong Anh 8 9 17 畉t
Tr畉n Th畛 Hoa 2 7 9 Ch動a 畉t
畛 Minh Qu但n 2 1 8 Ch動a 畉t
H畛 Quang Th畉ng 8 2 10 畉t
hs1
hs2
hs3
hs4
type HocSinh = record
HoTen: string[100];
DiemLT, DiemTH, TongDiem : byte;
KetQua : string[10];
end;
var
hs1, hs2, hs3, hs4 : HocSinh;
type HocSinh = record
HoTen: string[100];
DiemLT : byte;
DiemTH : byte;
TongDiem : byte;
KetQua : string[10];
end;
C湛ng ki畛u
d畛 li畛u
var <t棚n bi畉n b畉n ghi> : <t棚n ki畛u b畉n ghi> ;
- 12. Ki畛u b畉n ghi 12/7/2014 12
T狸nh hu畛ng ph叩t sinh:
Khai b叩o 40 畛i
t動畛ng h畛c sinh
l畛p t動董ng 畛ng
v畛i 40 b畉n ghi th狸
ph畉i lm th畉 no?
Var Lop : Array [1..40] of HocSinh;
Khai b叩o m畛t
m畉ng c坦 40 ph畉n
t畛 c坦 ki畛u d畛 li畛u
l b畉n ghi
T棚n
m畉ng
Ch畛 s畛
m畉ng
T棚n ki畛u
b畉n ghi
- 13. Ki畛u b畉n ghi 12/7/2014 13
M畛t s畛 v鱈 d畛 ki畛u b畉n ghi:
Type ChuThe = record;
STT , SoThe, DienThoai, Diem, DoanhSo : real;
TenChuThe, DiaChi : string[100];
end;
Var A, B, C : ChuThe;
DanhSachKhachHang : array[1..10] of ChuThe;
- 14. Ki畛u b畉n ghi 12/7/2014 14
const Max = 10;
type KhachHang = recode
STT , CMND, SoThe, TienThuong : real;
TenKhachHang, DonViPhatHanh : string[50];
end;
var A,B : KhachHang;
DanhSachKH : array[1..Max] of KhachHang;
- 15. Ki畛u b畉n ghi 12/7/2014 15
2.3. C叩ch tham chi畉u 畉n tr動畛ng c畛a b畉n ghi
C叩ch truy xu畉t 坦 l t棚n bi畉n v t棚n tr動畛ng c叩ch nhau
m畛t d畉u ch畉m (.) c炭 ph叩p nh動 sau:
<T棚n bi畉n b畉n ghi> . < t棚n tr動畛ng>
V鱈 d畛:
hs2.TongDiem: tham chi畉u 畉n T畛ng i畛m c畛a h畛c sinh Tr畉n Th畛 Hoa
Lop[i].DiemLT: tham chi畉u 畉n i畛m l箪 thuy畉t c畛a h畛c sinh th畛 i trong
l畛p. V畛i i l ch畛 s畛 no 坦 c畛a m畉ng Lop.
H畛 v t棚n i畛m LT i畛m TH T畛ng i畛m K畉t qu畉
Nguy畛n Hong Anh 8 9 17 畉t
Tr畉n Th畛 Hoa 2 7 9 Ch動a 畉t
畛 Minh Qu但n 2 1 8 Ch動a 畉t
H畛 Quang Th畉ng 8 2 10 畉t
hs1
hs2
hs3
hs4
- 16. Ki畛u b畉n ghi 12/7/2014 16
3. G叩n gi叩 tr畛
G叩n gi叩 tr畛 tr畛c ti畉p cho bi畉n b畉n ghi: c滴ng gi畛ng nh動 bi畉n
thu畛c ki畛u d畛 li畛u chu畉n. Bi畉n ki畛u b畉n ghi c滴ng c坦 th畛
g叩n gi叩 tr畛 qua l畉i v畛i nhau mi畛n l ch炭ng c湛ng ki畛u. N畉u
X, Y l 2 bi畉n b畉n ghi c湛ng ki畛u th狸 ta c坦 th畛 g叩n gi叩 tr畛
c畛a Y cho X b畉ng l畛nh g叩n: X := Y;
G叩n gi叩 tr畛 cho t畛ng tr動畛ng: gi叩 tr畛 m畛i thnh ph畉n c畛a
b畉n ghi c滴ng 動畛c nh畉p, xu畉t, x畛 l箪 nh動 m畛i bi畉n b狸nh
th動畛ng b畉ng l畛nh g叩n ho畉c nh畉p t畛 bn ph鱈m.
V鱈 d畛:
a.HoTen := Nguy畛n Hong Anh;
Ho畉c: readln(a.HoTen);
- 17. Ki畛u b畉n ghi 12/7/2014 17
4. C畛ng c畛
畛nh ngh挑a ki畛u b畉n ghi:
type <t棚n ki畛u b畉n ghi> = record
<t棚n tr動畛ng 1> : < ki畛u d動 li畛u tr動畛ng 1>;
<t棚n tr動畛ng 21, t棚n tr動畛ng 22> : <ki畛u dl tr動畛ng 2>;
<t棚n tr動畛ng n> : < ki畛u d動 li畛u tr動畛ng n>;
end;
Khai b叩o bi畉n b畉n ghi:
var <t棚n bi畉n b畉n ghi> : <t棚n ki畛u b畉n ghi> ;
<t棚n m畉ng> : array [1..n] of <t棚n ki畛u b畉n ghi> ;
Tham chi畉u 畉n t畛ng tr動畛ng
<t棚n bi畉n b畉n ghi> . <t棚n tr動畛ng>
G叩n gi叩 tr畛