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

Chia sẻ bởi Lê Nguyễn Thúy Hằng | Ngày 10/05/2019 | 76

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:

THAO GIảNG Chào mừng 8 - 3
Giáo viên giảng dạy: Lª NguyÔn Thóy H»ng
Trường THPT Chu Văn An
Kiểm tra bài cũ:
Hãy nêu các kiểu dữ liệu mà em đã học ?
Câu h?i:
Đáp án:
1. Kiểu dữ liệu chuẩn:
- Kiểu nguyên
- Kiểu thực
- Kiểu kí tự
- Kiểu lôgic
2. Kiểu dữ liệu có cấu trúc:
- Kiểu mảng
- Kiểu xâu
Bảng kết quả thi
Bài
13
Tiết 31:
Để mô tả các đối tượng như trên, ngôn ngữ lập trình cho phép ta xác định kiểu bản ghi.
Mỗi thuộc tính của đối tượng tương ứng với một trường của bản ghi.
1. Giới thiệu về kiểu bản ghi:

Các em hãy quan sát và cho biết trên bảng có những thông tin gì ?

Bảng trên chứa thông tin của bao nhiêu đối tượng ?

Các trường khác nhau có thể có các kiểu dữ liệu khác nhau.
Bảng kết quả thi
Mỗi đối tượng được mô tả bằng một bản ghi.
Ví d?:
1. Giới thiệu về kiểu bản ghi:

Đối với kiểu bản ghi, ngôn ngữ lập trình đưa ra quy tắc, cách thức xác định các thành phần nào ?

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;
? Khái niệm: 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 dữ liệu khác nhau.
2. Khai báo và tham chiếu:
a) Khai báo:

Để khai báo kiểu bản ghi ta cần phải khai báo những thông tin nào ?
- Các thông tin cần khai báo bao gồm:
? - Kiểu bản ghi được định nghĩa như sau:
type = record
: ;
...........................................................
: ;
end;
var : ;
- Biến kiểu bản ghi được khai báo như sau:
tên kiểu bản ghi,
tên các
trường,
kiểu dữ liệu của mỗi trường, tên biến bản ghi.
*Giải thích:
2. Khai báo và tham chiếu:
a) Khai báo:
B?n ghi HS g?m các thông tin:
Hoten,
Ngaysinh,
Gioitinh
và�di?m 7 môn thi: Tin, Toan, Li, Hoa, Van, Su, Dia.
type = record
: ;
...........................................................
: ;
end;
var : ;
Bảng kết quả thi
Ví d?:
STT,
type HS = record
STT: Byte;
Hoten : string[30];
Ngaysinh : string[10];
Gioitinh : boolean;
Tin, Toan, Li, Hoa, Van, Su, Dia : real;
end;
var A, B: HS;
Khai báo kiểu dữ liệu cho các trường (field)
Khai báo biến kiểu bản ghi (record)
? Ví d?:
Để giải quyết bài toán trên ta có thể khai báo LOP là một mảng một chiều,
c?a m?ng là m?t b?n ghi HS,
m?i b?n ghi HS g?m các thông tin:
Hoten,
Ngaysinh,
Gioitinh
và�di?m 7 môn thi: Tin, Toan, Li, Hoa, Van, Su, Dia.
m?i ph?n t?
Bảng kết quả thi
STT,
type HS = record
STT: Byte;
Hoten : string[30];
Ngaysinh : string[10];
Gioitinh : boolean;
Tin, Toan, Li, Hoa, Van, Su, Dia : real;
end;
var LOP : array [1..50] of HS;
2. Khai báo và tham chiếu:
b) Tham chiếu:
- Ta có khai báo sau:
type HS = record
STT: Byte;
Hoten : string[30];
Ngaysinh : string[10];
Gioitinh : boolean;
Tin,Toan,Li,Hoa,Van,Su,Dia : real;
end;
var A , B : HS;

? - Để tham chiếu đến một trường của bản ghi ta thực hiện theo cú pháp sau:
. ;
A.Hoten
A.Tin
- Ví dụ:
B.Toan
a) Gán giá trị:

Có mấy cách để gán giá trị cho biến bản ghi ?

- Có 2 cách:
Dùng lệnh gán trực tiếp.
Gán giá trị cho từng trường.
? Cách 1: Dùng lệnh gán trực tiếp:
A := B;
Lưu ý:
Chỉ được dùng lệnh gán trực tiếp khi hai biến bản ghi có cùng kiểu.
3. Gán và nhập/xuất giá trị cho biến bản ghi:
Ngaysinh
gioitinh
hoten
Ngaysinh
gioitinh
hoten
21/11/92
True
21/11/92
True
Nguyen An
Nguyen An
A.hoten := B.hoten
A.Ngaysinh := B.Ngaysinh
A.gioitinh := B.gioitinh
A:= B;
type HS = record
hoten : string[30];
Ngaysinh : string[10];
gioitinh : boolean;
end;
var A , B : HS;
- Ta có khai báo:
? Ví d?:
a) Gán giá trị:
? Cách 2:
A.Hoten := B.Hoten;
A.Hoten := `Dao Van Binh`;
3. Gán và nhập/xuất giá trị cho biến bản ghi:
A.Tin := 7.5;
Thực hiện bằng lệnh gán giá trị cho từng trường:
- Nhập từ bàn phím: (Dùng lệnh nhập)
Ví d?:
.:=;
b) Nhập/xuất giá trị cho biến bản ghi:
- Để nhập/xuất giá trị cho biến bản ghi ta phải viết lệnh nhập hoặc xuất giá trị cho từng trường.
3. Gán và nhập/xuất giá trị cho biến bản ghi:
 Nhập:
Write (. );
Read (A .hoten); Readln (B.toan); Readln (Lop[i].tin);
Ví dụ:
Read (. );
Ví dụ:
? Xu?t:
Write (A.hoten);
Writeln (B.toan);
Writeln (Lop[i].tin);
Readln (. );
Writeln (. );
Nhập giá trị cho trường hoten của bản ghi A, trường toan của bản ghi B và tin của bản ghi Lop[i]
1. Giới thiệu về kiểu bản ghi:
2. Khai báo và tham chiếu:
Tiết 31: Kiểu bản ghi
var : ;
type = record
: ;
...........................................................
: ;
end;
* Tham chiếu:
. ;
* Khai báo:
3. Gán và nhập/xuất giá trị cho
biến bản ghi:
* Gán giá trị:
* Nhập/xuất giá trị cho biến bản ghi:
- C1: Dùng lệnh gán trực tiếp.
- C2: Gán giá trị cho từng trường.
- Nhập: Readln (.);
- Xuất: Writeln (. );
Trong các khai báo sau, khai báo nào đúng ?
C. Type Hocsinh = Record
HoTen : string[30];
Ngaysinh : string[10];
SBD : integer;
End;
Var hs : Hocsinh;
C
B. Type Manghs : Record
HoTen : string[30];
Ngaysinh : string[10];
SBD : integer;
End;
Var hs : Manghs;
D. Type HSinh = Record
HoTen : string[30];
Ngaysinh : string[10];
SBD : integer;
Var hs = HSinh;
A. Type Hocsinh = Record;
HoTen : string[30];
Ngaysinh : string[10];
SBD : integer;
End;
Var hs : Hocsinh;
Viết chương trình giải quyết bài toán quản lý sau: Nhập họ và tên, điểm lý thuyết, điểm thực hành của 30 học viên trong lớp Tin học. In ra màn hình họ tên, điểm trung bình của 30 học viên đó với DTB := (LT + TH*2)/3

Sử dụng kiểu dữ liệu như thế nào để giải quyết bài toán ?

Các bước để giải bài toán trên:
Bước 1: Tạo kiểu dữ liệu, khai báo biến.
Bước 2: Nhập dữ liệu cho mảng bản ghi.
Bước 3: Tính DTB := (LT + TH*2)/3
In ra màn hình họ tên và DTB của các HV.
Hướng dẫn:
Xin chân thành cảm ơn sự quan tâm theo dõi của quý thầy cô !
* 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ẻ: Lê Nguyễn Thúy Hằng
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)