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

Chia sẻ bởi Võ Thị Mỹ Hạnh | Ngày 10/05/2019 | 47

Chia sẻ tài liệu: Bài 13. Kiểu bản ghi thuộc Tin học 11

Nội dung tài liệu:

Bài 13
KIỂU BẢN GHI
ĐẶT VẤN ĐỀ:
Ví Dụ: Bảng Kết Qủa Thi gồm thông tin về các thí sinh như sau:
Bản ghi (record)
Trường (Field)
-Dữ Liệu Kiểu Bản Ghi (Record) :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.Khai Báo.
-Kiểu Bản ghi thường được định nghĩa như sau:

Type = record
: ;
…………………….
: ;
End;
-Biến Bản ghi có thể được khai báo :
Var
:;
:array[1…50] of



Ví Dụ: Khai báo Bảng Kết quả thi
Type
Hocsinh=record
HoTen:string[30];
Ngaysinh:string[10];
Gioitinh: boolean;
Tin,Toan,Li,Hoa,Van,Su: real;
End;
Var
A,B : Hocsinh;
Lop:array[1..60] of Hocsinh;
-Khai báo kiểu dữ liệu cho các trường.
-Khai báo biến kiểu bản ghi .
2.Gán giá trị
*Có 2 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
A:=B;
Nếu A,B là hai biến bản ghi cùng kiểu .Gía trị dữ liệu trong các trường của bản ghi B sẽ gán cho bản ghi A.
Cách 2: Gán giá trị cho từng trường
A.hoten:=B.hoten;
A.tin:=B.tin;
Khi tham chiếu đến các trường của bản ghi:
tên biến bản ghi.tên trường.
3.Các thao tác với bản ghi
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.
Địa chỉ.
Điểm toán.
Điểm văn.
Xếp loại.
-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.
*Cách thực hiện:
-Phần khai báo:
Type Hocsinh=record
Hoten:string[30];
Ngaysinh:string[10];
Diachi:string[50];
Toan,Van:real;
Xeploai:char;
end;
Var Lop:mang[1..60] of Hocsinh;
N,i:byte;
-Nhập số liệu học sinh:
Writeln(‘nhap so lieu 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);
-Thực hiện cách xếp loại như thế nào?
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’;


-Hiển thị kết quả ra màn hình ?
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;
-Chương trình nhập thông tin của từng học sinh và việc thực hiện xếp loại ,đưa ra mán hình kết quả xếp loại từng học 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:mang[1..60] 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 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’;
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;


-Củng cố bài học:
1.Cách khai báo trong bản ghi?

2.Cách gán giá trị trong bản ghi?
Tham chiếu đến một trường trong bản ghi?

Home
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Võ Thị Mỹ Hạnh
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)