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ùn
Trang 1Bµ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
Trang 2Gi¸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
Trang 3Giá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
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
Trang 4Gi¸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
3 C¸c thao
t¸c víi bg
Cñng cè
2 Khai b¸o
a Khai b¸o kiÓu
Type
< Tªn kiÓu b¶n ghi> = record
<tªn tr êng 1> : <kiÓu tr êng 1>;
< tªn tr êng 2> : <kiÓu tr êng 2>;
< tªn tr êng n> : <kiÓu tr êng n>; end;
Trang 5Gi¸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
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 <Tªn biÕn > : <tªn kiÓu b¶n ghi>;
<Tªn m¶ng > : ARRAY[1 Max] of
< Tªn kiÓu b¶n ghi>; Cách 2:
VAR <Tên biến bản ghi> = RECORD
<tên trường 1>:<Kiểu trường 1>;
… …
<tên trường n>:<Kiểu trường n>;
END;
Trang 6
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
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
Trang 7Gi¸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
3 C¸c thao
t¸c víi bg
Cñng cè
3 C¸c thao t¸c víi b¶n ghi
Trang 83 C¸c thao t¸c víi b¶n ghi
b.G¸n gÝa trÞ.
a:=b;
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.
Tªn biÕn b¶n ghi.tªn tr êng
Trang 93 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
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Þ
Trang 10d 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);
- 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;
Trang 119.0 10.0
NguyÔn An 01
Tin To¸n
Hä vµ tªn SBD
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
Trang 12Tí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 “Dat” vào cột kết quả cho những học sinh có tổng >=10, ngư ” 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 “Dat” vào cột kết quả cho những học sinh có tổng >=10, ngư ” vào cột kết quả cho những học sinh có tổng >=10, ngư
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’
Trang 13XuÊt d÷ liÖu kiÓu b¶n ghi
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
Trang 14Hãy viết ch ơng trình hoàn chỉnh
để giải bài toán
đặt vấn đề ?
Program vd1;
Uses crt;
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.
Trang 15H·y nhí!
b¶n ghi hoÆc gi÷a hai biÕn cïng kiÓu.
vµ kiÓu d÷ liÖu c¸c tr êng.
Tham chiÕu tr êng cña b¶n ghi:
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
Trang 16a Var Sach = Record
Tensach: String[100];
Tacgia: String[30];
MaPL: String[10];
End;
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;
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;
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;
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ả
Kết quả
Trang 17Hã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;
a Var Sach = Record
Tensach: String[100]; Tacgia: String[30];
MaPL: String[10];
End;
Trang 18H·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 ?
Trang 19Gi¸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
Trang 20
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
“Đạt” ”