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

Để học tốt môn Tin học 11 các em cần có nền tảng kiến thức thật vững chắc, hiểu được điều đó eLib đã biên soạn và tổng hợp nội dung của Bài 13: Kiểu bản ghi dưới đây. Mời các em cùng tham khảo!

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

1. Tóm tắt lý thuyết

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.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 = record

          :;

          :;

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

:;

1.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.

2. Bài tập minh họa

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:

- Nếu tổng điểm toán và văn lớn hơn hoặc bằng 18 thì xếp loại A.

- Nếu tổng điểm toán và văn lớn hơn hoặc bằng 14 và nhỏ hơn 18 thì xếp loại B.

- Nếu tổng điểm toán và văn lớn hơn hoặc bằng 10 và nhỏ hơn 14 thì xếp loại C.

- Nếu tổng điểm toán và văn nhỏ hơn 10 thì xếp loại D.

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í.

Hướng dẫn giả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;

constMax = 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.

3. Luyện tập

3.1. Bài tập tự luận

Câu 1: Cho biến 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?

Câu 2: Trong ngôn ngữ lập trình Pascal, có thể gán giá trị cho bản ghi bằng cách?

Câu 3: Để truy cập vào từng trường của bản ghi ta viết?

Câu 4: Trong kiểu dữ liệu bản ghi, mỗi bản ghi thường được dùng để?

3.2. Bài tập trắc nghiệm

Câu 1: 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?

A. Để mô tả đối tượng chứa nhiều loại thông tin khác nhau

B. Để mô tả nhiều dữ liệu

C. Để mô tả dữ liệu gồm cả số và xâu kí tự

D. Để tạo mảng nhiều chiều

Câu 2: Phát biểu nào sau đây về bản ghi là không phù hợp?

A. Bản ghi là dữ liệu có cấu trúc

B. Bản ghi thường có nhiều trường dữ liệu

C. Trường dữ liệu của bản ghi có thể là một kiểu bản ghi khác

D. Bản ghi thường được dùng để thay thế mảng

Câu 3: Phát biểu nào dưới đây là đúng khi nói về kiểu bản ghi?

A. Kiểu bản ghi là một kiểu dữ liệu có cấu trúc

B. Mỗi bản ghi mô tả một đối tượng, mỗi bản ghi có thể gồm một số thành phần gọi là trường, mỗi trường mô tả một thuộc tính của đối tượng. Giống như kiểu mảng, các thành phần tạo thành một bản ghi phải thuộc cùng một kiểu dữ liệu.

C. Có thể so sánh các bản ghi bất kì với nhau bằng các quan hệ <, >, =, <>

D. Trên các biến bản ghi, ta có thể sử dụng các phép toán số học +,  – , *, /

Câu 4: Phát biểu nào dưới đây là sai khi nói về kiểu bản ghi?

A. Có thể so sánh các bản ghi bất kì với nhau bằng các quan hệ <, >, =, <>

B. Kiểu bản ghi là một kiểu dữ liệu có cấu trúc

C. Với A. B là hai biến bản ghi thì ta chỉ có thể dùng lệnh gán A := B trong trường hợp A và  B là cùng kiểu

D. Kiểu bản ghi cho chúng ta một phương thức xây dựng các kiểu dữ liệu mới một cách linh hoạt và phong phú. Kiểu bản ghi thường được dùng để mô tả các đối tượng trong các bài toán quản lí

Câu 5: Câu lệnh nào trong các câu lệnh sau không dùng để gán giá trị cho trường của bản ghi A? (với bản ghi A có 3 trường là Ten, Lop, Diem)

A. A.Ten := ‘Nguyen Van A’ ;

B. A.Lop := ‘11A7’ ;

C. Readln(A.Diem) ;

D. S := A.Diem ;     

4. Kết luận

Thông qua nội dung bài học 13 SGK Tin học 11 các em nắm được những nội dung sau đây:

  • Biết được mục đích của bản ghi
  • Biết cách khai báo bản ghi, truy cập đến các trường.
  • Biết sử dụng một số thao tác về bản ghi.
  • Rèn luyện ý thức học tập, tư duy logic.
Ngày:11/09/2020 Chia sẻ bởi:Tuyết Trịnh

CÓ THỂ BẠN QUAN TÂM