Tải bản đầy đủ (.ppt) (21 trang)

Kiểu bản ghi lop 11

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.1 MB, 21 trang )

S giáo dục và đào tạo phú thọ
Trờng THPT TX phó THä
----------***------------

GV: Nguyễn Thu Huyền


Tiết 33 : Bài 13

KIỂU BẢN GHI


Trêng
(Field)

Họ và tên

BÀI TỐN NÊU VẤN ĐỀ
B¶ng kÕt qu¶
thi Giới Điểm Điểm
Ngày sinh
tính

Tốn



Điểm
Hóa

Điểm


Văn

Điểm
Tin

Lê Văn Anh

22/10/2001

Nam

8

9

7

7

8

Nguyễn Thanh Bình

19/06/2001

Nữ

9

8


7

8

9

06/02/2001

Nam

7

8

9

8

7

….
Nguyễn Vũ

Trường
Họ tên

Trường
Ngày
sinh


Trường
Điểm



1. KHÁI NIỆM KIỂU BẢN GHI
Giảm tải chương trình (Đọc SGK trang 74)



2. KHAI BÁO KIỂU 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 2>: < kiểu trường 2>;
………………………………….;
<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 >;


THAM CHIẾU TỚI KÍ TỰ CỦA XÂU
Cấu trúc khi tham chiếu đến từng trường
của biến bản ghi?

<tên biến bản ghi>. <tên trường>

Ví dụ:


A.Hoten
B.NgaySinh
Lop[i].Toan
Lop[i].Ly

Với i là chỉ số nào đó của mảng Lop


B¶ng kÕt qu¶
thi

Type
Hocsinh = record
SBD: integer;
Hoten: string[30];
Ngaysinh:String[10];
Gioitinh:Boolean;
Toan,Van,Ly,Hoa,Su,Dia,Tin : real;
end;
Var
LOP: ARRAY[1..55] of Hocsinh;
i,j,n : integer;

Khai báo dữ liệu cho
các trường (field)

Khai báo biến kiểu
bản ghi (record)



3. Gán giá trị
Cú 2 cỏch gỏn giỏ tr cho bản ghi:
• Dùng lệnh gán trực tiếp: nếu A, B là 2 bản ghi cùng
kiểu ta có thể gán giá trị của A cho B bằng câu lệnh
gán.
– Ví dụ: B: = A hoặc A: = B;
• Gán giá trị cho từng trường: Dùng câu lệnh gán gán
giá trị cho các trường hoặc nhập vào bàn phím.
– Ví dụ: <tên biến bản ghi>. <tên trường>:=<giá trị trường>;
A.Hoten:= ‘Nguyen Van Tuan’;
Readln(A.Ngaysinh);


CHÚ Ý

Để gán được giá trị cho biến kiểu bản ghi phải
thỏa các điều kiện sau:
– Nếu gán trực tiếp 2 bản ghi, vd: A:=B
thì A và B phải cùng kiểu bản ghi.
Vd: var A,B:Hocsinh;
– Nếu gán các trường của bản ghi, vd:
A.Ngaysinh:=B.Ngaysinh
thì các trường phải cùng kiểu.


VÝ dơ mét líp gåm N(N<=60) häc sinh . CÇn quản lý học
sinh với các thuộc tính nh họ tên, ngày sinh, địa chỉ,
điểm toán, điểm văn, xếp loại.



Nhập thông tin cho từng học sinh

- Nhập số học sinh
- Nhập dữ kiệu (các
trường) của bản ghi

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 va ten : ‘); readln(LOP[i].Hoten);
Write(‘Ngay Sinh : ‘); readln(LOP[i].Ngaysinh);
Write(‘Gioi tinh : ‘); readln(LOP[i].Gioitinh);
Write(‘ Diem toan : ‘);readln(LOP[i].Toan);
Write(‘ Diem van : ‘);readln(LOP[i].Van);
end;


Các thao tác xử lí trong bản ghi

- Tính tổng điểm Văn
và điểm toán của từng
học sinh trong lớp
- NÕu tổng điểm
Toán và Văn >=
18 thì xếp loại A.

For i:=1 to n do

LOP[i].Tong:= LOP[i].Toan + LOP[i].Van;

If LOP[i].Toan + LOP[i].Van >= 18
then
LOP[i].XepLoai:= ‘A’;


In dữ liệu kiểu bản ghi

Thông báo in

Writeln(‘ Danh sach xep loai hoc sinh trong lop ‘);
For i:=1 to n do

In bảng dữ liệu
Writeln(LOP[i].Hoten:30.’ – XepLoai : ‘,
LOP[i].Xeploai);



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 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
ờnggiá trị cho từng tr
tr
Gán
ờng của bản ghi hoặc
giữa hai biÕn cïng kiÓu.


Trong NNLT Pascal, để khai báo kiểu bản ghi để xử lý danh sách
cán bộ của một cơ quan, khai báo kiểu bản ghi nào trong các khai báo
sau là đúng? (Bản ghi có cấu trúc gồm 5 trường: Họ tên, năm sinh, địa
chỉ, mức lương, phụ cấp).
Type
A
Canbo : record
Hoten : string[30];
Namsinh: integer;

Type
B
Canbo = record
Hoten : string[30];

Namsinh: integer;

Diachi : string[90];
Mucluong: Real;
Phucap: Real;

Diachi : string[90];
Mucluong: Real;
Phucap: Real;

End;

End;

Type
C
Canbo = record;
Hoten : string[30];
Namsinh: integer;

Type
D
Canbo = record
Hoten : string[30];
Namsinh: integer;

Diachi : string[90];
Mucluong: Real;
Phucap: Real;


Diachi : string[90];
Mucluong: Real;
Phucap: Real;

End;

End.


Để truy cập vào từng trường của bản ghi ta viết?

A. <Tên biến bản ghi>.<Giá trị của trường>
B. <Tên kiểu bản ghi>.<Tên trường>
C. <Tên biến bản ghi>.<Tên trường>
D. <Tên kiểu bản ghi>.<Giá trị của trường>


Bµi tËp vỊ nhµ
Viết chương trình nhập dữ liệu cho phiếu
kiểm tra sức khỏe của học sinh lớp 11A gồm
các trường sau: họ và tên, giới tính, chiều
cao, cân nặng. Sau đó hiển thị dữ liệu vừa
nhập ra màn hình?
 Học và làm thêm bài tâp 10 11
(SGK 80)
-------o0o-------





Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×