Chương 4. Kiểu dữ liệu có cấu trúc

Lý thuyết: Kiểu bản ghi trang 74 SGK Tin học 11

- 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

Hocsinh = 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 hoặ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 loạ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:

Fqa.vn
Bình chọn:
0/5 (0 đánh giá)
Báo cáo nội dung câu hỏi
Bình luận (0)
Bạn cần đăng nhập để bình luận
Bạn chắc chắn muốn xóa nội dung này ?

Chương bài liên quan

FQA.vn Nền tảng kết nối cộng đồng hỗ trợ giải bài tập học sinh trong khối K12. Sản phẩm được phát triển bởi CÔNG TY TNHH CÔNG NGHỆ GIA ĐÌNH (FTECH CO., LTD)
Điện thoại: 1900636019 Email: info@fqa.vn
Location Địa chỉ: Số 21 Ngõ Giếng, Phố Đông Các, Phường Ô Chợ Dừa, Quận Đống Đa, Thành phố Hà Nội, Việt Nam.
Tải ứng dụng FQA
Người chịu trách nhiệm quản lý nội dung: Nguyễn Tuấn Quang Giấy phép thiết lập MXH số 07/GP-BTTTT do Bộ Thông tin và Truyền thông cấp ngày 05/01/2024
Copyright © 2023 fqa.vn All Rights Reserved