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

Chia sẻ bởi Trịnh Thị Mến | Ngày 10/05/2019 | 72

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:

SỞ GIÁO DỤC VÀ ĐÀO TẠO TỈNH BÀ RỊA-VŨNG TÀU
HỘI GIẢNG CẤP TRƯỜNG
TRƯỜNG THPT NGUYỄN DU
Môn: TIN H?C
Lớp: 11
CHÀO MỪNG QUÝ THẦY CÔ ĐẾN THAM DỰ HỘI GIẢNG
Năm học: 2009 - 2010
‘Song Hong’
‘Hong’
Sử dụng các thủ tục và hàm xử lý xâu đã học để hoàn thành bài tập sau:
Delete(St,1,5)
‘Xau-ky-tu’
Copy(St,5,5)
‘ky-tu’
‘Tin hoc’
Pos(‘hoc’,st)
5
‘Tin hoc’
Length(st)
7
‘May-tinh’
Insert(‘vi-’,st,5)
‘May-vi-tinh’
Bảng nhân
Bảng kết quả thi tin nghề


I. Khái niệm:

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.

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) - cột
* Kiểu dữ liệu của mỗi trường – cột
* Cách khai báo biến
* Cách tham chiếu đến trường – cột
Ví dụ: Kết quả thi tin nghề học sinh có dạng sau:
Xác định các đố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 phiếu?
Từ định nghĩa và các ví dụ đã nêu ta thấy:
Để mô tả hàng loạt các đối tượng có các kiểu dữ liệu khác nhau
ta có thể dùng kiểu dữ liệu kiểu bản ghi ( Record).

Thông thường để khai báo kiểu bản ghi ta khai báo gián tiếp như sau:
1. Cú pháp:
TYPE
= RECORD

: ;
..........................................................
: ;
END;
VAR
: ;
II. Khai báo
Ví dụ: Áp dụng cú pháp khai báo để khai báo 3 bản ghi mà mỗi bản ghi là một học sinh gồm các thuộc tính( trường) sau:
Họ và tên(ht)
Điểm lý thuyết(dlt)
Điểm Thực hành(dth)
Viết khai báo cho bài toán?
Cú pháp khai báo bản ghi
TYPE
= RECORD

: ;
........
: ;
END;
VAR
: ;
TYPE
Hocsinh = RECORD
Ht: String[30];
dlt,dth: Real;
END;
VAR
hs1, hs2, hs3: Hocsinh;
Khai báo một mảng có 44 phần tử có kiểu phần tử là tên kiểu bản ghi
Var Lop:Array [1..44] of hocsinh;
Khai báo 44 đối tượng học sinh lớp 11A2 tương ứng với 44 bản ghi thì phải làm thế nào?
Tên mảng
Tên kiểu bản ghi
Chỉ số mảng
Chú ý: Để tham chiếu đến trường của bản ghi ta sử dụng cú pháp:
.< Tên trường>
Ví dụ: để tham chiếu đến trường điểm lý thuyết của bạn Hs1 ta viết:
Hs1.dlt
Tham chiếu đến trường điểm thực hành, điểm lý thuyết của bạn hs2?
hs2.dth
hs2.dlt
Tên trường
Tên biến
bản ghi


III. Gán giá trị
Dùng lệnh gán trực tiếp
Nếu A và B là 2 biến cùngkiểu ta có thể thực hiện:
A:=B
Gán giá trị cho từng trường
Vd: A.ht:=‘chu van an’;
Để 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(.);
Ví dụ: Để nhập điểm lí thuyết của bạn Hs1 trong cách khai báo
VAR Hs1,hs2,hs3,hs4: Hocsinh; ta nhập như sau: READLN(Hs1.dlt);
Tên biến bản ghi
Tên trường
Để nhập điểm lí thuyết cho bạn thứ i trong cách khai báo:
Var Lop:Array [1..44] of hocsinh;
READLN(lop[i].dlt);
2. Nhập dữ liệu cho trường của biến 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
WRITELN(lop[i].dlt);
Tên biến bản ghi
Tên trường
Để hiển thị điểm lý thuyết cho bạn thứ i trong cách khai báo
Var Lop:Array [1..44] of hocsinh; ta hiển thị như sau:
Tên biến bản ghi
3. Xuất (hiển thị) dữ liệu cho trường của biến bản ghi:

4. Ví dụ
Viết chương trình nhập vào danh sách điểm môn tin học của lớp 11A2 biết mỗi học sinh là một bản ghi gồm các trường:
Họ và tên(ht)
Điểm lý thuyết(dlt)
Điểm Thực hành(dth)
Yêu cầu: tính và đưa ra màn hình diem tb vàKq.
Chương trình nhập:
Hiển thị dữ liệu vừa nhập ra màn hình?
Viết chương trình nhập dữ liệu cho phiếu kiểm tra sức khỏe của học sinh lớp 11A2 gồm các trường sau: họ và tên, giới tính, chiều cao, cân nặng. Sau đó hiển thị dữ liệu vừa nhập ra màn hình?
BÀI TẬP VỀ NHÀ:
Chúc các em học tốt
Chúc quý thầy cô mạnh khoẻ - Hạnh phú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ẻ: Trịnh Thị Mến
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)