Bài giảng Tin học Lớp 11 - Tiết 52+53, Bài 13: Kiểu bản ghi - Trường THPT Quang Trung

ppt 10 trang Mạnh Hào 21/12/2025 220
Bạn đang xem tài liệu "Bài giảng Tin học Lớp 11 - Tiết 52+53, Bài 13: Kiểu bản ghi - Trường THPT Quang Trung", để 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 - Tiết 52+53, Bài 13: Kiểu bản ghi - Trường THPT Quang Trung

Bài giảng Tin học Lớp 11 - Tiết 52+53, Bài 13: Kiểu bản ghi - Trường THPT Quang Trung
Bài 13 
kiểu bản ghi 
GV Dinh Nguyen Thanh Tu 
suu tam va gioi thieu voi CENTEA Data 
TR ƯỜNG THPT QUANG TRUNG 
TU ẦN 27 
Ti ết 52-53 
... 
... 
....... 
... 
Tổng 
4.5 
6.0 
Phan Vân 
50 
7.5 
5.0 
Đ ặng Anh Tuấn 
49 
6.5 
7.0 
Trần Thu Tr à 
48 
5.0 
8.5 
Vũ Ngọc Bình 
02 
9.0 
10.0 
Nguyễn An 
01 
Kết qu ả 
Văn 
Toán 
Họ tên 
SBD 
Bài toán đ ặt vấn đề: 
Bảng kết qu ả kiểm tra chất lượng 
Bản ghi 
(Record) 
Trường 
(Field) 
Bảng gồm : 50 đ ối tượng (record) với 6 thuộc tính (Field) 
Yêu cầu : Nhập vào thông tin của từng học sinh , tính tổng và xét kết qu ả, biết rằng nếu tổng >=10 th ì kết qu ả là “Đạt” 
1. Dữ liệu kiểu bản ghi 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 . 
2. Khai báo kiểu bản ghi 
Type 
	 = record 
	 : kiểu trường 1; 
	 : kiểu trường 2; 
	 end; 
Var 	 : ; 
	 : ARRAY[1..Max] of ; 
Dữ liệu kiểu bản ghi 
... 
... 
....... 
... 
Tổng 
4.5 
6.0 
Phan Vân 
50 
7.5 
5.0 
Đ ặng Anh Tuấn 
49 
6.5 
7.0 
Trần Thu Tr à 
48 
5.0 
8.5 
Vũ 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:

  • pptbai_giang_tin_hoc_lop_11_tiet_5253_bai_13_kieu_ban_ghi_truon.ppt