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

Chia sẻ bởi Nguyễn Đào Bích Giang | Ngày 10/05/2019 | 62

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:

CHÀO MỪNG QUÝ THẦY CÔ ĐẾN DỰ GIỜ LỚP 11B2
Chào mừng quý thầy cô
đến tham dự tiết học ngày hôm nay
Lớp 11B2
Var sbd,toan,van : integer;
Hoten : String[30];
Dtb : real;
Kq : boolean;
Bài 13:
Kiểu bản ghi
Khái niệm và các quy tắc cơ bản
Khai báo kiểu bản ghi
Thao tác với bản ghi
Tiết 33
1. Khái niệm và các quy tắc cơ bản
+ Mỗi dòng (đối tượng) được gọi là một RECORD (bản ghi), mỗi cột (thuộc tính) là một FIELD (trường).
+ Mỗi bản ghi (record) có thể có một hay nhiều trường.
+ Các trường khác nhau có thể có các kiểu dữ liệu khác nhau.
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.
Trường
Bản ghi
1. Khái niệm và các quy tắc cơ bản
1. Khái niệm và các quy tắc cơ bản
Xác định có bao nhiêu đối tượng, các thuộc tính và kiểu dữ liệu của các thuộc tính của bản ghi (Record)?
Ví dụ: Kết quả kiểm tra sức khỏe học sinh được ghi trên phiếu có dạng sau:
1. Khái niệm và các quy tắc cơ bản
Các đối tượng:
+ có 3 đối tượng
Các thuộc tính:
+ Họ và tên + Giới tính
+ Chiều cao + Cân nặng
Kiểu dữ liệu:
+ Họ và tên: String + Giới tính: Boolean
+ Chiều cao, cân nặng: real
Đáp án:
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.
1. Khái niệm và các quy tắc cơ bản
1. Khái niệm và các quy tắc cơ bản
b. Các quy tắc cơ bản:
Quy tắc, cách thức xác định kiểu bản ghi gồm:
- Tên kiểu bản ghi.
- Tên các thuộc tính.
- Kiểu dữ liệu của mỗi trường
- Cách tham chiếu đến từng trường
Khai báo biến
2. Khai báo biến
Cú pháp: Để 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 đó.
Type = Record
: ;
: ;
…………………………………………
: ;
End;
B1:Định nghĩa Kiểu Bản Ghi:
a. Khai báo:
2. Khai báo biến
Var : ;
B2: Khai báo biến Kiểu Bản Ghi:
Trong đó:
: là tên kiểu bản ghi do người lập trình đặt
: là tên các thuộc tính
: là kiểu dữ liệu của thuộc tính
: là tên biến bản ghi do người lập trình đặt
2. Khai báo biến
Ví dụ: Hãy khai báo biến cho bảng sau:
Type = Record
: ;
: ;
…………………………………………
: ;
End;
Var : ;
TYPE Hocsinh = RECORD
sbd : integer;
Ht: String[30];
ngaysinh: date;
van,toan:real;
xeploai : boolean;
END;
VAR hs1,hs2,hs3,hs4: Hocsinh;
2. Khai báo biến
Tình huống phát sinh:
Khai báo 48 đối tượng học sinh lớp 11B2 tương ứng với 48 bản ghi thì phải làm thế nào?
Var Lop:Array [1..48] of hocsinh;
Khai báo một mảng có 48 phần tử có kiểu phần tử là tên kiểu bản ghi
Tên mảng
Tên kiểu bản ghi
Chỉ số mảng
TYPE Hocsinh = RECORD
sbd : integer;
Ht: String[30];
ngaysinh: string[10];
van,toan:real;
xeploai : boolean;
END;
VAR Lop: Array [1..48] of Hocsinh;
2. Khai báo biến
2. Khai báo biến
b. Tham chiếu đến từng trường của bản ghi:
Để truy cập vào từng trường của bản ghi, ta viết:
.
Ví dụ:
hs1.Hoten : tham chiếu đến trường Họ tên của biến bản ghi hs1
Lop[i].Toan : tham chiếu đến điểm toán của học sinh thứ i trong lớp
Tham chiếu đến điểm lý của học sinh thứ i trong lớp
Lop[i].Ly
với i là chỉ số nào đó của mảng Lop
3. Thao tác với bản ghi
a. Nhập giá trị:
Để nhập dữ liệu cho một biến bản ghi ta sử dụng câu lệnh READ hoặc READLN như sau:
READ(.);
Hoặc: READLN(.);
Tên trường
Ví dụ: Để nhập điểm trung bình của bạn Hs1 trong cách khai báo VAR Hs1,hs2,hs3,hs4: Hocsinh; ta nhập như sau:
READLN(Hs1.dtb);
Tên biến bản ghi
READLN(lop[i].dtb);
Để nhập điểm trung bình cho bạn thứ i trong cách khai báo:
Var Lop:Array [1..48] of hocsinh;
Tên biến
Bản ghi
Tên trường
3. Thao tác với bản ghi
b. Xuất giá trị:
3. Thao tác với bản ghi
Để xuất dữ liệu cho biến bản ghi ta sử dụng câu lệnh WRITE hoặc WRITELN với cú pháp như sau:
WRITE(.);
Hoặc
WRITELN(< tên biến bản ghi>.);
Ví dụ: Để hiển thị điểm lý thuyết của bạn Hs1 trong cách khai báo
VAR Hs1,hs2,hs3,hs4: Hocsinh; ta hiển thị như sau:
WRITELN(Hs1.dlt);
Tên trường
Tên biến bản ghi
- Để hiển thị điểm lý thuyết cho bạn thứ i trong cách khai báo
Var Lop:Array [1..48] of hocsinh; ta hiển thị như sau:
3. Thao tác với bản ghi
WRITELN(lop[i].dlt);
Tên trường
Tên biến bản ghi
3. Thao tác với bản ghi
c. Gán giá trị:
Có 2 cách:
+ Dùng lệnh gán trực tiếp
+ Gán giá trị cho từng trường
+ 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 từ bàn phím cho từng trường.
- Ví dụ:
A.Hoten:= ‘Nguyen Van Tuan’;
Readln(A.Ngaysinh)
3. Thao tác với bản ghi
3. Thao tác với bản ghi
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
thì các trường phải cùng kiểu.
vd: A.Ngaysinh:=B.Ngaysinh

4. Bài tập
Viết chương trình nhập vào Hoten, Toan, Van của một học sinh trong lớp. Tính điểm TB và đưa ra màn hình kết quả là “Dau” nếu điểm TB của học sinh đó >= 5, ngược lại là “Hong”.
Đề bài:
Input: Nhập họ tên, toán, Văn của HS
Output: Đưa ra kết quả là Đậu hay Hỏng
4. Bài tập
Viết chương trình nhập vào Hoten, Toan, Van của một học sinh trong lớp. Tính điểm TB và đưa ra màn hình kết quả là “Dau” nếu điểm TB của học sinh đó >= 5, ngược lại là “Hong”.
Đề bài:
Ý tưởng thực hiện:
B1: Nhập họ tên, toán, văn của HS
B2: tính điểm trung bình
B3: Kiểm tra kết quả là Đậu hay Hỏng
B4: Đưa kết quả ra màn hình
Khai báo biến
Type = Record
: ;
: ;
...........
: ;
End;
Var : ;
End;
Type Hocsinh = Record
Hoten :String[30];
Toan : Real;
Van : Real;
TB : Real;
Ketqua : String[30];
Var A : Hocsinh;
Viết chương trình nhập vào Hoten, Toan, Van của một học sinh trong lớp. Tính điểm TB và đưa ra màn hình kết quả là “Dau” nếu điểm TB của học sinh đó >= 5, ngược lại là “Hong”.
Nội dung chương trình
4. Bài tập
Lệnh trong Pascal
Các bước thực hiện
B1: Nhập dữ liệu cho học sinh
Writeln(‘Nhap Hoten’);
Readln(A.Hoten);
Writeln(‘Nhap diem Van’);
Readln(A.Van);
Writeln(‘Nhap diem Toan’);
Readln(A.Toan);
4. Bài tập
Lệnh trong Pascal
Các bước thực hiện
B2: Tính điểm trung bình
A.TB := (A.Toan + A. Van)/2;
B3: Kiểm tra kết quả
If A.TB >= 5 Then A.Ketqua:= ‘Do’
Else A.Ketqua := ‘Hong’
B4: Đưa kết quả ra màn hình
Writeln( ‘Ket qua la ’ , A.Ketqua);
End;
Type Hocsinh = Record
Hoten, Ket qua : String[30];
Toan, Van, TB : Real;
Var A : Hocsinh;
Program Vidu1 ;
Uses Crt ;
Begin
Clrscr;
Writeln(‘Nhap Hoten’);
Readln(A.Hoten);
Writeln(‘Nhap diem Toan, Van’);
Readln(A.Toan, A. Van);
A.TB := (A.Toan + A. Van)/2;
If A.TB >= 5 Then A.Ketqua := ‘Do’
Else A.Ketqua := ‘Hong’
Writeln( ‘Ket qua la ’ , A.Ketqua);
Readln;
End.
Củng cố
1. Khai báo biến bản ghi
Type = Record
: ;
: ;
............
: ;
End;
Var : ;
2. Tham chiếu đến trường
của biến bản ghi
.
3. Gán giá trị
- Dùng lệnh gán trực tiếp
- Gán giá trị cho từng trường
Bài tập về nhà
1. Viết chương trình nhập vào mã học sinh, họ tên, điểm Toán, Văn, Tin của tất cả các học sinh trong lớp. Tính điểm trung bình và đưa ra màn hình danh sách lớp trước khi sắp xếp và sau khi sắp xếp theo thứ tự tăng lần.
dtb =
2. Viết chương trình nhập họ tên, điểm toán,lý, hóa của tối đa 50 học sinh. Tính điểm trung bình và in ra kết quả những học sinh có điểm trung bình lớn hơn 5

Chúc quý thầy cô khỏe
Các em học tốt!
Bài tập trắc nghiệm
Phát biểu nào sau đây về chức năng của kiểu bản ghi là đúng nhất.
Để mô tả đối tượng chứa nhiều loại thông tin khác nhau
Để mô tả nhiều dữ liệu
Để mô tả dữ liệu gồm cả số và xâu kí tự
Để tạo mảng nhiều chiều
Bài tập trắc nghiệm
2. Phát biểu nào sau đây về kiểu bản ghi là không phù hợp
Bản ghi là kiểu dữ liệu có trúc
Bản ghi thường có nhiều trường dữ liệu
Các trường của bản ghi có thể có một hay nhiều kiểu dữ liệu khác nhau.
Bản ghi thường được dùng để thay thế mảng
Bài tập trắc nghiệm
3. Cho bản ghi HS gồm các trường hoten, ngaysinh. Biểu thức nào truy cập đến trường hoten của học sinh này
hoten;
HS → hoten;
HS.(hoten);
HS.hoten;
* 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ẻ: Nguyễn Đào Bích Giang
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)