Bài tập  /  Bài đang cần trả lời

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ó các kiểu dữ liệu khác nhau;

1 trả lời
Hỏi chi tiết
624
0
0
Nguyễn Thị Thảo Vân
08/09/2017 01:56:20
- 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ó các kiểu dữ liệu khác nhau;
- Kiểu bản ghi là một kiểu dữ liệu có cấu trúc. Một bản ghi gồm các thành phần (gọi là trường), khác với các kiểu dữ liệu có cấu trúc khác (mảng và xâu), các trường có thể thuộc các kiểu dữ liệu khác nhau;
- Kiểu bản ghi cho phép mô tả nhiều đối tượng cỏ cùng một số thuộc tính, có hữu ích cho nhiều bài toán quản lí;
- Ngôn ngữ lập trình đưa ra quy tắc, cách thức 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.
1. Khai báo
- Các thông tin cần khai báo bao gồm tên kiểu bàn ghi, tên các thuộc tính, kiểu dữ liệu của mỗi thuộc tính.

type <tên kiểu bản ghi> = record
<tên trường 1>:<kiểu trường 1>
<tên trường m>:<kiếu trường m>
end;
Sau khi có kiểu bản ghi, biến kiểu bản ghi có thể được khai báo như sau:
var
<tên biến bàn ghi>: <tên kiểu bản ghi>;
Ví dụ
Trong chương trình xử lí kết quả tốt nghiệp có thể sử dụng khai báo sau đây: const Max= 60; {gia thiet si so lop cao nhat la 60}
A, B: HocSinh;
Lop: array[1..Max] of HocSinh;
- Nếu A là biến kiểu bản ghi và X là tên một trường của A, thì để tham chiếu đến trường X, ta viết:
A.x
- Để tham chiếu đến điểm thi tin học của học sinh A ta viết:
A.Tin
type
Hocsỉnh = record
HoTen: string[30];
NgaySinh: string[10];
GioiTinh: boolean;
Tin, Toan, Li, Hoa, Van, Su, Dia: Heal;
End;
var
A, B: HocSinh;
Lop: array[1..Max] of HocSinh;
- Nếu A là biến kiểu bản ghi và X là tên một trường của A, thi để tham chiếu đến trường X, ta viết:
- Để tham chiếu đến điểm thi tin học của học sinh A ta viết:

A.Tin
2. Gán giá trị
Có hai cách để gán giá trị cho biến bản ghi:
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, 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 hcặc nhập từ bàn phím.
Vi dụ: 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 toại học sinh:
program xep_loai;
USRS 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 (‘ Ngay sinh : ‘); 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’;
if    (Lop[i].Toan+Lop[i].Van<=10)    and
then 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.
 Kết quả của chương trình sau khi nhập dữ liệu của 10 em học sinh như hình 58 dưới đây:

 
 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập liên quan

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Gia sư Lazi Gia sư
×
Trợ lý ảo Trợ lý ảo