Một số khái niệm - Kiểu bản ghi được dùng để mô tả cho các đối tượng có cùng một số thuộc tính mà các thuộc tính có thể có các kiểu dữ liệu khác nhau.. - Bản ghi thường được gọi là Recor[r]
Trang 1
Ngày soạn 12/01/10 Ngày giảng /01/10 Bài 13 KIỂU BẢN GHI
I MỤC TIÊU
1 Kiến thức:
- 7)*8 khía +);< =>+ ghi
- 7)*8 cách khai báo =>+ ghi Truy @CD 8/,0+ @E4 =>+ ghi
2 Kĩ năng:
- Khai báo G,-@ 9)H6 =>+ ghi, khai báo G,-@ =)*+ 9)H6 =>+ ghi trong ngôn +.K LCD trình Pascal
- 5CD O6P8 G,-@ QK L);6 cho =)*+ =>+ ghi
- Tham @5)*6 G*+ 8R+ 8/,0+ @E4 9)H6 =>+ ghi
- S QT+ 9)H6 =>+ ghi GH )>) U62*8 <V8 NW bài 8CD GY+ )>+?
3 Tư duy:
- ZB ra N[ logíc )K4 các 9)H6 có @P6 trúc
4 Thái độ:
- 5);8 tình, chú ý, có sáng 8ZB? Rèn các G`@ tính: a+ 85C+I ham 5b@ 5c)I có tinh 85d+ 8[ giác
II CHUẨN BỊ BÀI GIẢNG
1 Phương tiện:
- GV: Giáo án, bài giảng điện tử, phòng máy.Nhấn mạnh rằng trong kiểu bản ghi
có các trường.
- HS: Sách giáo khoa, vở ghi Xem trước bài học.
2 Phương pháp dạy học
- -) <e fP+ GAD
-III TIẾN TRÌNH DẠY HỌC
1 Kiểm tra bài cũ:
- F*8 5-D trong )0 85[@ hành
2 Nội dung bài giảng:
HOẠT ĐỘNG 1
)i) 85);6 fh 9)H6 =>+ ghi ZB <V8 9)H6 =>+ ghi trong ngôn +.K LCD trình Pascal
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
Tiết: 33
Trang 2+5K+ thông tin gì?
- )k+ )>)' () thông tin @E4 GW) G,-@ b)
là <V8 856V@ tính hay <V8 8/,0+.? () GW)
8,-+ G,-@ mô 8> =l+ +5)h6 thông tin trên
<V8 hàng G,-@ b) là <V8 =>+ ghi
-
ngôn +.K LCD trình cho phép ta xác Gn+5 9)H6
=>+ ghi () GW) 8,-+ G,-@ mô 8> =l+ <V8
=>+ ghi
K L);6 9)H6 =>+ ghi (Record) dùng GH mô 8>
các đối tượng có cùng một số thuộc tính mà
các 856V@ tính có 85H có các kiểu dữ liệu
khác nhau.
2 Yêu @d6 5b@ sinh nghiên @`6 sách giáo
khoa và cho =)*8 cách khai báo 9)H6 =>+ ghi,
khai báo =)*+ 9)H6 =>+ ghi trong ngôn +.K
LCD trình Pascal
Một số khái niệm
- F)H6 =>+ ghi G,-@ dùng GH mô 8> cho các
GW) 8,-+ có cùng <V8 NW 856V@ tính mà
các 856V@ tính có 85H có các 9)H6 QK L);6
khác nhau
- 7>+ ghi 85,0+ G,-@ b) là Record, <()
Record Ns L,6 8/K QK L);6 fh <V8 GW)
8,-+ @d+ U6>+ lí
- () 856V@ tính @E4 GW) 8,-+ 8,Y+ `+
fi) <V8 8/,0+ @E4 =>+ ghi Các 8/,0+
khác nhau có 85H có QK L);6 khác nhau
- Các ngôn +.K LCD trình 85,0+ cho cách
GH xác Gn+5 :
+ Tên 9)H6 =>+ ghi
+ Tên các 8/,0+
+ F)H6 QK L);6 @E4 8/,0+
+ Cách khai báo =)*+
+ Cách tham @5)*6 G*+ 8/,0+
- Yêu @d6' Tìm <V8 ví QT GH minh 5BZ? 2 Tham 95>B sách giáo khoa GH +u< G,-@
Trang 3
GV LP2 <V8 =>+ G)H< @E4 5b@ sinh /v) @5w
rõ : () hàng ta b) là <V8 =>+ ghi, <() @V8
là <V8 8/,0+
- Yêu @d6 5b@ sinh phân =);8 N[ )W+ và
khác nhau )K4 9)H6 =>+ ghi và 9)H6 <>+
<V8 @5)h6
@P6 trúc chung @E4 khai báo 9)H6 =>+ ghi, khai báo =)*+ =>+ ghi
- Ví QT' Type kieu_nguoi=record hoten:string;
diachi:string;
sdt:longint;
end;
Var nguoi:kieu_nguoi;
-
<>+ các =>+ ghi
Type kieu_hs = record Hoten, ngaysinh:String;
Toan, van:byte;
dtb:real;
End;
Kieu_mbg=array[1 50] of kieu_hs;
- )W+ nhau: G,-@ ghép =e) +5)h6 D5d+ 8S?
- Khác nhau: >+ <V8 @5)h6 là ghép +5)h6 D5d+ 8S có cùng 9)H6 QK L);6? Trong khi =>+ ghi là ghép +5)h6 D5d+ 8S có 9)H6 QK L);6 có 85H khác nhau
HOẠT ĐỘNG 2
Noi dung o day
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
Ngôn +.K Pascal không cho =Z+ khai báo
=)*+ =>+ ghi 8/[@ 8)*D mà D5>) khai báo =)*+
=>+ ghi thông qua khai báo 9)H6 =>+ ghi
/,i@ 5*8 D5>) khai báo 9)H6 =>+ ghi sau G\
=)*+ =>+ ghi G,-@ khai báo thông qua 9)H6
Trang 4=>+ ghi này
Cách khai báo kiểu :
Type <Tên 9)H6 =>+ ghi>=Record
<Tên 8/,0+ 1> : F)H6 8/,0+ 1> ;
……… ………
<Tên 8/,0+ n> : F)H6 8/,0+ n> ;
End ;
Cách khai báo biến :
Var <Tên =)*+ : <Tên 9)H6 =>+ ghi> ;
Var <Tên <>+. : Array[1 n] Of <Tên 9)H6 =>+
ghi> ;
Type Hocsinh = Record
Hoten : String[30] ;
Ngaysinh : String[10] ;
NamNu :Boolean ;
Toan,Ly, Hoa, Van, Su, Dia : Real ;
End ;
Var A, B : Hocsinh ;
Lop : Array[1 100] Of Hocsinh ;
<Tên =)*+ =>+ ghi> <Tên 8/,0+.
GV : Làm 85* nào GH có 85H khai báo G,-@
+5)h6 =)*+ =>+ ghi có cùng <V8 9)H6 ?
b@ sinh ghi
Cách khai báo kiểu :
Type <Tên 9)H6 =>+ ghi>=Record <Tên 8/,0+ 1> : F)H6 8/,0+ 1> ; ……… ………
<Tên 8/,0+ n> : F)H6 8/,0+ n> ;
End ; Cách khai báo biến :
Var <Tên =)*+ : <Tên 9)H6 =>+ ghi> ;
Var <Tên <>+. : Array[1 n] Of <Tên 9)H6 =>+ ghi> ;
Type Hocsinh = Record Hoten : String[30] ; Ngaysinh : String[10] ; NamNu :Boolean ; Toan,Ly, Hoa, Van, Su, Dia : Real ; End ;
Var A, B : Hocsinh ; Lop : Array[1 100] Of Hocsinh ;
<Tên =)*+ =>+ ghi> <Tên 8/,0+.
HS : GV Ns -) ý GH 5b@ sinh G,4 ra G\ là NS QT+ 9)H6 <>+ trong G\ D5d+ 8S <>+ Ns
có 9)H6 =>+ ghi .
HOẠT ĐỘNG 1
Noi dung o day
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
Ví dụ về khai báo bản ghi Ví dụ :
A.Hoten
Trang 5
Khai báo <V8 9)H6 =>+ ghi GH OS lý =>+
9*8 U6> thi @E4 các 5b@ sinh
() =>+ ghi Ns bao v< : b và tên @E4
5b@ sinh (Hoten), ngày tháng + <
sinh(Ngaysinh), )i) tính (NamNu), và
G)H< thi các môn @E4 <() 5b@ sinh (Toan,
Ly, Hoa, Van, Su, Dia,Tin)
Hãy xác Gn+5 9)H6 QK L);6 cho các 8/,0+
trên o() +V) dung trên là <V8 8/,0+ @E4
=>+ ghi)
GV : Khi có nhu @d6 thay G) thông tin
trong 8R+ 8/,0+.I làm 85* nào GH truy @CD
thông tin vào 8R+ 8/,0+ @E4 =>+ ghi ?
() ngôn +.K có <V8 cách truy @CD khác
nhau +5,+ 85,0+ G,-@ f)*8 là :
<Tên =)*+ =>+ ghi>.<tên 8/,0+.
GV: Vì =>+ ghi có +5)h6 8/,0+ nên f);@
gán giá 8/n cho =>+ ghi D5`@ 8ZD 5Y+ các
=)*+ khác
Khi +5CD thông tin vào 8R bàn phím, ta
85,0+ D5>) +5CD cho 8R+ 8/,0+
Ví dụ :
,Y+ trình sau G,-@ f)*8 trong ngôn +.K
Pascal dùng 9)H6 =>+ ghi GH OS lý =>+ 9*8
U6> thi bao v< 2 môn Toán, & + @E4 5b@
sinh , Sau khi +5CD xong danh sách Ns G,4
ra =>+ 9*8 U6> 5b@ 8CD và O*D LBZ) (xem 9
Gd6 bài trong SGK)
B.Ngaysinh Lop[i].Toan Lop[i].Ly
……… fi) i là @5w NW nào G\ @E4 <>+ Lop
2 Gán giá trị
Có 2 cách GH gán giá 8/n cho =>+ ghi
- Dùng L;+5 gán 8/[@ 8)*D : *6 A, B là hai
=>+ ghi cùng 9)H6 ta có 85H gán giá 8/n @E4
A cho B =l+ câu L;+5 gán :
Vd : B := A ; 5Bg@ A := B ;
- Gán giá 8/n cho 8R+ 8/,0+ Dùng câu L;+5 gán gán giá 8/n cho các 8/,0+ 5Bg@ +5CD 8R bàn phím
A.Hoten := ‘Nguyen Van Tuan’ ;
Readln(a.Ngaysinh);
5,Y+ trình OS lý =>+ 9*8 U6> thi
HOẠT ĐỘNG 1
Trang 6Ví dụ sgk
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
Ví dụ : (xem 9 Gd6 bài trong SGK)
(* Kieu ban ghi xu ly bang ket qua thi 2 mon
: Toan, Van *)
Program Xeploai ;
uses crt ;
Type Hocsinh = Record
Ten : String[30] ;
Ngaysinh : String[10] ;
Diachi : String[50] ;
toan, van : real ;
Xeploai : Char ;
End ;
Var
Lop : array[1 100] of Hocsinh ;
i, n : Byte ;
Tg : Real ;
Begin
Clrscr ;
Write(' Cho biet so hoc sinh : ') ;
Readln(n) ;
For i := 1 to n do
Begin
Writeln(' Vao thong tin cho hoc sinh
thu ',i,' : ') ;
Write (' Ho ten : ') ;
readln(Lop[i].ten) ;
Trang 7
Write(' Ngay sinh : ') ;
readln(Lop[i].Ngaysinh) ;
Write(' Dia chi : ') ;
readln(Lop[i].Diachi) ;
Write(' Diem Toan : ') ;
readln(Lop[i].toan) ;
Write(' Diem Van ') ;
readln(Lop[i].van) ;
Tg := Lop[i].toan + Lop[i].van ;
if Tg >= 18 then Lop[i].Xeploai := 'A'
Else if Tg >= 14 then Lop[i].Xeploai :=
'B'
Else if Tg >= 10 then Lop[i].Xeploai
:= 'C'
Else Lop[i].Xeploai := 'D'
End ;
Readln ;
For i := 1 to n do
Writeln(i : 4, Lop[i].ten : 30 , ' - Loai : ',
Lop[i].Xeploai);
Readln ;
End
5,Y+ trình trên cho ta 9*8 U6> gì?
5,Y+ trình sau G,-@ f)*8 trong ngôn +.K Pascal dùng 9)H6 =>+ ghi GH OS lý =>+ 9*8 U6> thi bao v< 2 môn Toán, & + @E4 5b@ sinh , Sau khi +5CD xong danh sách Ns G,4
ra =>+ 9*8 U6> 5b@ 8CD và O*D LBZ)
3 Củng cố:
- 5u@ LZ) <V8 NW khái +);< <i)
- 5u@ LZ) @P6 trúc câu L;+5 fh f);@ khai báo, truy @CD G*+ các thành D5d+ @E4 =>+ ghi
- Ra bài 8CD fh nhà
4 Dặn dò:
- &h nhà 5b@ bài và xem 8)*D bài 8CD , ôn 8CD 9)H6 QK L);6 có @P6 trúc, xem các bài 8CD sgk và sách bài 8CDI @56a+ bi cho 2 tiét bài 8CD và 9)H< tra 1 8)*8 sau khi chúng
ta 9*8 thúc 2 8)*8 bài 8CD? Các em +.5w?
Trang 8IV NHẬN XÉT
5,Y+ pháp:
);6 U6> NS QT+.'
);6 U6> SD TBDH:
ND @d+ G)H6 @5w+5'
Nhận xét của giáo viên hướng dẫn: