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

Xem toàn bộ tài liệu Lớp 11: tại đây

Giải Bài Tập Tin Học 11 – Bài 13: Kiểu bản ghi giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

    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 kiểu bản ghi> = record
    				<tên trường 1>:<kiểu trường 1>;
    																	………………………………………………..
    				<tên trường 2>:<kiểu 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 bản ghi>:<tên kiểu bản 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ài giải này có hữu ích với bạn không?

    Bấm vào một ngôi sao để đánh giá!

    Đánh giá trung bình 5 / 5. Số lượt đánh giá: 1066

    Chưa có ai đánh giá! Hãy là người đầu tiên đánh giá bài này.

    --Chọn Bài--

    Tài liệu trên trang là MIỄN PHÍ, các bạn vui lòng KHÔNG trả phí dưới BẤT KỲ hình thức nào!

    Tải xuống