Bài 13. Kiểu bản ghi
Chia sẻ bởi Đinh Hoài Lưu |
Ngày 10/05/2019 |
95
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 - ĐÀO TẠO PHÚ YÊN
TRƯỜNG THPT NGUYỄN DU
Môn:TIN HỌC
Giáo viên: NGUYỄN XUÂN TỨ
Em hãy cho biết Dữ liệu kiểu mảng là gì?
ĐẶC VẤN ĐỀ
Em hãy cho biết số lượng học sinh trong lớp,các thuộc tính của từng
học sinh và kiểu dữ liệu của từng thuộc tính đó?
Bài 13
DỮ LIỆU KIỂU BẢN GHI
KHAI BÁO KIỂU BẢN GHI
CÁC THAO TÁC VỚI BẢN GHI
Nhập thông tin học sinh
Các thao tác xử lí trong bản ghi
In dữ liệu kiểu bản ghi
Bài 13
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.
1.DỮ LIỆU KIỂU BẢN GHI
Bản ghi
(Record)
Trường
(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"
Type
< tên kiểu bản ghi> = record
: kiểu trường 1;
< tên trường 2> : kiểu trường 2;
.
< tờn tru?ng n>: ki?u tru?ng n;
end;
Var : ;
: ARRAY[1..Max] of < tên kiểu bản ghi>;
Bài 13
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.
1.DỮ LIỆU KIỂU BẢN GHI
2. KHAI BÁO KIỂU BẢN GHI
Type
Hocsinh = record
SBD: integer;
Hoten: string[30];
Toan,Van,Tong: real;
Ketqua: string[10];
end;
Var LOP: ARRAY[1..50] of Hocsinh;
I,n : integer;
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)
Bài 13
3. Các thao tác với bản ghi
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
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].Van);
end;
- Nhập dữ liệu (các thuộc tính) của từng bản ghi
Bài 13
a.Nhập giá trị của một biến kiểu bản ghi
9.0
10.0
Nguyễn An
01
Khi i = 1 ? 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.
Bài 13
b. Các thao tác xử lí trong bản ghi
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 ?
For i:=1 to n do
LOP[i].Tong:= LOP[i].Toan + LOP[i].Van;
Điền chữ "Đạt" 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’;
Bài 13
c. In dữ liệu kiểu bản ghi
Các bước:
Thể hiện bằng pascal
Thông báo in
Writeln(‘ Bang ket qua kiem tra chat luong ‘);
For i:=1 to n do
In bảng dữ liệu
Writeln(LOP[I].sbd:5,LOP[i].Hoten:30, LOP[i].Toan:5:1,LOP[i].Van:5:1,
LOP[i].Tong:8:1,LOP[i].Ketqua:15);
Bài 13
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,Van,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].Van);
end;
{ tinh tong cho tung ban ghi }
For i:=1 to n do
LOP[i].Tong := LOP[i].Toan + LOP[i].Van;
{ 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].Van: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,Van,Tong:real;
Ketqua :string[10];
end;
Var
LOP: ARRAY[1..50] of hocsinh;
LOP[i].SBD
Bài tập về nhà: SGK
Chuẩn bị Tiết bài tập
TRƯỜNG THPT NGUYỄN DU
Môn:TIN HỌC
Giáo viên: NGUYỄN XUÂN TỨ
Em hãy cho biết Dữ liệu kiểu mảng là gì?
ĐẶC VẤN ĐỀ
Em hãy cho biết số lượng học sinh trong lớp,các thuộc tính của từng
học sinh và kiểu dữ liệu của từng thuộc tính đó?
Bài 13
DỮ LIỆU KIỂU BẢN GHI
KHAI BÁO KIỂU BẢN GHI
CÁC THAO TÁC VỚI BẢN GHI
Nhập thông tin học sinh
Các thao tác xử lí trong bản ghi
In dữ liệu kiểu bản ghi
Bài 13
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.
1.DỮ LIỆU KIỂU BẢN GHI
Bản ghi
(Record)
Trường
(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"
Type
< tên kiểu bản ghi> = record
< tên trường 2> : kiểu trường 2;
.
< tờn tru?ng n>: ki?u tru?ng n;
end;
Var
Bài 13
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.
1.DỮ LIỆU KIỂU BẢN GHI
2. KHAI BÁO KIỂU BẢN GHI
Type
Hocsinh = record
SBD: integer;
Hoten: string[30];
Toan,Van,Tong: real;
Ketqua: string[10];
end;
Var LOP: ARRAY[1..50] of Hocsinh;
I,n : integer;
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)
Bài 13
3. Các thao tác với bản ghi
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
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].Van);
end;
- Nhập dữ liệu (các thuộc tính) của từng bản ghi
Bài 13
a.Nhập giá trị của một biến kiểu bản ghi
9.0
10.0
Nguyễn An
01
Khi i = 1 ? 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.
Bài 13
b. Các thao tác xử lí trong bản ghi
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 ?
For i:=1 to n do
LOP[i].Tong:= LOP[i].Toan + LOP[i].Van;
Điền chữ "Đạt" 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’;
Bài 13
c. In dữ liệu kiểu bản ghi
Các bước:
Thể hiện bằng pascal
Thông báo in
Writeln(‘ Bang ket qua kiem tra chat luong ‘);
For i:=1 to n do
In bảng dữ liệu
Writeln(LOP[I].sbd:5,LOP[i].Hoten:30, LOP[i].Toan:5:1,LOP[i].Van:5:1,
LOP[i].Tong:8:1,LOP[i].Ketqua:15);
Bài 13
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,Van,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].Van);
end;
{ tinh tong cho tung ban ghi }
For i:=1 to n do
LOP[i].Tong := LOP[i].Toan + LOP[i].Van;
{ 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].Van: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,Van,Tong:real;
Ketqua :string[10];
end;
Var
LOP: ARRAY[1..50] of hocsinh;
LOP[i].SBD
Bài tập về nhà: SGK
Chuẩn bị Tiết bài tập
* 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ẻ: Đinh Hoài Lưu
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)