1 H é i g i ¶ n g Mïa xu©n Viết 1 chương trình dùng để quản lí kết quả kiểm tra chất lượng của học sinh với 2 môn Toán và Văn Chương trình cần quản lí gồm: STT, SBD Họ và tên, Ngày sinh, Giới tính, Điểm môn Toán, điểm môn Văn, tổng, kết quả Bài toán đặt vấn đề Bảng kết qủa kiểm tra chất lượng Bài toán đặt vấn đề STT Họ và tên Toán Văn Tổng Kết quả 1 Phạm Thị An 7.5 6.0 2 Vũ Thị Bích 6.5 7.5 48 Trần Hải Triệu 8.0 6.5 49 Bùi Văn Trường 6.0 5.5 50 Nguyễn Thị Yến 8.5 8.0 Bản ghi (Record) Trường (Field) Yêu cầu: Nhập vào các thông tin của từng học sinh. Tính tổng và xét kết quả, biết nếu tổng >=12 thì kết quả là Đạt §13.kiÓu b¶n ghi 1. Kh¸i niÖm Lµ 1 kiÓu d÷ liÖu cã cÊu tróc dïng ®Ó m« t¶ c¸c ®èi tîng cã cïng 1 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. Khai b¸o Type <Tªn kiÓu b¶n ghi> = record <Tªntrêng1>:<kiÓutrêng1>; ………………………. <Tªntrêngk>:<kiÓutrêngk>; end; Var <tªnbiÕnb¶n ghi>: <Tªn kiÓu b¶n ghi>; CÊu tróc STT Họ và tên Toán Văn Tổng Kết quả 1 Phạm Thị An 7.5 6.0 2 Vũ Thị Bích 6.5 7.5 48 Trần Hải Triệu 8.0 6.5 49 Bùi Văn Trường 6.0 5.5 50 Nguyễn Thị Yến 8.5 8.0 Type Hocsinh = record Hoten, ketqua : string[30]; STT : Integer; Toan, Van, Tong: real; end; Var Lop : array[1 Max] of Hocsinh; i, n :Byte; Ví dụ: Khai báo kiểu dl cho các trường Khai báo biến kiểu bản ghi Đ13.kiểu bản ghi 2. Khai báo 3. Tham chiếu đến từng trường của biến bản ghi Ví dụ: Lop[i].hoten Lop[i].Toan Tên_biến_bản_ghi . Tên_trường 1. Khái niệm 4. Gán giá trị cho biến bản ghi - Gán nguyên cả biến bản ghi - Gán lần lượt từng trường Ví dụ: A:= B; A.hoten := B.hoten; A.Toan := B.Toan; Chú ý: Hai biến A và B phải được khai báo cùng 1 kiểu bản ghi Đ13.kiểu bản ghi a, Nhập thông tin học sinh Các bước Thể hiện bằng Pascal - Nhập số học sinh - Nhập dữ liệu (các thuộc tính ) của từng bản ghi Write( Nhap vao so hoc sinh trong lop); readln(n); For i:=1 to n do Begin Write( So thu tu ); readln(Lop[i].STT); Write( Ho va ten); readln(Lop[i].hoten); Write( Diem Toan); readln(Lop[i].Toan); Write( Diem Van); readln(Lop[i].Van); End; 5. Ví dụ về các thao tác với bản ghi (bài toán đặt vấn đề) Đ13.kiểu bản ghi Nhập giá trị trường cho SBD của học sinh thứ 1 nằm ở bản ghi đầu tiên Tư ơng tự như vậy nhập cho các trường còn lại. STT Họ và tên Toán Văn Tổng Kết quả 1 Phạm Thị An 7.5 6.0 Quá trình nhập kết thúc khi nhập hết dữ liệu cho bản ghi thứ n. Người 1 Người 2 Người 3 Người n Lớp Khi i=1 Lop[1].SBD b, Các thao tác xử lí trong bản ghi. Đ13.kiểu bản ghi Tính tổng điểm Toán và Văn của từng học sinh trong lớp: For i:=1 to n do Lop[i].Tong := Lop[i].Toan + Lop[i].Van; Kiểm tra điều kiện để đưa ra kết quả: For i:=1 to n do If Lop[i].Tong >=12 then Lop[i].ketqua := Dat else Lop[i].ketqua := Khongdat; c, In d÷ liÖu kiÓu b¶n ghi §13.kiÓu b¶n ghi C¸c bíc ThÓ hiÖn b»ng Pascal - Th«ng b¸o in - In b¶ng d÷ liÖu For i:= 1 to n do Writeln(Lop[i].SBD:5, Lop[i].Hoten:30, Lop[i].Toan:5:1, Lop[i].Van:5:1, Lop[i].Tong:8:1, Lop[i].ketqua:15); Writeln(‘ Bang ket qua kt chat luong’); [...]... 1.nhớniệm Khái 2 Khai báo 3 Tham chiếu đến từng trường của biến bản ghi Type = record :; :; Tên_biến _bản_ ghi Tên_trường 4 Gán giá trị cho biến bản ghi end; Var : ; Yêu cầu về nhà: Xem phần cấu trúc câu lệnh Withdo (sgk- tr134) và làm bài tập 11- sgk tr 80 Kính chúc các thầy giáo, cô giáo và các em... Trung Giáo án Tin học 11 – năm học 2014 – 2015 Nguyễn Thị Cẩm Lai Ngày soạn : 22/8/2014 Tiết PPCT : Chương I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH Bài 1: KHÁI NIỆM LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH I MỤC TIÊU: Kiến thức: - Học sinh nhận biết có ba lớp ngơn ngữ lập trình mức ngơn ngữ lập trình : ngơn ngữ máy, hợp ngữ ngơn ngữ bậc cao - Biết dược vai trò chương thình dịch Kĩ năng: Phân biệt hai khái niệm biên dịch thơng dịch, phân biệt loại ngơn ngữ lập trình Thái độ: Thấy cần thiết tiện lợi sử dụng ngơn ngữ lập trình bậc cao Liên hệ với q trình giao tiếp đời sống II CHUẨN BỊ: Giáo viên: Một số ví dụ ngơn ngữ lập trình Học sinh: Tìm hiểu số loại ngơn ngữ giao tiếp thơng dụng III HOẠT ĐỘNG DẠY HỌC: 1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra cũ: Nếu có thuật tốn máy thực tốn mà giải hay chưa ? 3) Giảng mới: Nội dung Hoạt động GV HS GV : Gọi học sinh nhắc lại khái niệm : ngơn ngữ máy, hợp ngữ ngơn ngư Ngơn ngữ máy: Là ngơn ngữ mà bậc cao máy tính trực tiếp hiểu xử lý đựơc HS: Trả lời câu Hợp ngữ: Là loại ngơn ngữ sử dụng số hỏi.0000000000000000000000000 từ để thực lệnh ghi Ngơn ngữ bậc cao: Là loại ngơn ngữ gần với ngơn ngữ tự nhiên, phụ thuộc vào loại máy Chương trình dịch chương trình đặc biệt, có chức chuyển đổi chương trình đợc viết ngơn ngữ lập trình bậc cao sang ngơn ngữ máy CHƯƠNG TRÌNH NGUỒN CHƯƠNG TRÌNH DỊCH CHƯƠNG TRÌNH ĐÍCH Dùng máy chiếu diễn giải hai tình Kết luận : Giáo án Tin học 11 – năm học 2014 – 2015 Nguyễn Thị Cẩm Lai Biên dịch (Compiler): thực qua hai bước - Duyệt, phát lỗi, kiểm tra tính đắn câu lệnh chương trình nguồn - Dịch tồn chương trình nguồn thành chơng trình đích thực máy lưu trữ để sử dụng lại cần thiết Thơng dịch (Interpreter) đợc thực cách lặp lại dãy bước sau - Kiểm tra tính đắn câu lệnh chương trình nguồn - Chuyển đổi câu lệnh thành hay nhiều câu lệnh tương ứng ngơn ngữ máy - Thực câu lệnh vừa chuyển đổi GV : Để chuyển đổi chương trình viết ngơn ngữ lập trình bậc cao sang ngơn ngữ máy cần phải có gì? HS : Đó chương trình dịch GV : - Cho ví dụ từ thực tế : “ Người phóng viên biết ngơn ngữ tiếng việt phóng vấn khách nước ngồi ” thơng qua người phiên dịch GV : Như có hai cách để người phóng viên thực cơng việc : biên dịch thơng dịch 4.CỦNG CỐ : Khái niệm lập trình? Chương trình dịch gì? Khái niệm ngơn ngữ lập trình? BÀI TẬP VỀ NHÀ: RÚT KINH NGHIỆM: Giáo án Tin học 11 – năm học 2014 – 2015 Nguyễn Thị Cẩm Lai Ngày soạn : 28 /08/2014 Tiết PPCT : &2 CÁC THÀNH PHẦN CỦA NGƠN NGỮ LẬP TRÌNH I MỤC TIÊU - Kiến thức: + Biết số khái niệm: tên, tên chuẩn, tên dành riêng, biến + Học sinh ghi nhớ quy định tên, biến ngơn ngữ lập trình - Kĩ năng: + Phân biệt tên, biến + Biết cách đặt tên chúng nhận biết tên viết sai quy tắc - Thái độ: Rèn luyện cho HS tính ngun tắc, chặt chẽ lập trình II CHUẨN BỊ: Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách tập, tài liệu tham khảo Máy tính cá nhân máy chiếu ( có) Học sinh: Đọc trước nhà Sách giáo khoa III HOẠT ĐỘNG DẠY HỌC: 1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra cũ: Câu hỏi : Chương trình dịch gì? Biên dịch thơng dịch khác nào? 3) Giảng mới: Hoạt động GV HS Nội dung GV: Gọi HS trả lời ý nghĩa việc Một số khái niệm đặt tên? a Tên HS: Tại chỗ trả lời GV: Nhận xét đưa kết luận - Ý nghĩa việc đặt tên khai báo tên cho HS: Chú ý ghi đối tượng: GV: Mọi đối tượng chương + Để quản lý phân biệt đối tượng trình phải đặt tên theo chương trình quy tắc ngơn ngữ lập trình + Để gợi nhớ nội dung đối tượng chương trình dịch cụ thể HS: Chú ý ghi - Qui tắc đặt tên Pascal: GV: Lấy ví dụ tên đặt sai tên đặt Tên dãy liên tiếp khơng q 127 kí tự bao gọi học sinh nhận xét gồm chữ cái, chữ số dấu gạch HS: - Tên đúng: a,b,c,x1, a_b phải bắt đầu chữ dấu gạch - Tên sai: a bc, 2x GV: Ngơn ngữ Pascal khơng phân biệt chữ hoa, chữ thường HS: Chú ý lắng nghe GV: Ngơn ngữ lập trình thường có ba loại tên bản: tên dành riêng, tên chuẩn tên người lập trình đặt HS: Đọc SGK trình bày tên dành riêng * Tên dành riêng: GV: Trong Pascal, soạn thảo, - Là tên dùng với ý nghĩa riêng xác định tên dành riêng có màu trắng phân - Tên dành riêng gọi từ khố Giáo án Tin học 11 – năm học 2014 – 2015 biệt với tên khác GV: Gọi HS phát biểu tên chuẩn HS: Tại chỗ trả lời GV: Viết số tên chuẩn HS: Ghi bài, GV: Lấy ví dụ giải phương trình bậc hai cần dùng biến nào? HS: Khi giải PTBH ta cần dùng biến: a,b,c, x1, x2, Delta để biểu diễn nội dung hệ số phương trình; nghiệm phương trình biệt số delta GV: Vậy tên tên người lập trình đặt GV: Nêu khái niệm ngơn ngữ lập trình HS: Tại chỗ trả lời GV: Lấy ví dụ ví dụ ví dụ sai cho học sinh nhận biết HS: Nhận biết tên tên sai Ví dụ: 123, ‘123’, ‘TRUE, 2+3,… GV: Các biến dùng chương trình phải khai báo GV: Khi viết chương trình người lập trình có nhu cầu giải thích cho câu lệnh viết để đọc lại thuận tiện người khác đọc hiểu chương trình viết, ngơn ngữ lập trình thường cung cấp cho cách đưa vào đoạn thích chương trình HS: Chú ý lắng nghe ghi GV: Ví dụ ... TiÕt 22: TiÕt 22: KiÓm tra bµi cò Câu hỏi: Hãy viết chương trình để nhập thông tin của N học sinh (n<=50). Thông tin về mỗi học sinh bao gồm : - Họ và tên. - Năm sinh. - Điểm trung bình. TiÕt 22: Trong thực tế, chúng ta thường dùng các bản danh sách, biểu bảng thống kê có nội dung khác nhau. Trong một lớp học có nhiều học sinh Trong học sinh lại có nam, có nữ, có họ tên học sinh, ngày sinh, quê quán Để xử lý những dữ liệu phức tạp kể trên, Pascal cho phép người lập trình tự định nghĩa một kiểu dữ liệu có cấu trúc đó là kiểu bản ghi ( Record). Vậy kiểu bản ghi là gì ? TiÕt 22: Để mô tả bản ghi Học sinh ta có mô hình sau: Học sinh Xếp loại Nơi sinh Điểm TB Ngày sinh Họ và tên TiÕt 22: Họ và tên Họ và tên Năm Năm sinh sinh Nơi sinh Nơi sinh Điểm Điểm TB TB Xếp Xếp loại loại Nguyễn Thu Hà Nguyễn Thu Hà 1988 1988 Trung Trung Trạch Trạch 8.5 8.5 Giỏi Giỏi Nguyễn Bảo Châu Nguyễn Bảo Châu 1989 1989 Hoàn lão Hoàn lão 7.0 7.0 Khá Khá Hoàng Thuỳ Linh Hoàng Thuỳ Linh 1989 1989 Đại trạch Đại trạch 6.0 6.0 TB TB *Ta có bảng mô tả sau: Trường Bản ghi +Trường Họ và tên có kiểu dữ liệu String, trường Năm sinh có kiểu dữ liệu Interger… +Theo hàng ngang là các bản ghi. Mỗi bản ghi là tập hợp dữ liệu các trường… TiÕt 22: 1. Khái niệm: - Kiểu dữ liệu bản ghi là một kiểu dữ liệu có cấu trúc. Một bản ghi gồm các thành phần (trường), các trường có thể thuộc các kiểu dữ liệu khác nhau. - Kiểu bản ghi có thể mô tả hàng loạt đối tựợng có cùng một số thuộc tính. - Có thể truy xuất (thao tác) trên từng thành phần của bản ghi, mỗi trường đó được xác định bởi tên biến bản ghi và tên trường. TiÕt 22: 2. Khai báo kiểu bản ghi: a. Khai báo kiểu: TYPE <Tên kiểu bản ghi> = RECORD <tên trường 1>:<Kiểu trường 1>; … … <tên trường k>:<Kiểu trường k>; END; TiÕt 22: b. Khai báo biến: Có hai cách Cách 1: VAR <tên biến> : <Tên kiểu bản ghi>; <tên mảng> : ARRAY [1 Max] OF < tên kiểu bản ghi>; VAR <Tên biến bản ghi> = RECORD <tên trường 1>:<Kiểu trường 1>; … … <tên trường k>:<Kiểu trường k>; END; Cách 2: TiÕt 22: *Ví dụ: 1) Khai báo kiểu: TYPE Hocsinh = RECORD HoTen: String [30]; Ngaysinh:String[10]; Tuoi: Byte; Diem: Real; END; VAR Hs1, Hs2: Hocsinh; 2) Khai báo biến: VAR hs1, hs2: RECORD HoTen: String [30]; Toan, Ly, Hoa: Real; END; TiÕt 22: Để khai báo một kiểu bản ghi cần xác định những yếu tố: - Đối tượng được mô tả có những thuộc tính nào, mỗi thuộc tính ứng với một trường của bản ghi. - Tên cho mỗi trường: Các tên trường của một kiểu bản ghi phải khác nhau. - Kiểu dữ liệu của mỗi trường. Vậy để khai báo một kiểu bản ghi cần xác định những yếu tố nào? [...]... 45 : TiÕt 2 2: Củng c : * Cách khai báo kiểu bản ghi * Nêu những đặc điểm cơ bản giống và khác của kiểu bản ghi với hai kiểu dữ liệu cấu trúc đã học (Kiểu mảng và kiểu xâu)? Sự giống nhau và khác nhau giữa kiểu bản ghi với hai kiểu dữ liệu có cấu trúc đã học (mảng và xâu ): - Giống : Được tạo nên từ một số kiểu cơ sở, giá Bµi 16 Gi¸o ¸n ®iÖn tö tin häc líp 11 Gi¸o viªn thùc hiÖn CHÀO MỪNG NGÀY THÀNH LẬP ĐOÀN 26 THÁNG 3 Giáo án điện tử tin học lớp 11 KIM TRA BI C Yêu cầu: Viết chương trình nhập vào thông tin của N học sinh (N nhập từ bàn phím và N<=50) . Thông tin về mỗi học sinh bao gồm họ và tên, năm sinh, điểm trung bình học kì 1. CT Giáo án điện tử tin học lớp 11 Bài 13(T33) Kiểu bản ghi Nội dung Nội dung 1. Khái niệm 1. Khái niệm 2. Khai báo 2. Khai báo 3. Các thao tác với bg 3. Các thao tác với bg Củng cố Củng cố 1. Khái niệm - Kiểu dữ liệu có cấu trúc. - Gồm các thành phần (gọi là trường) có thể thuộc các kiểu dữ liệu khác nhau. => 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ó kiểu dữ liệu khác nhau Gi¸o ¸n ®iÖn tö tin häc líp 11 Bµi 13(T33) KiÓu b¶n ghi Néi dung Néi dung 1. Kh¸i niÖm 1. Kh¸i niÖm 2. Khai b¸o 2. Khai b¸o 3. C¸c thao t¸c víi bg 3. C¸c thao t¸c víi bg Cñng cè Cñng cè 2. Khai b¸o a. Khai b¸o kiÓu Type < Tªn kiÓu b¶n ghi> = record <tªn trêng 1> : <kiÓu trêng 1>; < tªn trêng 2> : <kiÓu trêng 2>; . < tªn trêng n> : <kiÓu trêng n>; end; Gi¸o ¸n ®iÖn tö tin häc líp 11 Bµi 13(T33) KiÓu b¶n ghi Néi dung Néi dung 1. Kh¸i niÖm 1. Kh¸i niÖm 2. Khai b¸o 2. Khai b¸o 3. C¸c thao t¸c víi bg 3. C¸c thao t¸c víi bg Cñng cè Cñng cè 2. Khai b¸o a. Khai b¸o kiÓu b. Khai b¸o biÕn. Cách 1: Var <Tªn biÕn > : <tªn kiÓu b¶n ghi>; <Tªn m¶ng > : ARRAY[1 Max] of < Tªn kiÓu b¶n ghi>; Cách 2: VAR <Tên biến bản ghi> = RECORD <tên trường 1>:<Kiểu trường 1>; … … <tên trường n>:<Kiểu trường n>; END; . . Tổng 4.56.0 Phan Vân 50 7.55.0 Đặng Anh Tuấn 49 6.57.0 Trần Thu Trà 48 5.08.5 Vũ Ngọc Bình 02 9.010.0 Nguyễn An 01 Kết quả TinToánHọ tênSBD Type Hocsinh = record Khai báo kiểu dữ liệu cho các trường (field) Khai báo biến kiểu bản ghi (record) Ví dụ SBD: Hoten: Toan,Tin,Tong: Ketqua: end; integer; String[30]; String[10]; real; Var LOP: ARRAY[1 50] of Hocsinh; I,j,n : integer; cc Gi¸o ¸n ®iÖn tö tin häc líp 11 Bµi 13(T33) KiÓu b¶n ghi Néi dung Néi dung 1. Kh¸i niÖm 1. Kh¸i niÖm 2. Khai b¸o 2. Khai b¸o 3. C¸c thao t¸c víi bg 3. C¸c thao t¸c víi bg Cñng cè Cñng cè 3. C¸c thao t¸c víi b¶n ghi 3. C¸c thao t¸c víi b¶n ghi b.G¸n gÝa trÞ. a:=b; a.ketqua:= DAT ;‘ ’ a.hoten:=b.hoten; Type Hocsinh = record SBD: integer; Hoten: string[30]; Toan,Tin,Tong: real; Ketqua: string[10]; end; Var LOP: ARRAY[1 50] of Hocsinh; a, b :hocsinh I,j,n : integer; a. Tham chiÕu. a.sbd a.hoten a.toan a.Tin a.tong a.ketqua Tªn biÕn b¶n ghi.tªn trêng 3. C¸c thao t¸c víi b¶n ghi Readln(a.sbd); Readln(a.hoten); Readln(a.toan); Readln(a.Tin); Type Hocsinh = record SBD: integer; Hoten: string[30]; Toan,Tin,Tong: real; Ketqua: string[10]; end; Var LOP: ARRAY[1 50] of Hocsinh; a, b :hocsinh I,j,n : integer; XuÊt gÝa trÞ. NhËp gÝa trÞ. a.tong:=a.toan+a.Tin; If a.tong>=10 then a.ketqua:= DAT ;‘ ’ Writeln(a.sbd); Writeln(a.hoten); Writeln(a.toan); Writeln(a.Tin); Writeln(a.tong); Writeln(a.ketqua); c. NhËp/xuÊt gi¸ trÞ a.sbd a.hoten a.toan a.Tin a.tong a.ketqua d. Vận dụng Nhập và hiển thị thông tin học sinh của n (n<=45). Write( Nhap vao so hoc sinh trong lop : ); readln(n); Các bước: Thể hiện bằng pascal - Nhập số học sinh For i:=1 to n do Begin writeln( Nhap du lieu cho hoc sinh thu ,i); Write( SBD : ); readln(LOP[i].SBD); Write(HO TEN : ); readln(LOP[i].Hoten); Write( Diem toan : );readln(LOP[i].Toan); Write( Diem van : );readln(LOP[i].Tin); end; - Nhập dữ liệu (các thuộc tính) của từng bản ghi Type Hocsinh = record SBD: integer; Hoten: string[30]; Toan,Tin,Tong: real; Ketqua: string[10]; end; Var LOP: ARRAY[1 50] of Hocsinh; I,j,n : integer; [...]... LOP[i].tong: 8:1 Tuần 13; tiết 25 Bài 13: KIỂU BẢN GHI I. Mục tiêu 1. Kiến thức - 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. 2. Kó năng - Biết mô tả một đối tượng bằng một số thuộc tính. - Nhận biết được trường của một biến bản ghi và bước đầu viết được các thao tác xử lí trên từng trường của bản ghi. II. Phương tiện dạy học Giáo viên: Bảng phụ…… Học sinh: III. Nội dung 1. Ổn đònh lớp, sỉ số (1p) 2. Kiểm tra bài cũ: (4p) - 3. Bài mới (38p) NỘI DUNG HOẠT ĐỘNG CỦA GV VÀ HS T G Bài 13: KIỂU BẢN GHI * Khái niệm: Dữ liệu kiểu bảng ghi (record) dùng để mô tả 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. Ví dụ: danh sách lớp 11A STT Họ tên Năm sinh Nơi sinh 01 Nguyễn Văn A 1990 TVT 02 Lê Văn B 1991 CM …. HĐ1:- GV: xét ví dụ trang 76, 77 SGK. Giả sử có 1 lớp 11T 3 gồm 45 học sinh. Cần quản lí học sinh với các thuộc tính sau: Họ tên, ngày sinh, đòa chỉ, điểm toán, điểm văn, xếp loại. - GV: với những kiểu dữ liệu đã học có thể biểu diển được các đối tượng trên hay không? - HS:? - GV: Để giải quyết được vấn đề trên ta dùng kiểu dữ liệu bản ghi. 6p 1. Khai báo: * Cách đònh nghóa kiểu bản ghi: type <tên kiểu bản ghi> = record <tên trường1 >:<kiểu trường 1> ………………………………………………………. <tên trường k >:<kiểu trường k> end; * Khai báo biến: Var <tên biến bản ghi>:<tên kiểu bản ghi>; * Ví dụ: trở lại ví dụ trên ta có cách khai báo sau: Type HocSinh = Record Hoten:String[30]; NgaySinh:String[10]; DiaChi:String[50]; DiemToan, DiemVan:Real; End; Var A, B:HocSinh; Lop:Array[1 45] of HocSinh Chú ý: Để tham chiếu đến họ tên của 1 Học Sinh trong ví dụ trên ta viết: A.Hoten, B.DiaChi, …. Hđ2: GV: ta có cách khai báo kiểu bản ghi như sau: GV: Viết đònh nghóa kiểu khai báo bản ghi lên bảng. GV: gọi HS lên bảng viết khai báo HS: HS lên bảng viết khai báo GV: Giải thích và sửa (nếu có) ? Phần tử lop[1] và phần tử lop[5] của mảng lop thuộc kiểu gì? ? lop[1] và lop[5].hoten có cùng một kiểu hay không? ? lop[5].hoten thuộc kiểu gì? 15 p 2. Gán giá trò: Có 2 cách để gán giá trò cho bản ghi Cách 1: Dùng lệnh gán trực tiếp Ví dụ: A:=B (A và B là 2 biến bản ghi cùng kiểu) Cách 2: gán giá trò cho từng trường Ví dụ: SGK trang 76, 77 Một lớp gồm N (N<=60) học sinh … Hđ3: ta xét ví dụ sau: Gv: ta viết i:=1; i:=N ? em hiểu như thế nào về cách viết trên. Hs: trả lời Gv: đây chính là một phép gán giá trò Gv: có 2 cách gán giá trò (viết 2 cách lên bảng) Gv: Sử dụng bảng phụ 15 p IV. Củng cố, dặn dò (3p) - Khai báo được bản ghi - Tham chiếu đến các thuộc tính của bản ghi. - Về nhà học bài và chuẩn bò tổng kết chương IV. - …………… V. Nhận xét rút kinh nghiệm (nếu có) xét Bài toán: Bảng kết quả kiểm tra chất lượng Nam Lộc21/02/91Đào Bình 710Thị Trấn22/09/91Nguyễn An Xếp loạiVănToánĐịa chỉNgày sinhHọ và tên 5.54.5Vân Diên01/05/90Lê Na 97.5 98Xuân Hòa22/09/91Trần Bửu . 52.4Xuân Hòa15/12/91Hồ Chương 69.7Vân Diên04/04/90Lê Phương Viết chương trình nhập vào từ bàn phím các thông tin (họ và tên, ngày sinh, địa chỉ, điểm toán, điểm văn) của từng học sinh trong lớp, thực hiện xếp loại và đưa ra màn hình kết quả xếp loại học sinh. Bµi 13 tin häc líp 11 Bảng gồm : N đối tượng (record) với 6 thuộc tính (Field) Nam Lộc21/02/91Đào Bình 710Thị Trấn22/09/91Nguyễn An Xếp loạiVănToánĐịa chỉNgày sinhHọ và tên 54.5Vân Diên01/05/90Lê Na 97.5 98Xuân Hòa22/09/91Trần Bửu . 52.4Xuân Hòa15/12/91Hồ Chương 69.7Vân Diên04/04/90Lê Phương Bản ghi (Record) Trường (Field) N . 4 3 2 1 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. 1. Khai b¸o kiÓu b¶n ghi, biÕn b¶n ghi. Type < tªn kiÓu b¶n ghi> = record <tªn trêng 1> : <kiÓu trêng 1>; . . < tªn trêng k> : <kiÓu trêng k>; end; Var <tªn biÕn b¶n ghi> : <tªn kiÓu b¶n ghi>; <tªn biÕn m¶ng > : ARRAY[1 Max] of < tªn kiÓu b¶n ghi>; 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. Tham chiÕu ®Õn tõng trêng: <tªn biÕn b¶n ghi>.<tªn trêng> Type Hocsinh = record Hoten: string[30]; Ngaysinh:string[10]; Diachi:string[50]; Toan,Van: real; Xeploai: char; end; Var LOP: ARRAY[1 60] of Hocsinh; I,j,n : integer; Khai báo kiểu dữ liệu cho các trường (field) Khai báo biến kiểu bản ghi (record) Ví dụ: Hãy mô tả cấu trúc dữ liệu của bài toán đã đề ra (khai báo kiểu dữ liệu bản ghi và các biến bản ghi phù hợp)? Nam Lộc21/02/91Đào Bình 710Thị Trấn22/09/91Nguyễn An Xếp loạiVănToánĐịa chỉNgày sinhHọ và tên 5.54.5Vân Diên01/05/90Lê Na 97.5 98Xuân Hòa22/09/91Trần Bửu . 52.4Xuân Hòa15/12/91Hồ Chương 69.7Vân Diên04/04/90Lê Phương a. NhËp th«ng tin häc sinh Write(‘ So luong hoc sinh: ‘); readln(N); C¸c bíc: ThÓ hiÖn b»ng pascal - NhËp sè häc sinh For i:=1 to N do Begin writeln(‘ Nhap du lieu cho hoc sinh thu ‘,i); Write(‘ HO TEN : ‘); readln(LOP[i].Hoten); 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); End; - NhËp d÷ liÖu tõng b¶n ghi. if lop[i].toan+lop[i].van>=18 then lop[i].xeploai:='A'; if (lop[i].toan+lop[i].van>=14) and (lop[i].toan+lop[i].van<18) then lop[i].xeploai:='B'; if (lop[i].toan+lop[i].van>=10) and (lop[i].toan+lop[i].van<14) then lop[i].xeploai:='C'; if (lop[i].toan+lop[i].van<10) then lop[i].xeploai:='D'; Khi i = 1 LOP[1].HOTEN Quá trình nhập kết thúc khi nhập hết dữ liệu cho bản ghi thứ n. * Nhập giá trị trường HOTEN của học sinh thứ nhất nằm ở bản ghi đầu tiên. * Tương tự như vậy nhập giá trị các trường còn lại. A910Nam Đàn22/09/91Nguyễn An Xếp loạiVănToánĐịa chỉNgày sinhHọ và tên b. Các thao tác xử lí trong bản ghi Tính tổng điểm văn và toán của từng học sinh trong lớp. Dùng lệnh gì để tính tổng cho từng bản ghi nhỉ ? For i:=1 to n do LOP[i].Tong:= LOP[i].Toan + LOP[i].Van; Điền chữ Đạt vào cột kết quả cho những học sinh có tổng >=10, ngư ợc lại điền chữ Khong dat . For i:=1 to n do IF LOP[i].Tong>=10 then LOP[i].Ketqua=Dat else LOP[i].Ketqua=Khong dat; [...]... string[30]; Toan,Van,Tong:real; Ketqua :string[10]; end; Var LOP: ARRAY[1 50] of hocsinh; LOP[i].SBD Khai báo: tên biến ... Lai I Kiểu liệu chuẩn Kiểu ngun Kiểu Số Byte Miền giá trị Byte 255 Integer -32768 32767 Word 65535 Longint - 231 231- Kiểu thực - Có nhiều kiểu cho giá trị số thực hay dùng số kiểu sau: Kiểu. .. trình mà tên kiểu liệu khác miền giá trị kiểu liệu khác - Với kiễu liệu người lập trình cần ghi nhớ tên kiểu, miền giá trị số nhớ để lưu giá trị thuộc kiểu - Trong lập trình nói trung kiểu kí tự... giá trị thể có khơng phạm vi từ đến 25252 biến nhận khai báo - Kiểu liệu chuẩn: Kiểu kiểu liệu nào? ngun, kiểu thực, kiểu kí tự kiểu Hình 2.a: logic Y/cầu hs quan sát hình trả lời câu hỏi: -