Tải bản đầy đủ (.pdf) (9 trang)

Giáo án môn Tin học khối 11 - Bài 13: Kiểu bản ghi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (80 KB, 9 trang )

<span class='text_page_counter'>(1)</span>Bµi 13: KiÓu b¶n ghi Ngµy so¹n: Ngµy gi¶ng: I. Mục đích, yêu cầu - BiÕt kh¸i niÖm kiÓu b¶n ghi. - Biết cách khai báo bản ghi, truy cập trường của bản ghi. II. Néi dung cô thÓ 1. ổn định tổ chức lớp (1’) - KiÓm tra sÜ sè:. Tæng sè:. V¾ng:. CP: KP:. 2. KiÓm tra bµi cò (5’) C©u hái: Cho mét sè biÕn: hä tªn, ngµy sinh, giíi tÝnh, Tin, To¸n , LÝ, Ho¸, V¨n, Sö, §Þa. H·y khai b¸o kiÓu d÷ liÖu hîp lÝ víi c¸c biÕn trªn? Tr¶ lêi: Var hoten: string[30]; ngaysinh: string[10]; gioitinh: boolean; toan, tin, li, hoa, van, su, dia: real; 3. TriÓn khai bµi míi. Đặt vấn đề: Trong các kiểu dữ liệu mà các em đã được học có kiểu dữ liệu nào dùng để khai báo chung cho tất cả các biến như trên hay chưa? HS: Ch­a cã kiÓu d÷ liÖu nµo. Bµi h«m nay c« sÏ giíi thiÖu cho c¸c em mét kiÓu d÷ liÖu míi, cho phÐp chúng ta khai báo các đối tượng mà có cùng một số thuộc tính giống nhau.. 1 Lop11.com.

<span class='text_page_counter'>(2)</span> Bµi 13: KiÓu b¶n ghi. Néi dung. Hoạt động của giáo viên và. Thêi. häc sinh. gian. XÐt VD: Chương trình quản lí các thí sinh cña mét kú thi tuyÓn sinh cÇn qu¶n lÝ ®­îc c¸c th«ng tin sau: SBD cña thÝ sinh, hä tªn cña thÝ sinh, ngµy sinh, giíi tÝnh, vµ ®iÓm thi cña 7 m«n: To¸n , Tin, LÝ, Ho¸, V¨n, Sö, §Þa. GV: Làm thế nào để quản lí toµn bé th«ng tin trªn cña häc sinh? HS: Cã thÓ qu¶n lÝ mçi d÷ kiÖn trªn lµ m¶ng mét chiÒu. GV: Mçi th«ng tin trªn cã kiÓu d÷ liÖu lµ g×? HS: Tr¶ lêi. GV: Ng«n ng÷ lËp tr×nh bËc cao có cách tốt hơn để quản lí d÷ liÖu trªn. §ã lµ b¶n ghi. * Kh¸i niÖm: 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 mµ c¸c thuéc tÝnh cã thÓ cã c¸c kiÓu d÷ liÖu kh¸c nhau.. 2 Lop11.com. 4’.

<span class='text_page_counter'>(3)</span> - Mçi mét b¶n ghi sÏ l­u tr÷ d÷. GV: C¸c em h·y quan s¸t b¶ng. liệu về một đối tượng cần quản lí.. kÕt qu¶ thi (SGK – Tr74).. - Mỗi một thuộc tính của đối. - Mçi hµng ta gäi lµ mét b¶n. tượng tương ứng với một trường. ghi.. của bản ghi. Các trường khác nhau - Mỗi cột là một trường. cã thÓ cã c¸c kiÓu d÷ liÖu kh¸c nhau. * Qui tắc, cách thức xác định: - Tªn kiÓu b¶n ghi; - Tên các thuộc tính (trường); - Kiểu dữ liệu của mỗi trường; - C¸ch khai b¸o biÕn; - Cách tham chiếu đến trường. 1. Khai b¸o. GV: Do d÷ liÖu kiÓu b¶n ghi thường dùng để mô tả nhiều đối tượng nên ta thường khai báo biÕn b¶n ghi th«ng qua khai b¸o kiÓu b¶n ghi. GV: 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, kiÓu d÷ liÖu cña mçi. - C¸ch khai b¸o kiÓu:. thuéc tÝnh. Type <tªn kiÓu b¶n ghi> = record GV: <tên trường 1> : <kiểu trường 1>; - Phần mô tả kiểu bản ghi được <tên trường 2> : <kiểu trường 2>; bắt đầu bằng từ khoá record và <tên trường k> : <kiểu trường k>; kết thúc bằng từ khoá end;. End;. - Giữa 2 từ khóa đó là phần khai. 3 Lop11.com. 15’.

<span class='text_page_counter'>(4)</span> báo các trường gồm tên trường, dấu hai chấm, rồi đến kiểu dữ liệu của trường đó và kết thúc bëi dÊu chÊm phÈy. VD: Khai b¸o 1 kiÓu b¶n ghi. - C¸ch khai b¸o biÕn:. Var <tên biến bản ghi> : <tên kiểu để xử lí bảng kết quả thi của các b¶n ghi>;. häc sinh. Mçi b¶n ghi bao gåm:. Var <tªn m¶ng> : array[1..N] of. hä tªn, ngµy sinh, giíi tÝnh, vµ. <tªn kiÓu b¶n ghi>;. ®iÓm thi c¸c m«n cña mçi häc sinh (to¸n, tin, lÝ, ho¸, v¨n, sö, địa). Em hãy xác định kiểu dữ liệu cho các trường trên? HS:. Hoten: string[30]; Ngaysinh: string[10]; Gioitinh: boolean; toan, tin, li, hoa, van, su, dia: real;. - Để truy cập vào từng trường của. GV: Còng gièng nh­ d÷ liÖu. b¶n ghi ta viÕt:. kiÓu m¶ng vµ kiÓu x©u th× d÷. <tên biến bản ghi> . <tên trường>. liÖu kiÓu b¶n ghi còng cã c¸ch truy cập vào từng trường của bản ghi. VD: A. Hoten B . Ngaysinh Lop[i] . Toan Với i là một chỉ số nào đó của m¶ng.. 4 Lop11.com.

<span class='text_page_counter'>(5)</span> - GV: Muốn tham chiếu đến trường Gioitinh của đối tượng A ta viÕt nh­ thÕ nµo? - HS: A. Gioitinh - GV: Lop[10]. Hoten là để chỉ th«ng tin g×? - HS: Th«ng tin vÒ hä tªn cña phÇn tö thø 10 cña m¶ng Lop. - GV: Trong VD trªn, em h·y cho biÕt tªn kiÓu d÷ liÖu cña biÕn A? GV: Hai biÕn A, B cã cïng kiÓu d÷ liÖu hay kh«ng? HS: - BiÕn A cã kiÓu d÷ liÖu lµ Hocsinh. - Hai biÕn A, B cã cïng mét kiÓu d÷ liÖu lµ Hocsinh. GV: PhÇn tö Lop[1] vµ Lop[6] cña m¶ng Lop thuéc kiÓu g×? Lop[1] vµ A cã cïng kiÓu hay kh«ng? HS: - Hai phần tử đó thuộc kiểu Hocsinh. - Lop[1] vµ A cïng kiÓu d÷ liÖu.. 5 Lop11.com.

<span class='text_page_counter'>(6)</span> 2. G¸n gi¸ trÞ. 15’ GV: V× b¶n ghi cã nhiÒu trường nên việc gán giá trị cho b¶n ghi phøc t¹p h¬n c¸c biÕn kh¸c.. Có 2 cách để gán giá trị cho bản ghi:. GV: C¸ch 1 ®­îc thùc hiÖn trong ®iÒu kiÖn nµo?. - C¸ch 1: Dïng lÖnh g¸n trùc tiÕp VD: A:= B; B:=A; - C¸ch 2: G¸n gi¸ trÞ cho tõng. HS: Khi hai biÕn A, B ph¶i ®­îc khai b¸o cïng mét kiÓu b¶n ghi. GV:. trường: + Thùc hiÖn b»ng lÖnh g¸n: VD: A. Hoten := B. Hoten; + NhËp tõ bµn phÝm VD: Read (A. Hoten);. - C¸c biÕn cïng cÊu tróc nh­ng cã tªn kiÓu kh¸c nhau th× kh«ng ¸p dông ®­îc phÐp g¸n. - Gi÷a hai biÕn b¶n ghi cïng kiÓu th× chØ cã thÓ dïng phÐp so s¸nh = hoÆc <>.. VD: SGK (Tr 76). VD: SGK (Tr 76). Chương trình hoàn thiện:. - GV: Đọc đề bài.. Program xep-loai; Uses crt; Const max = 60; Type hocsinh = record Hoten: string [30];. - GV: Em hãy xác định các thuộc tính (Trường)? - HS: C¸c thuéc tÝnh: hä vµ tªn, ngày sinh, địa chỉ, điểm toán,. Ngaysinh:string [10]; ®iÓm v¨n, xÕp lo¹i. Diachi: string [50]; - GV: Ta sö dông kiÓu d÷ liÖu Toan, Van: real;. như thế nào để giải quyết bài. Xeploai: char;. to¸n nµy?. End; 6 Lop11.com.

<span class='text_page_counter'>(7)</span> Var. - HS: Sö dông mét m¶ng c¸c b¶n. Lop : array [1..max] of hocsinh; ghi. N, i: Byte;. - GV: Em h·y m« t¶ th«ng tin vÒ. Begin. mét häc sinh b»ng kiÓu b¶n ghi?. Clrscr;. - HS:. Write (‘Nhap so hoc sinh trong lop Type hocsinh = record Hoten: string [30]; N = ’); readln (N); For i:= 1 to N do. Ngaysinh : string [10];. Begin. Diachi : string [50]; Toan, Van : real;. writeln(‘nhap so lieu ve hoc. Xeploai : char;. sinh thu ’,i, ‘:’); write (‘Ho va ten:’);. End;. readln (Lop [i]. Hoten);. - GV: Sau khi m« t¶ kiÓu b¶n. write (‘Ngay sinh:’);. ghi ta cÇn ph¶i khai b¸o c¸c biÕn. readln (Lop [i]. Ngaysinh);. cÇn sö dông. H·y t¹o m¶ng c¸c. write (‘Dia chi:’);. bản ghi đó?. readln (Lop [i]. Diachi);. - HS: Var Lop: array [1..60] of. write (‘Diem Toan:’);. hocsinh;. readln (Lop [i]. Toan); write (‘Diem Van:’);. - GV: Sử dụng biến N để nhập. readln (Lop [i]. Van);. sè häc sinh trong líp, vµ biÕn i. If Lop [i]. Toan + Lop[i] . Van >=. lµ biÕn chØ sè. Hai biÕn nµy cã. 18 Then Lop [i]. Xeploai := ‘A’;. kiÓu nguyªn.. If (Lop [i]. Toan + Lop[i] . Van. - GV: sau phÇn khai b¸o lµ phÇn. >= 14) and. thân chương trình.. (Lop [i]. Toan + Lop[i] .Van < 18) + §Çu tiªn ta ph¶i nhËp tæng sè häc sinh trong líp (nhËp N). Then Lop [i]. Xeploai := ‘B’;. 7 Lop11.com.

<span class='text_page_counter'>(8)</span> If (Lop [i]. Toan + Lop[i] . Van >= - GV: Gièng nh­ m¶ng mét 10) and. chiều để nhập dữ liệu cho các. (Lop [i]. Toan + Lop[i] .Van< 14). phÇn tö cña m¶ng c¸c b¶n ghi ta. Then Lop [i]. Xeploai := ‘C’;. sö dông c©u lÖnh nµo?. If Lop [i]. Toan + Lop[i] . Van <. -HS: Sö dông lÖnh For… to… do. 10 Then Lop [i]. Xeploai := ‘D’;. - GV: §Ó nhËp th«ng tin cho c¸c. End;. trường của bản ghi ta sử dụng. Clrscr;. lÖnh nµo?. Writeln(‘Danh sach xep loai. HS: NhËp trùc tiÕp tõ bµn phÝm. Readln (Lop[i]. Hoten);. hoc sinh trong lop:’); For i := 1 to N do. Readln (Lop[i]. Ngaysinh);. Writeln (Lop [i]. Hoten:30, ’xep. Readln (Lop[i]. Diachi); Readln (Lop[i]. Toan);. loai:’, Lop[i]. Xeploai); Readln;. Readln (Lop[i]. Van);. End. GV: Trường xếp loại không ®­îc nhËp tõ bµn phÝm mµ ®­îc xác định dựa vào 2 thuộc tính điểm toán và văn theo 4 trường hợp đã được quy định. - GV: Để tính giá trị trường xếp lo¹i ta sö dông c©u lÖnh g×? - HS: C©u lÖnh If… Then… - GV: Cã thÓ sö dông If… Then… Else ®­îc kh«ng? - HS: Sö dông ®­îc. - GV: Sau khi nhËp xong th× ta. 8 Lop11.com.

<span class='text_page_counter'>(9)</span> ph¶i ®­a kÕt qu¶ ra mµn h×nh. Sö dông lÖnh lÆp For… do Writeln (biÕn). - C©u lÖnh with: cho ta tham chiÕu. - GV: Ta thÊy c©u lÖnh sauFor… 3’. đến trường của bản ghi một cách. do mỗi khi truy cập đến một. ng¾n gän. trường của biến bản ghi Lop [i],. With <tªn biÕn b¶n ghi> do. ta viết: Lop [i] . <tên trường>. <c©u lÖnh>;. Nh­ vËy cÇn xö lÝ bao nhiªu trường thì cần phải viết kèm bấy nhiªu lÇn Lop [i]. Pascal cung cấp lệnh with để tham chiếu đến trường của biến b¶n ghi mét c¸ch ng¾n gän: With <tªn biÕn b¶n ghi> do <c©u lÖnh>;. 4. Cñng cè, dÆn dß (2’) §Æc ®iÓm c¬ b¶n gièng vµ kh¸c nhau c¶u kiÓu b¶n ghi víi 2 kiÓu d÷ liÖu cã cÊu tróc lµ m¶ng vµ x©u: - §Æc ®iÓm chung cña kiÓu d÷ liÖu cã cÊu tróc: §­îc t¹o nªn tõ mét sè kiÓu c¬ së, gi¸ trÞ c¶u mét biÕn cã nhiÒu thµnh phÇn. - Kh¸c víi m¶ng vµ x©u, c¸c kiÓu thµnh phÇn cña mét kiÓu b¶n ghi cã thÓ thuéc c¸c kiÓu d÷ liÖu c¬ së kh¸c nhau. Các em về nhà đọc thêm câu lệnh with (SGK – Tr 134). Bµi tËp vÒ nhµ: ChuÈn bÞ c¸c bµi tËp trong SGK – Tr 79 III. Rót kinh nghiÖm ……………………………………………………………………………. 9 Lop11.com.

<span class='text_page_counter'>(10)</span>

×