IMG-LOGO
Trang chủ Lớp 11 Tin học Giải SGK Tin học 11 Chương 4: Kiểu dữ liệu có cấu trúc

Giải SGK Tin học 11 Chương 4: Kiểu dữ liệu có cấu trúc

Bài 13: Kiểu bản ghi

  • 2136 lượt thi

  • 1 câu hỏi

  • 30 phút

Danh sách câu hỏi

Câu 1:

Tin học 11 Bài 13: Kiểu bản ghi

Để học tốt Tin học lớp 11, nội dung bài học là trả lời câu hỏi, giải bài tập Tin học 11 Bài 13: Kiểu bản ghi hay nhất, ngắn gọn. Bên cạnh đó là tóm tắt lý thuyết ngắn gọn và bộ câu hỏi trắc nghiệm Tin 11 Bài 13 có đáp án.

Xem đáp án

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.

Ví dụ: Ta muốn lưu thông tin về sinh viên. Dữ liệu cần lưu trữ bao gồm:

      + Họ tên (Kiểu String).

      + Giới tính (Kiếu String).

      + Điểm số (Kiểu real).

Để lưu trữ nhiều sinh viên ta có thể sử dụng các cách:

      + Khai báo một mảng bản ghi. Mỗi bản ghi sẽ chứa thông tin về một sinh viên (họ tên,giới tính,điểm số).

      + Khai báo 3 mảng 2 mảng String để lưu tên và giới tính 1 mảng kiểu real để lưu điểm số.

Rõ ràng cách đầu tiên thuật tiện để lưu trữ hơn cách thứ hai khi số thuộc tính lớn.

1. Khai báo

Ta cần khai báo 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.

Cú pháp:

Type<tên kiu bn ghi> = record
				<tên trường 1>:<kiu trường 1>;
																	………………………………………………..
				<tên trường 2>:<kiu trường 2>;
			     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 bn ghi>:<tên kiu bn ghi>;

Ví dụ:

	Type
		Hocsinh=record
			Hoten:string[30];
			Ngaysinh:string[10];
			Gioitinh:Boolean;
			Toan,Tin,Van,Anh:real;
	End;
	Var 
	A,b:Hocsinh;
	Lop:array[1..60] of Hocsinh;

Để tham chiếu đến thuộc tính nào ta sự dụng dấu.

Ví dụ:

Tham chiếu đến họ tên của Hocsinh A. Ta sử dụng

A.Hoten

Ta có thể coi A.Hoten như một biến string[30] . Ta hoàn toàn có thể thực hiện so sánh ,gán giá trị...

2. Gán giá trị.

Có 2 cách:

+ Dùng lệnh gán trực tiếp: A:=B (A với B là 2 biến bản ghi).

+ Gán giá trị cho từng trường: A.X:=C hoặc nhập từ bàn phím.

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ọ và tên, ngày 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 (' 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)   
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.

Bắt đầu thi ngay

Bài thi liên quan