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

Chia sẻ bởi Nguyễn Thị Lệ Thủy | Ngày 10/05/2019 | 127

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 16
Giáo án điện tử tin học lớp 11
Giáo viên thực hiện
CHÀO MỪNG NGÀY THÀNH LẬP ĐOÀN 26 THÁNG 3
Giáo án điện tử tin học lớp 11
KIỂM TRA BÀI CŨ
Yêu cầu: Viết chương trình nhập vào thông tin của N học sinh (N nhập từ bàn phím và N<=50) . Thông tin về mỗi học sinh bao gồm họ và tên, năm sinh, điểm trung bình học kì 1.



CT
Giáo án điện tử tin học lớp 11
Bài 13(T33)
Kiểu bản ghi
Nội dung
1. Khái niệm
2. Khai báo
3. Các thao tác với bg
Củng cố
1. Khái niệm

Kiểu dữ liệu có cấu trúc.
Gồm các thành phần (gọi là trường) có thể thuộc các kiểu dữ liệu khác nhau.

=> 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ó kiểu dữ liệu khác nhau
Giáo án điện tử tin học lớp 11
Bài 13(T33)
Kiểu bản ghi
Nội dung
1. Khái niệm
2. Khai báo
3. Các thao tác với bg
Củng cố
2. Khai báo











Khai báo kiểu

Type

< Tên kiểu bản ghi> = record
: ;
< tên trường 2> : ;
...
< tên trường n> : ;
end;


Giáo án điện tử tin học lớp 11
Bài 13(T33)
Kiểu bản ghi
Nội dung
1. Khái niệm
2. Khai báo
3. Các thao tác với bg
Củng cố
2. Khai báo
a. Khai báo kiểu










b. Khai báo biến.










Cách 1:
Var : ;

: ARRAY[1..Max] of
< Tên kiểu bản ghi>;
Cách 2:
VAR = RECORD
:;
… …
:;
END;
Type
Hocsinh = record
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ụ
SBD:
Hoten: Toan,Tin,Tong: Ketqua: end;
integer;
String[30];
String[10];
real;
Var LOP: ARRAY[1..50] of Hocsinh;
I,j,n : integer;
cc
Giáo án điện tử tin học lớp 11
Bài 13(T33)
Kiểu bản ghi
Nội dung
1. Khái niệm
2. Khai báo
3. Các thao tác với bg
Củng cố
3. Các thao tác với bản ghi
3. Các thao tác với bản ghi
b.Gán gía trị.
a:=b;
a.ketqua:=`DAT`;
a.hoten:=b.hoten;
Type
Hocsinh = record
SBD: integer; Hoten: string[30];
Toan,Tin,Tong: real;
Ketqua: string[10];
end;
Var
LOP: ARRAY[1..50] of Hocsinh;
a, b :hocsinh
I,j,n : integer;
a. Tham chiếu.
a.sbd
a.hoten
a.toan
a.Tin
a.tong
a.ketqua
Tên biến bản ghi.tên trường
3. Các thao tác với bản ghi
Readln(a.sbd);
Readln(a.hoten);
Readln(a.toan);
Readln(a.Tin);
Type
Hocsinh = record
SBD: integer; Hoten: string[30];
Toan,Tin,Tong: real;
Ketqua: string[10];
end;
Var
LOP: ARRAY[1..50] of Hocsinh;
a, b :hocsinh
I,j,n : integer;
Xuất gía trị.
Nhập gía trị.
a.tong:=a.toan+a.Tin;
If a.tong>=10 then
a.ketqua:=`DAT`;
Writeln(a.sbd);
Writeln(a.hoten);
Writeln(a.toan);
Writeln(a.Tin);
Writeln(a.tong);
Writeln(a.ketqua);
c. Nhập/xuất giá trị
a.sbd



a.hoten
a.toan
a.Tin
a.tong
a.ketqua
d. Vận dụng
Nhập và hiển thị thông tin học sinh của n (n<=45).
Write(‘ Nhap vao so hoc sinh trong lop : ‘);
readln(n);
Các bước:
Thể hiện bằng pascal
- Nhập số học sinh
For i:=1 to n do
Begin
writeln(‘ Nhap du lieu cho hoc sinh thu ‘,i);
Write(‘ SBD : ‘); readln(LOP[i].SBD);
Write(‘HO TEN : ‘); readln(LOP[i].Hoten);
Write(‘ Diem toan : ‘);readln(LOP[i].Toan);
Write(‘ Diem van : ‘);readln(LOP[i].Tin);
end;
- Nhập dữ liệu (các thuộc tính) của từng bản ghi
Type
Hocsinh = record
SBD: integer; Hoten: string[30];
Toan,Tin,Tong: real;
Ketqua: string[10];
end;
Var LOP: ARRAY[1..50] of Hocsinh;
I,j,n : integer;
9.0
10.0
Nguyễn An
01
Khi i = 1 ?Readln( LOP[1].SBD); ?
Quá trình nhập kết thúc khi nhập hết dữ liệu cho bản ghi thứ n.
* Nhập giá trị trường cho SBD của học sinh thứ nhất nằm ở bản ghi đầu tiên.
* Tương tự như vậy nhập giá trị các trường còn lại.
Tính tổng điểm văn và toán của từng học sinh trong lớp.
Dùng lệnh gì để tính tổng cho từng bản ghi nhỉ ?
For i:=1 to n do
LOP[i].Tong:= LOP[i].Toan + LOP[i].Tin;
Điền chữ "Dat" vào cột kết quả cho những học sinh có tổng >=10, ngược lại điền chữ "Khong dat".
For i:=1 to n do
IF LOP[i].Tong>=10 then LOP[i].Ketqua=‘Dat’
else LOP[i].Ketqua=‘Khong dat’;
d. Vận dụng
a.tong:=a.toan+a.Tin;
If a.tong>=10 then a.ketqua:=‘DAT’ else a.ketqua=‘khong dat’
Xuất dữ liệu kiểu bản ghi
Các bước:
Thể hiện bằng pascal
Thông báo xuất
Writeln(‘ Bang ket qua kiem tra chat luong ‘);
writeln(‘ LOP TOAN TIN –K20 ‘);
For i:=1 to n do
Xuất bảng dữ liệu
Writeln(LOP[I].sbd:5,LOP[i].Hoten:30, LOP[i].Toan:5:1,LOP[i].Tin:5:1,
LOP[i].Tong:8:1,LOP[i].Ketqua:15);
d. Vận dụng
Hãy viết chương trình hoàn chỉnh để giải bài toán đặt vấn đề ?
Program vd1;
Uses crt;
Type { Khai bao}
Hocsinh = record
SBD: integer;
Hoten: string[30];
Toan,Tin,Tong:real;
Ketqua: string[10];
end;
Var LOP: ARRAY[1..100] of Hocsinh;
i,n: integer;
BEGIN
Clrscr; { nhap so hoc sinh }
Write(` Nhap vao so hoc sinh trong lop : `);
readln(n);
{ nhap du lieu tung ban ghi}
For i:=1 to n do
Begin
writeln(` Nhap so lieu hoc sinh thu `,i);
Write(` SBD : `); readln(LOP[i].SBD);
Write(`HO VA TEN : `); readln(LOP[i].Hoten);
Write(` Diem toan : `);readln(LOP[i].Toan);
Write(` Diem van : `);readln(LOP[i].Tin);
end;
{ tinh tong cho tung ban ghi }
For i:=1 to n do
LOP[i].Tong := LOP[i].Toan + LOP[i].Tin;

{ dien ket qua cho tung ban ghi }
For i:=1 to n do
if LOP[i].Tong>=10 then
LOP[i].Ketqua:=‘Dat’
else LOP[i].Ketqua:=‘Khong dat’;
{ In bang du lieu }
Writeln(‘ Bang ket qua kiem tra ‘);
For i:=1 to n do Writeln(LOP[I].sbd:5,LOP[i].Hoten:30,
LOP[i].toan:5:1,LOP[i].Tin:5:1,
LOP[i].tong:8:1,LOP[i].Ketqua:15);
Readln;
END.
Hãy nhớ!
? Gán giá trị cho từng trường của bản ghi hoặc giữa hai biến cùng kiểu.
? Khai báo: tên biến bản ghi, tên và kiểu dữ liệu các trường.
Tham chiếu trường của bản ghi:
Tên biến bản ghi.tên trường
Type
Hocsinh = record
SBD : integer;
Hovaten : string[30];
Toan,Tin,Tong:real;
Ketqua :string[10];
end;
Var
LOP: ARRAY[1..50] of hocsinh;
LOP[i].SBD
Bài tập trắc nghiệm
a. Var Sach = Record
Tensach: String[100];
Tacgia: String[30];
MaPL: String[10];
End;
b. Var Sach = Record;
Tensach: String[100];
Tacgia: String[30];
MaPL: String[10];
End;
c. Var Sach : Record
Tensach: String[100];
Tacgia: String[30];
MaPL: String[10];
End;
d. Var Sach = Record
Tensach: String[100];
Tacgia: real;
MaPL: String[10];
End;
Hãy chỉ rõ những khai báo sai, giải thích?
đúng
sai
sai
sai
Kết quả
Hãy viết phần khai báo để khai báo thông tin của n (n<=50) cuốn sách ?
a. Var Sach = Record
Tensach: String[100];
Tacgia: String[30];
MaPL: String[10];
End;
Hãy viết chương trình nhập và hiển thị thông tin của n (n<=50) cuốn sách ?
Giáo án điện tử tin học lớp 11
BÀI TẬP VỀ NHÀ
Hoàn thành bài tập 5, 6, 7, 8
(SGK -trang 79)


XIN CHÂN THàNH CảM ƠN LớP A9, CảM ƠN QUý THầY CÔ GIáO Đã THAM Dự TIếT HọC
...
...
.......
...
Tổng

4.5
6.0
Phan Vân
50
7.5
5.0
Đặng Anh Tuấn
49
6.5
7.0
Trần Thu Trà
48
5.0
8.5
Vũ Ngọc Bình
02
9.0
10.0
Nguyễn An
01
Kết quả
Tin
Toán
Họ tên
SBD
1. Khái niệm
Bảng kết quả kiểm tra chất lượng
Lớp Toán tin-K20
Bản ghi
(Record)
Trường
(Field)
Bảng gồm : 50 đối tượng (record) với 6 thuộc tính (Field)
Yêu cầu: Nhập vào thông tin của từng học sinh, tính tổng và xét kết quả, biết rằng nếu tổng >=10 thì kết quả là "Đạt"
* 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 Thị Lệ Thủy
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)