Bài 13. Kiểu bản ghi
Chia sẻ bởi Thần Phong |
Ngày 10/05/2019 |
58
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
Giáo viên: Phạm Duy Khánh_ Trường THPT Lê Quý Đôn.
NỘI DUNG
Các khái niệm và qui tắc
Khai báo
Gán giá trị
Khanhpham_tp30
Câu hỏi
Để nhận biết một người ta dựa vào những thông tin gì?
Con người có: Họ tên, Tuổi, Ngày tháng năm sinh, Giới tính, Quê quán,…
Để biểu diễn Đối tượng
(ví dụ đối tượng người) trong Pascal ta dùng Kiểu Bản Ghi.
Khanhpham_tp30
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 kiểu dữ liệu khác nhau.
Khanhpham_tp30
Trường
Ngày sinh
Đối tượng
Nhận xét gì?
Trường
Họ tên
Trường
Điểm Lý
Mỗi thuộc tính (hay thông tin) của đối tượng được xem là một trường của bản ghi.
Các trường khác nhau có thể có các kiểu dữ liệu khác nhau.
Mỗi đối tượng được miêu tả bằng một Bản Ghi gồm một hay nhiều trường
KHÁI NIỆM (tt)
Khanhpham_tp30
KẾT LUẬN
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 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.
Khanhpham_tp30
QUI TẮC
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
Khanhpham_tp30
KHAI BÁO
Để khai báo biến bản ghi, thường định nghĩa một kiểu bản ghi sau đó khai báo biến bản ghi đó.
B1:Định nghĩa Kiểu Bản Ghi:
Type = Record
: ;
…
: ;
End;
B2: Khai báo biến Kiểu Bản Ghi:
Var: ;
Var:Array[1..n] Of ;
Khanhpham_tp30
VÍ DỤ
B1: Định nghĩa Kiểu Bản Ghi
Type Hocsinh = Record
Hoten: String[30];
Ngaysinh: String[10];
Gioitinh: Boolean;
Toan,Ly,Hoa,Van,Su,Dia,Tin:Real;
End;
B2: Khai báo biến Kiểu Bản Ghi
Var A,B: Hocsinh;
Lop: Array[1..100] Of Hocsinh;
Khanhpham_tp30
CÁCH THAM CHIẾU ĐẾN TỪNG TRƯỜNG
Để truy cập vào từng trường của bản ghi, ta viết:
.
Với VD trên ta có:
A.Hoten
B.Ngaysinh
Lop[i].Toan
Lop[i].Ly
….
với i là chỉ số nào đó của mảng Lop
Khanhpham_tp30
GÁN GIÁ TRỊ
Có 2 cách để gán giá trị cho bản ghi:
Dùng lệnh gán trực tiếp: nếu A, B là 2 bản ghi cùng kiểu ta có thể gán giá trị của A cho B bằng câu lệnh gán.
Ví dụ: B: = A hoặc A: = B;
Gán giá trị cho từng trường. Dùng câu lệnh gán gán giá trị cho các trường hoặc nhập vào bàn phím.
Ví dụ:
A.Hoten:= ‘Nguyen Van Tuan’;
Readln(A.Ngaysinh)
Khanhpham_tp30
CHÚ Ý
Để gán được giá trị cho biến kiểu bản ghi phải thỏa các điều kiện sau:
Nếu gán trực tiếp 2 bản ghi, vd: A:=B
thì A và B phải cùng kiểu bản ghi.
Vd: var A,B:Hocsinh;
Nếu gán các trường của bản ghi, vd: A.Ngaysinh:=B.Ngaysinh
thì các trường phải cùng kiểu.
Khanhpham_tp30
Chương trình xử lý kết quả thi
Phân tích chương trình (theo SGK/76,77,78)
Input: Nhập vào hồ sơ của từng học sinh gồm:
- Họ tên
- Ngày sinh
- Địa chỉ
- Điểm toán
- Điểm văn
Output: Xếp lọai (A, B, C, D) từng học sinh học sinh dựa vào điểm toán và văn, đồng thời lưu vào hồ sơ của học sinh đó.
Khanhpham_tp30
Câu 1: Định nghĩa kiểu bản ghi HS gồm các trường: Họ tên, Năm sinh, ĐTB
A. VAR HS = RECORD
Hoten: STRING;
NS: INTEGER;
DTB: REAL;
END;
B. VAR HS : RECORD
Hoten: STRING;
NS: INTEGER;
DTB: REAL;
C. TYPE HS : RECORD
Hoten: STRING;
NS: INTEGER;
DTB: REAL;
END;
D. TYPE HS : RECORD
Hoten= STRING;
NS= INTEGER;
DTB= REAL;
END;
Câu 2: Truy cập đến 1 trường của biến bản ghi (RECORD) dùng cú pháp?
A..
B...
C. OF
D..
KiẾN THỨC CẦN NHỚ
Cách định nghĩa một kiểu bản ghi.
Cách khai báo biến bản ghi.
Cách truy xuất tới một trường của bản ghi.
Khanhpham_tp30
Bài 1: 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 ?
BÀI TẬP VỀ NHÀ
Khanhpham_tp30
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:
BÀI TẬP VỀ NHÀ
Khanhpham_tp30
BÀI TẬP VỀ NHÀ
Xem lại các ví dụ.
Làm bài tập 8, 9 (SGK/79).
Khanhpham_tp30
BÀI TẬP VỀ NHÀ
Khanhpham_tp30
Giáo viên: Phạm Duy Khánh_ Trường THPT Lê Quý Đôn.
NỘI DUNG
Các khái niệm và qui tắc
Khai báo
Gán giá trị
Khanhpham_tp30
Câu hỏi
Để nhận biết một người ta dựa vào những thông tin gì?
Con người có: Họ tên, Tuổi, Ngày tháng năm sinh, Giới tính, Quê quán,…
Để biểu diễn Đối tượng
(ví dụ đối tượng người) trong Pascal ta dùng Kiểu Bản Ghi.
Khanhpham_tp30
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 kiểu dữ liệu khác nhau.
Khanhpham_tp30
Trường
Ngày sinh
Đối tượng
Nhận xét gì?
Trường
Họ tên
Trường
Điểm Lý
Mỗi thuộc tính (hay thông tin) của đối tượng được xem là một trường của bản ghi.
Các trường khác nhau có thể có các kiểu dữ liệu khác nhau.
Mỗi đối tượng được miêu tả bằng một Bản Ghi gồm một hay nhiều trường
KHÁI NIỆM (tt)
Khanhpham_tp30
KẾT LUẬN
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 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.
Khanhpham_tp30
QUI TẮC
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
Khanhpham_tp30
KHAI BÁO
Để khai báo biến bản ghi, thường định nghĩa một kiểu bản ghi sau đó khai báo biến bản ghi đó.
B1:Định nghĩa Kiểu Bản Ghi:
Type
…
End;
B2: Khai báo biến Kiểu Bản Ghi:
Var
Var
Khanhpham_tp30
VÍ DỤ
B1: Định nghĩa Kiểu Bản Ghi
Type Hocsinh = Record
Hoten: String[30];
Ngaysinh: String[10];
Gioitinh: Boolean;
Toan,Ly,Hoa,Van,Su,Dia,Tin:Real;
End;
B2: Khai báo biến Kiểu Bản Ghi
Var A,B: Hocsinh;
Lop: Array[1..100] Of Hocsinh;
Khanhpham_tp30
CÁCH THAM CHIẾU ĐẾN TỪNG TRƯỜNG
Để truy cập vào từng trường của bản ghi, ta viết:
Với VD trên ta có:
A.Hoten
B.Ngaysinh
Lop[i].Toan
Lop[i].Ly
….
với i là chỉ số nào đó của mảng Lop
Khanhpham_tp30
GÁN GIÁ TRỊ
Có 2 cách để gán giá trị cho bản ghi:
Dùng lệnh gán trực tiếp: nếu A, B là 2 bản ghi cùng kiểu ta có thể gán giá trị của A cho B bằng câu lệnh gán.
Ví dụ: B: = A hoặc A: = B;
Gán giá trị cho từng trường. Dùng câu lệnh gán gán giá trị cho các trường hoặc nhập vào bàn phím.
Ví dụ:
A.Hoten:= ‘Nguyen Van Tuan’;
Readln(A.Ngaysinh)
Khanhpham_tp30
CHÚ Ý
Để gán được giá trị cho biến kiểu bản ghi phải thỏa các điều kiện sau:
Nếu gán trực tiếp 2 bản ghi, vd: A:=B
thì A và B phải cùng kiểu bản ghi.
Vd: var A,B:Hocsinh;
Nếu gán các trường của bản ghi, vd: A.Ngaysinh:=B.Ngaysinh
thì các trường phải cùng kiểu.
Khanhpham_tp30
Chương trình xử lý kết quả thi
Phân tích chương trình (theo SGK/76,77,78)
Input: Nhập vào hồ sơ của từng học sinh gồm:
- Họ tên
- Ngày sinh
- Địa chỉ
- Điểm toán
- Điểm văn
Output: Xếp lọai (A, B, C, D) từng học sinh học sinh dựa vào điểm toán và văn, đồng thời lưu vào hồ sơ của học sinh đó.
Khanhpham_tp30
Câu 1: Định nghĩa kiểu bản ghi HS gồm các trường: Họ tên, Năm sinh, ĐTB
A. VAR HS = RECORD
Hoten: STRING;
NS: INTEGER;
DTB: REAL;
END;
B. VAR HS : RECORD
Hoten: STRING;
NS: INTEGER;
DTB: REAL;
C. TYPE HS : RECORD
Hoten: STRING;
NS: INTEGER;
DTB: REAL;
END;
D. TYPE HS : RECORD
Hoten= STRING;
NS= INTEGER;
DTB= REAL;
END;
Câu 2: Truy cập đến 1 trường của biến bản ghi (RECORD) dùng cú pháp?
A.
B.
C.
D.
KiẾN THỨC CẦN NHỚ
Cách định nghĩa một kiểu bản ghi.
Cách khai báo biến bản ghi.
Cách truy xuất tới một trường của bản ghi.
Khanhpham_tp30
Bài 1: 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 ?
BÀI TẬP VỀ NHÀ
Khanhpham_tp30
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:
BÀI TẬP VỀ NHÀ
Khanhpham_tp30
BÀI TẬP VỀ NHÀ
Xem lại các ví dụ.
Làm bài tập 8, 9 (SGK/79).
Khanhpham_tp30
BÀI TẬP VỀ NHÀ
Khanhpham_tp30
* 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ẻ: Thần Phong
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)