Nội dung của Bài 13: Kiểu bản ghi dưới đây, các em sẽ cùng tìm hiểu về một số khái niệm kiểu bản ghi, cách khai báo kiểu, biến, tham chiếu đến trường và phép gán giá trị bản ghi trong Pascal,... Mời các em cùng theo dõi nội dung chi tiết của bài học.
Dữ liệu kiểu bản ghi (record) 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.
Để mô tả kiểu bản ghi ta cần xác định:
Dưới đây giới thiệu cách khai báo kiểu, biến, tham chiếu đến trường và phép gán giá trị bản ghi trong Pascal.
Do dữ liệu kiểu bản ghi thường dùng để mô tả nhiều đối tượng nên ta thường định nghĩa một kiểu bản ghi và sau đó dùng nó để khai báo các biến liên quan.
type < tên kiểu bản ghi > = record
< tên trường 1 > : < kiểu trường 1 >
……………………………….
< 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 >;
Ví dụ 1: Quan sát hình 1 dưới đây và khai báo cho kiểu bản ghi học sinh
const Max =60; {gia thiet si so lop cao nhat la 60}
type
HocSinh = record
HoTen: string[30];
NgaySinh: string[10];
GioiTinh: boolean;
Tin, Toan, Li, Hoa, Van, Su, Dia: Real;
end;
var
A, B: HocSinh;
Lop: array[1..Max] of HocSinh;
Hình 1. Bản ghi học sinh
Có 2 cách để gán giá trị cho biến bản ghi:
Một lớp gồm N (N \(\leq\) 60) học sinh. Cần quản lí học sinh với các thuộc tính như họ và tên, ngày sinh, địa chỉ, điểm toán, điểm văn, xếp loại. Giả sử việc xếp loại được xác định như sau:
Chú ý rằng, trong các thuộc tính cần quản lí, chỉ có 5 thuộc tính đầu là độc lập, còn thuộc tính xếp loại được xác định dựa vào các điểm toán và văn. Để lưu trữ thông tin về học sinh, ta dùng kiểu bản ghi với 6 trường tương ứng với 6 thuộc tính cần quản lí.
Gợi ý làm bài:
Dưới đây là chương trình nhập vào từ bàn phím thông tin của từng học sinh trong lớp, thực hiện xếp loại và đưa ra màn hình kết quả xếp loại học sinh:
program Xep_loai;
uses crt;
const Max = 60;
type HocSinh = record
HoTen:string[30];
NgaySinh:string[10];
DiaChi:string[50];
Toan,Van:real;
XepLoai:char;
end;
var
Lop: array[1..Max] of HocSinh;
N,i: Byte;
begin
clrscr;
write('So luong hoc sinh trong lop N = '); readln(N);
for i:= 1 to N do
begin
writeln('Nhap so lieu ve hoc sinh thu ',i,': ');
write('Ho va ten: ');readln(Lop[i].HoTen);
write('Ngaysinh: ');readln(Lop[i].Ngaysinh);
write('Dia chi: ');readln(Lop[i].DiaChi);
write('Diem Toan: ');readln(Lop[i].Toan);
write('Diem Van: ');readln(Lop[i].Van);
if Lop[i].Toan+Lop[i].Van>=18
then Lop[i].XepLoai:='A';
if (Lop[i].Toan+Lop[i].Van>=14)And
(Lop[i].Toan+Lop[i].Van<18)
then Lop[i].XepLoai:='B';
if (Lop[i].Toan+Lop[i].Van>=10)And
(Lop[i].Toan+Lop[i].Van<14)
then Lop[i].XepLoai:='C'
else Lop[i].XepLoai:='D';
end;
clrscr;
writeln('Danh sach xep loai hoc sinh trong lop:');
for i:= 1 to N do
writeln(Lop[i].HoTen:30,' - Xep loai: ',Lop[i].XepLoai);
readln
end.
Sau khi học xong Bài 13: Kiểu bản ghi, các em cần nắm vững các nội dung trọng tâm:
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 11 Bài 13 cực hay có đáp án và lời giải chi tiết.
Phát biểu nào sau đây về chức năng của kiểu bản ghi là phù hợp nhất?
Phát biểu nào sau đây về bản ghi là không phù hợp?
Câu 3-5: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học DapAnHay sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 11 DapAnHay
Phát biểu nào sau đây về chức năng của kiểu bản ghi là phù hợp nhất?
Phát biểu nào sau đây về bản ghi là không phù hợp?
Cho bản ghi sinh_vien gồm các trường ho_ten, ngay_sinh. Biểu thức nào truy cập đến trường ho_ten của bản ghi này?
Phát biểu nào dưới đây là đúng khi nói về kiểu bản ghi?
Phát biểu nào dưới đây là sai khi nói về kiểu bản ghi?
Họ và tên
Tiêu đề câu hỏi
Nội dung câu hỏi
A. A.Ten := ‘Nguyen Van A’ ;
B. A.Lop := ‘11A7’ ;
C. Readln(A.Diem) ;
D. S := A.Diem ;
Câu trả lời của bạn
Để gán giá trị cho trường có thể thực hiện bằng lệnh gán giá trị cụ thể hoặc nhập từ bàn phím (readln).
Đáp án: D
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> ;
Câu trả lời của bạn
Cấu trúc truy cập từng trường của bản ghi là: <tên biến bản ghi> . <tên trường> ;
Đáp án: C
A. Type CanBo = Record
HoTen : String[30] ;
Namsinh : Integer;
Diachi : String[100] ;
MucLuong : Real ;
PhuCap : Real ;
End;
B. Type CanBo : Record
HoTen : String[30] ;
Namsinh : Integer;
Diachi : String[100] ;
MucLuong : Real ;
PhuCap : Real ;
End;
C. Type CanBo : Record
HoTen : String[30] ;
Namsinh : Integer;
Diachi : String[100] ;
MucLuong : Real ;
PhuCap : Real ;
D. Type CanBo : Record
HoTen : String[30] ;
Namsinh : Integer;
Diachi : String[100] ;
MucLuong : Real ;
PhuCap : Real ;
End.
Câu trả lời của bạn
Cấu trúc 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 k> : < kiểu trường k>;
End;
Đáp án:A
A. Mô tả hay lưu trữ thông tin về nhiều đối tượng cần quản lý ;
B. Mô tả hay lưu trữ thông tin về một thuộc tính cần quản lý ;
C. Mô tả hay lưu trữ thông tin về một đối tượng cần quản lý ;
D. Mô tả hay lưu trữ thông tin về nhiều thuộc tính cần quản lý ;
Câu trả lời của bạn
Trong kiểu dữ liệu bản ghi, mỗi bản ghi thường dùng để mô tả hay lưu trữ các đối tượng có cùng một số thuộc tính cần quản lý mà các thuộc tính có thể có các kiểu dữ liệu khác nhau.
Đáp án: B
Câu trả lời của bạn
Dữ liệu kiểu bản ghi (record) 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.
A. cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó.
B. Cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó.
C. là tệp mà các phần tử của nó được tổ chức theo một cấu trúc nhất định.
D. là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII.
Câu trả lời của bạn
Tệp văn bản là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII. Trong tệp văn bản, dãy kí tự kết thúc bởi kí tự xuống dòng hay kí tự kết thúc tệp tạo thành một dòng.
Đáp án: D
Câu trả lời của bạn
Kiểu bản ghi thường được định nghĩa như sau:
type < tên kiểu bản ghi > = record
< tên trường 1 > : < kiểu trường 1 >
……………………………….
< tên trường k > : < kiểu trường k >;
end;
Câu trả lời của bạn
Để mô tả kiểu bản ghi ta cần xác định:
- Tên kiểu bản ghi;
- Tên các thuộc tính (trường);
- Kiểu dữ liệu của mỗi trường;
- Cách khai báo biến;
- Cách tham chiếu đến trường.
Câu trả lời của bạn
- Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu.
- Khai báo: tên mảng, kiểu chỉ số, kiểu phần tử
- Tham chiếu phần tử mảng một chiều: tên biến mảng[[U1] chỉ số phần tử]
Câu trả lời của bạn
- Cú pháp: < Tên biến bản ghi >. < Tên trường >
Câu trả lời của bạn
- Cách 1. Dùng lệnh gán trực tiếp: Nếu A và B là hai biến bản ghi cùng kiểu và thì ta có thể gán giá trị của B cho A bằng câu lệnh: A:= B;
- Cách 2. Gán giá trị cho từng trường: Có thể thực hiện bằng lệnh gán hoặc nhập từ bàn phím.
Câu trả lời của bạn
- Mảng hai chiều là bảng các phần tử cùng kiểu.
- Khai báo: tên mảng, kiểu chỉ số dòng, kiểu chỉ số cột, kiểu phần tử.
- Tham chiếu phần tử mảng hai chiều: tên biến mảng[chỉ số dòng, chỉ số cét]
Câu trả lời của bạn
- Các thao tác xử lí thường sử dụng:
+ Phép ghép xâu;
+ Phép so sánh;
+ Các thủ tục và hàm chuẩn.
Câu trả lời của bạn
Khai báo kiểu bản ghi: tên bản ghi, tên và kiểu các trường.
Câu trả lời của bạn
Tham chiếu trường của bản ghi: < tên biến bản ghi>.
Câu trả lời của bạn
0 Bình luận
Để lại bình luận
Địa chỉ email của hạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *