Bài giảng Tin học Lớp 11 - Bài 16: Kiểu bản ghi
3. Các thao tác với bản ghi
a. Nhập thông tin học sinh
Các bớc:
Nhập số học sinh
Nhập dữ liệu (các thuộc tính) của từng bản ghi
Thể hiện bằng pascal
Write(‘ Nhap vao so hoc sinh trong lop : ‘);
readln(n);
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].Van);
end;
Bạn đang xem tài liệu "Bài giảng Tin học Lớp 11 - Bài 16: Kiểu bản ghi", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Tin học Lớp 11 - Bài 16: Kiểu bản ghi

Ngọc Bình 02 9.0 10.0 Nguyễn An 01 Kết quả Văn Toán Họ tên SBD 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 dữ liệu cho các trường (field) Khai báo biến kiểu bản ghi (record) 3. Các thao tác với bản ghi a. Nhập thông tin học sinh 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].Van ); end; - Nhập dữ liệu (các thuộc tính) của từng bản ghi 9.0 10.0 Nguyễn An 01 Văn Toán Họ và tên SBD Khi i = 1 LOP[1].SBD 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 cho SBD 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. 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’; c. In dữ liệu kiểu bản ghi Các bước: Thể hiện bằng pascal Thông báo in Writeln(‘ Bang ket qua kiem tra chat luong ‘); For i:=1 to n do In bảng dữ liệu 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 ); Hãy viết chương trình hoàn chỉnh để giải bài toán đặt vấn đề ? Program vd1; Uses crt; Type { Khai bao} Hocsinh = record SBD: integer; Hoten: string[30]; Toan,Van,Tong:real; Ketqua: string[10]; end; Var LOP: ARRAY[1..100] of Hocsinh; i,n: integer; BEGIN Clrscr; { nhap so hoc sinh } Write(‘ Nhap vao so hoc sinh trong lop : ‘); readln(n); { nhap du lieu tung ban ghi} For i:=1 to n do Begin writeln(‘ Nhap so lieu hoc sinh thu ‘,i); Write(‘ SBD : ‘); readln( LOP[i].SBD ); Write(‘HO VA TEN : ‘); readln( LOP[i].Hoten ); Write(‘ Diem toan : ‘);readln( LOP[i].Toan ); Write(‘ Diem van : ‘);readln( LOP[i].Van ); end; { tinh tong cho tung ban ghi } For i:=1 to n do LOP[i].Tong := LOP[i].Toan + LOP[i].Van; { dien ket qua cho tung ban ghi } For i:=1 to n do if LOP[i].Tong>=10 then LOP[i].Ketqua:=‘Dat’ else LOP[i].Ketqua:=‘Khong dat’; { In bang du lieu } Writeln(‘ Bang ket qua kiem tra ‘); 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 ) ; Readln; END. Hãy nhớ! Gán giá trị cho từng trường của bản ghi hoặc giữa hai biến cùng kiểu. Khai báo : tên biến bản ghi, tên và kiểu dữ liệu các trường. Tham chiếu trường của bản ghi: Tên biến bản ghi . tên trường 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
File đính kèm:
bai_giang_tin_hoc_lop_11_bai_16_kieu_ban_ghi.ppt