TRNG THPT QUANG TRUNG TUN 27 Tit 52-53 Bài 13 GV Dinh Nguyen Thanh Tu suu tam va gioi thieu voi CENTEA Data Bài toán đặt vấn đề: Trờng (Field) Bảng kết kiểm tra chất lợng SBD Họ tên Toán Văn 10.0 9.0 8.5 5.0 01 Nguyễn An 02 Vũ Ngọc Bình 48 Trần Thu Trà 7.0 6.5 49 Đặng Anh Tuấn 5.0 7.5 50 Phan Vân 6.0 4.5 Tổng Bản ghi (Record) Kết Yêu cầu: tin với sinh, tổng Bảng gồmNhập : 50 vào đối tthông ợng (record) học thuộc tínhtính (Field) xét kết quả, biết tổng >=10 kết Dữ liệu kiểu ghi Dữ liệu kiểu ghi dùng để mô tả đối tợng có số thuộc tính mà thuộc tính có kiểu liệu khác Khai báo kiểu ghi Type Var < tên kiểu ghi> = record : kiểu trờng 1; < tên trờng 2> : kiểu trờng 2; end; : ; : ARRAY[1 Max] of < tên kiểu ghi>; SBD Họ tên Toán Văn 10.0 9.0 01 Nguyễn An 02 Vũ Ngọc Bình 8.5 5.0 48 Trần Thu Trà 7.0 6.5 49 Đặng Anh Tuấn 5.0 7.5 50 Phan Vân 6.0 4.5 Tổng Kết Type Hocsinh = record SBD: integer; Hoten: string[30]; Toan,Van,Tong: real; Ketqua: string[10]; end; Var LOP: ARRAY[1 50] of Hocsinh; I,j,n : integer; Khai báo kiểu liệu cho trờng (field) Khai báo biến kiểu ghi (record) Các thao tác với ghi a Nhập thông tin học sinh Các b ớc: - Nhập số học sinh - Nhập liệu (các thuộc tính) ghi Thể pascal Write( Nhap vao so hoc sinh lop : ); readln(n); For i:=1 to n 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].Van); end; Khi i = LOP[1].SBD * Nhập giá trị trờng cho SBD học sinh thứ nằm ghi * Tơng tự nh nhập giá trị trờng lại SBD 01 Họ tên Nguyễn An Toán Văn 10.0 9.0 Quá trình nhập kết thúc nhập hết liệu cho ghi thứ n b Các thao tác xử lí ghi Tính tổng điểm văn toán học sinh lớp For i:=1 to n LOP[i].Tong:= LOP[i].Toan + LOP[i].Van; Dùng lệnh để tính tổng cho Điền chữ Đạt vào cột kết cho học sinh có tổng >=10, ng ghi ? ợc lại điền chữ Khong dat For i:=1 to n IF LOP[i].Tong>=10 then LOP[i].Ketqua=Dat else LOP[i].Ketqua=Khong dat; c In liệu kiểu ghi Các b ớc: Thể pascal Thông báo in Writeln( Bang ket qua kiem tra chat luong ); In bảng liệu For i:=1 to n 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); Program vd1; Uses crt; Type { Khai bao} Hocsinh = record SBD: integer; { tinh tong cho tung ban ghi } Hoten: string[30]; For i:=1 to n Toan,Van,Tong:real; LOP[i].Tong := LOP[i].Toan + LOP[i].Van; Hãy viết ch ơng Ketqua: string[10]; trình hoàn chỉnh { dien ket qua cho tung ban ghi } end; giải toánFor i:=1 to n Var LOP: ARRAY[1 100] để of Hocsinh; đặt vấn đề ? if LOP[i].Tong>=10 then i,n: integer; BEGIN LOP[i].Ketqua:=Dat Clrscr; { nhap so hoc sinh } else LOP[i].Ketqua:=Khong dat; Write( Nhap vao so hoc sinh lop : ); readln(n); { In bang du lieu } { nhap du lieu tung ban ghi} Writeln( Bang ket qua kiem tra ); For i:=1 to n For i:=1 to n Begin Writeln(LOP[I].sbd:5,LOP[i].Hoten:30, writeln( Nhap so lieu hoc sinh thu ,i); LOP[i].toan:5:1,LOP[i].Van:5:1, Write( SBD : ); readln(LOP[i].SBD); LOP[i].tong:8:1,LOP[i].Ketqua:15); Write(HO VA TEN : ); readln(LOP[i].Hoten); Readln; Write( Diem toan : );readln(LOP[i].Toan); END Write( Diem van : );readln(LOP[i].Van); end; Hãy nhớ! Type Hocsinh = record SBD : integer; Hovaten : 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 ghi, tên kiểu liệu trờng Tham chiếu trờng ghi: Tên biến ghi.tên trờng Gán giá trị cho trờng ghi hai biến kiểu ... mà thuộc tính có kiểu liệu khác Khai báo kiểu ghi Type Var < tên kiểu ghi> = record : kiểu trờng 1; < tên trờng 2> : kiểu trờng 2; end; : ; ... Tổng Bản ghi (Record) Kết Yêu cầu: tin với sinh, tổng Bảng gồmNhập : 50 vào đối tthông ợng (record) học thuộc tínhtính (Field) xét kết quả, biết tổng >=10 kết Dữ liệu kiểu ghi Dữ liệu kiểu ghi. .. of hocsinh; LOP[i].SBD Khai báo: tên biến ghi, tên kiểu liệu trờng Tham chiếu trờng ghi: Tên biến ghi. tên trờng Gán giá trị cho trờng ghi hai biến kiểu