Đề bài: Một lớp gồm N học sinh N 40 Quản lý học sinh với các thuộc tính trên.. Biết rằng việc xếp loại được xác định như sau: - Nếu tổng điểm toán và văn lớn hơn hoặc bằng 18 thì xếp loạ
Trang 2SBD Họ tên Ngày sinh Văn Toán Xếp loại
B I TO N À Á ĐẶ T V N Ấ ĐỀ
B¶ng kÕt qu¶ thi
Trang 3Đề bài: Một lớp gồm N học sinh (N 40) Quản lý học
sinh với các thuộc tính trên Biết rằng việc xếp loại được xác định như sau:
- Nếu tổng điểm toán và văn lớn hơn hoặc bằng 18
thì xếp loại A
- Nếu tổng điểm toán và văn lớn hơn hoặc bằng 14 và nhỏ hơn 18 thì xếp loại B.
- Nếu tổng điểm toán và văn lớn hơn hoặc bằng 10 và nhỏ hơn 14 thì xếp loại C.
- Nếu tổng điểm toán và văn nhỏ hơn 10 thì xếp loại D.
≤
Trang 4CHƯƠNG IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC
Gi¸o viªn: lª thÞ tuyÕt mai
Trang 5SBD Họ tên Ngày sinh Văn Toán Xếp loại
B I TO N À Á ĐẶ T V N Ấ ĐỀ
B¶ng kÕt qu¶ thi
Trường
(Field)
Bản ghi (Record)
Trang 6a Khái niệm: 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.
b Khai báo:
Type
< tên kiểu 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;
Var <tên biến > : <tên kiểu bản ghi>;
1 DỮ LIỆU KIỂU BẢN GHI (RECORD)
Trang 7SBD Họ tên Ngày sinh Văn Toán Xếp loại
Type Hoc sinh = record
SBD: byte;
Hoten: string[30];
Ngaysinh: string[10];
Van, Toan: real;
Xeploai: char;
end;
Var LOP: ARRAY[1 40] of Hoc sinh ;
i,n : integer;
Type
< tên kiểu 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;
Var <tên biến > : <tên kiểu bản ghi>;
Trang 8c) Tham chiếu đến trường của bản ghi
Ví dụ: Để tham đến điểm toán của học sinh thứ i trong lớp ta viết: Lop[i].Toan
1 DỮ LIỆU KIỂU BẢN GHI (RECORD)
<Tên biến bản ghi> <Tên trường>
d) Nhập các phần tử của kiểu bản ghi
Write(‘ Nhap vao so hoc sinh’ );
readln(n);
For i:=1 to n do
Begin
writeln(‘ Nhap thong tin cho hoc sinh thu‘,i:);
Write(‘ SBD: ‘); readln(LOP[i].SBD);
Write(‘Ho ten: ‘); readln(LOP[i].Hoten);
Write(‘Ngay sinh: ‘); readln( LOP[i].Ngaysinh );
Write(‘ Diem toan: ‘);readln(LOP[i].Toan);
Write(‘ Diem Van: ‘);readln(LOP[i].Van);
end;
Trang 910 8
Lê Tuấn Anh
01
8.5 9
Đào Thị Bình
02
…
…
……….
…
8 7
Lê Thị Tuyết
40
Toan Van
Ho ten
02/01/1990
…………
20/10/1991
12/12/1990
e) Xuất các phần tử của kiểu bản ghi
Writeln(‘ BANG KET QUA THI ‘);
For i:=1 to n do
Writeln(Lop[i].Hoten:20,’ xep loai:’,Lop[i].Xep loai:5);
Trang 10a Gán trực tiếp: A:= B ( A, B là hai biến bản ghi cùng kiểu)
b Gán giá trị cho từng trường
2 GÁN GIÁ TRỊ
- Nhập vào từ bàn phím:
Ví dụ: write(‘nhap ho ten:’);
readln(Lop[i].Hoten);
- Dùng câu lệnh gán:
Ví dụ: Lop[i].Hoten := ‘Le TuấnAnh’
Trang 11§Ó 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
Begin
Tong:= LOP[i] Toan + LOP[i] Van;
3 VÍ DỤ
if Tong >= 18 then Lop[i].Xeploai := ‘A’
else
if Tong >=14 then Lop[i].Xeploai:=‘B’
else
if Tong >= 10 then Lop[i].Xeploai:=‘C’ else
Lop[i].Xeploai:=‘D’;
End;
Trang 14CỦNG CỐ
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.
Type
<K iểu bản ghi> = record
<t ờn trường 1>: <kiểu trường 1>;
………
<tờn trường 1>: <kiểu trường 1>;
end;
Var
<t ờn biến bản ghi>: <Kiểu bản ghi> ;
Tham chiếu trường của bản ghi:
<t ờ n b ản ghi>.<t ờ n tr ường >