Design by Đoàn Thị Hòa 1
Design by Đoàn Th Hòaị 2
Trong chương IV các em đã được làm Trong chương IV các em đã được làm quen với những kiểu dữ liệu nào?quen với những kiểu dữ liệu nào?
Kiểu mảngKiểu mảng
Kiểu xâuKiểu xâu
Design by Đoàn Th Hòaị 3
Dữ liệu trong một mảng hoặc một xâu có những đặc điểm gì giống nhau?
• Cùng kiểu dữ liệu
Design by Đoàn Th Hòaị 4
Bảng kết quả thi
71096.5Nam12/07/1991Đào Văn Bình
7.5108.59Nam02/01/1990Dương Trúc Lâm
87.5109Nữ12/12/1990Nguyễn Thị Minh Huệ
Điểm Hóa
Điểm Lý
Điểm Toán
Điểm Tin
Giới tính
Ngày sinhHọ và tên
string string boolean realBản ghi(record)
Thuộc tính
Bảng gồm: … đối tượng( record), … thuộc tính.
1
2
3
1 2 3 4 5 6 7
1. Một số khái niệm
Trường
Design by Đoàn Th Hòaị 5
a. Dữ liệu kiểu bản ghi (record): là kiểu dữ liệu 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ó các kiểu dữ liệu khác nhau
b. Bản ghi: Là thông tin của một đối tượng.
Kết luận: Kiểu bản ghi là kiểu dữ liệu có cấu trúc.
Một bản ghi có thể có nhiều trường khác nhau
Design by Đoàn Th Hòaị 6
2. Khai báo biến 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>;
…………………………………..
end;
var <tên biến bản ghi> : <tên kiểu bản ghi>;
a. Khai báo
Khai báo kiểu dữ liệu bản ghi
Khai báo biến kiểu bản ghi (record)
Design by Đoàn Th Hòaị 7
type Hocsinh = record
Hoten : string [30] ;
Ngaysinh: string[10];
Gioitinh : boolean ;
Tin, Toan, Ly, Hoa: real;
end;
var A, B : Hocsinh ;
71096.5Nam12/07/1991Đào Văn Bình
7.5108.59Nam02/01/1990Dương Trúc Lâm
87.5109Nữ12/12/1990Nguyễn Thị Minh Huệ
Điểm HóaĐiểm LýĐiểm ToánĐiểm TinGiới tính
Ngày sinhHọ và tên
Bảng kết quả thi
Khai báo kiểu dữ liệu bản ghi
Khai báo biến kiểu bản ghi (record)
Ví dụ 1
Design by Đoàn Th Hòaị 8
Lớp 11A17 có 46 học sinh.Làm thế nào để quản lý lớp học đó?
Mảng các bản ghi
học sinh => bản ghi
Dùng
1 146 46
type Hocsinh = record
Hoten : string [30] ;
Ngaysinh: string[10];
Gioitinh : boolean ;
Tin, Toan, Ly, Hoa: real;
end;
var A, B : Hocsinh ;
Lop: array [1..46] of Hocsinh;
Design by Đoàn Th Hòaị 9
Ví dụ 2: Hãy khai báo biến bản ghi “Sach” cho bảng sau:
33000320Lê Văn CVăn
21000217Nguyễn Thị BToán
11000139Trần Văn ATin học
Giá tiềnSố trangTác giảTên sách
type Sach = record
Tensach : string [20] ;
Tacgia : string[30] ;
Sotrang: integer;
Giatien: longint;
end;
var A, B : Sach ;
Kesach: array [1..100] of Sach;
Design by Đoàn Th Hòaị 10
Ví dụ
A. Hoten;
B. Ngaysinh;
Lop[i]. Toan;
Lop[i].Ly;
……… với i là chỉ số của mảng Lop
b. Cách tham chiếu đến trường của bản ghi
< Tên biến bản ghi > . <Tên trường>;
Design by Đoàn Th Hòaị 11
Lop[1]. Hoten chỉ thông tin gì?
Trả lời: Thông tin về họ tên của học sinh thứ 1 trong Lop
Ví dụ 1:
Ví dụ 2: Cách tham chiếu đến điểm Tin học của học sinh A?
Trả lời: A. Tinhoc
Design by Đoàn Th Hòaị 12
3. Các thao tác với biến bản ghi
a. Nhập/ xuất biến bản ghi
Nhập: READ (READLN)
Xuất: WRITE (WRITELN)
Design by Đoàn Th Hòaị 13
type Hocsinh = record
Hoten : string [30] ;
Ngaysinh : string[10] ;
Gioitinh: boolean;
Tin, Toan, Ly, Hoa: real;
end;
var A, B : Hocsinh ;
Lop: array [1..100] of Hocsinh;
Ví dụ:
readln(A. Hoten);
writeln(A. Hoten);
Design by Đoàn Th Hòaị 14
b. Phép gán: Có 2 trường hợp
A := B
Ví dụ: A. Diemtoan := B. Diemtin;
B. Hoten := ‘pé heo’;
Hoặc readln(A. Ngaysinh);
TH1: Gán trực tiếp
TH2: Gán giá trị cho từng trường:
Lưu ý: A và B phải cùng kiểu bản ghi
Design by Đoàn Th Hòaị 15
4. Trò chơi
NHANH TAY - L ẸM TẮ
Design by Đoàn Th Hòaị 16
4
2 3
75 6
112 3
4 5 6 7
Design by Đoàn Th Hòaị 17
Type Hocsinh record
Hoten: string[30];
Ngaysinh:string[10];
Var A, B: Hocsinh;
Lop: array[1..50] Hocsinh;
1
A. 1
C. 3 D. 4
B. 2
=
end ;
of
Khai báo sau có bao nhiêu lỗi sai?
Design by Đoàn Th Hòaị 18
2 Kiểu bản ghi là gì?
Dùng để mô tả các đối tượng có cùng thuộc tính
Các thuộc tính có thể có các kiểu dữ liệu khác nhau
Là kiểu dữ liệu có cấu trúc
Cả A, B, C đều đúng
A
B
C
D
Design by Đoàn Th Hòaị 19
3 Cú pháp tham chiếu đến từng trường của kiểu bản ghi?
A
B
C
D
<Tên biến>[chỉ số phẩn tử];
< Tên bản ghi> <Tên trường>;
<Tên biến>[Chỉ số hàng, chỉ số cột];
Cả 3 câu A, B, C đều sai
Design by Đoàn Th Hòaị 20
4 Để tham chiếu đến điểm Tin của học sinh A ta dùng lệnh nào trong các lệnh dưới đây?
A
B
C
D
A [DiemTin];
A. [DiemTin];
A. DiemTin;
Cả 3 câu A, B, C đều sai
Design by Đoàn Th Hòaị 21
5 Cho bản ghi sau:
Type Nguoi = record
HoTen: string[30];
GioiTinh: boolean;
DiaChi: string[50];
SDT: longint;
end;
Var A, B: Nguoi;
KhachHang: array[1..100] of Nguoi;
Lệnh gán nào sau đây là sai?
A. A:= B
C. A. GioiTinh := B.GioiTinh
B. A. DiaChi := B. SDT
D. A. HoTen := B. HoTen
Design by Đoàn Th Hòaị 22
6 Câu lệnh nào sau đây không dùng để nhập họ tên của A?
A
B
C
D
Readln(A.HoTen);
Writeln(A. Hoten);
A. HoTen:=‘Nguyễn Thị Linh’;
Cả 3 câu A, B, C đều sai
Design by Đoàn Th Hòaị 23
7 Dựa vào bản ghi bên dưới hãy cho biết câu lệnh nào sau đây là đúng?
Type Nguoi = record
HoTen: string[30];
GioiTinh: boolean;
DiaChi: string[50];
SDT: longint;
end;
Var A, B: Nguoi;
KhachHang: array[1..100] of Nguoi;
A. A. GioiTinh:=‘True’;
C. A. GioiTinh = B.GioiTinh;
B. A. GioiTinh =True;
D. Tất cả 3 câu trên đều sai
Design by Đoàn Th Hòaị 24
TH E END