Tìm kiếm theo tiêu đề

Tin tức cộng đồng

5 điều đơn giản cha mẹ nên làm mỗi ngày để con hạnh phúc hơn

Tìm kiếm hạnh phúc là một nhu cầu lớn và xuất hiện xuyên suốt cuộc đời mỗi con người. Tác giả người Mỹ Stephanie Harrison đã dành ra hơn 10 năm để nghiên cứu về cảm nhận hạnh phúc, bà đã hệ thống các kiến thức ấy trong cuốn New Happy. Bà Harrison khẳng định có những thói quen đơn...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

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

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Văn Triển
Ngày gửi: 16h:15' 20-12-2009
Dung lượng: 1.3 MB
Số lượt tải: 334
Số lượt thích: 0 người
Giáo Viên thực hiện: Nguyễn Văn Triển
TRƯỜNG THPT TRỰC NINH B
Nam Định
Tin học 11
KIỂU BẢN GHI
Kiểm tra bài cũ
1. Khai báo biến mảng một chiều theo hai cách trực tiếp và gián tiếp? Cho ví dụ?


2.Viết chương trình nhập họ tên hai học sinh. In ra màn hình họ tên hai học sinh đó?
Click Xem k?t qu?
Click Xem k?t qu?
KIỂU BẢN GHI
BÀI 13
..
...
...
....................
...

Tổng
6.5
7.0
Trần Thị Thơm
40
8.0
7.0
Vũ Ngọc Bình
02
9.0
8.0
Nguyễn Thảo
01

Kết quả

Tin

Toán

Họ tên

SBD
Ví Dụ BI TON D?T V?N D?
Bảng kết quả thi học sinh giỏi
Bảng gồm : 40 đố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 Điểm Toán và Tin nếu >=18 thì : "Đạt"
1. 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ó kiểu dữ liệu khác nhau.
2. Khai báo kiểu bản ghi
Type
< tên kiểu bản ghi> = record
: ;
< tên trường 2>: ;
........................................................
: ;
end;
Var : ;

Dữ liệu kiểu bản ghi
Type
hoso = record
SBD: byte;
Hten: string[20];
dtoan,dtin,Tong: real;
Ketqua: string[10];
end;
Var LOP: ARRAY[1..40] of hoso;
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)
...
...
...
...
.........................
...

Tổng
10
9
Trần Thị thơm
40
8.0
7.0
Vũ Văn Bình
02
9.0
8.0
Nguyễn Văn Ba
01

Kết quả

đtin

đtoán

Họ tên

SBD
BẢNG KẾT QUẢ THI HỌC SINH GIỎI
VÍ DỤ
THAM CHIẾU TRƯỜNG CỦA BẢN GHI
> Nếu A là biến kiểu bản ghi và X là tên một trường của A,
thì để tham chiếu đến trường X, ta viết: A.X

Ví dụ: để tham đến điểm tin học của một học sinh trong
ví dụ trên ta viết: A.dtin

2. GÁN GIÁ TRỊ
Có hai cách để gán trị cho biến bản ghi:
Dùng lệnh gán trực tiếp:
Nếu A và B là hai biến cùng bản ghi cùng kiểu,
thì ta có thể gán trị của B cho A bằng Câu lệnh: A:=B;

Gán trị cho từng trường: có thể thực hiện bằng lệnh gán
hoặc nhập từ bàn phím.
Khi gán trị của B cho A bằng Câu Lệnh A:=B thì các thuộc tính của A sẽ như thế nào so với các thuộc tính của B ?
3. Các thao tác với bản ghi
a. Nhập thông tin học sinh
Write(‘ Nhap vao so hoc sinh’ );
readln(n);
Các bước:
Thể hiện bằng pascal
- Nhập vào số học sinh
For i:=1 to n do
Begin
writeln(‘ Nhap thong tin cho hoc sinh thu‘,i);
Write(‘ SBD : ‘); readln(LOP[i].SBD);
Write(‘HO TEN : ‘); readln(LOP[i].Hten);
Write(‘ Diem toan : ‘);readln(LOP[i].dtoan);
Write(‘ Diem Tin : ‘);readln(LOP[i].dtin);
end;
- Nhập dữ liệu (các thuộc tính) của từng đối tượng bản ghi
Khi i = 1 ? LOP[1].SBD
* Nhập giá trị lần lượt cho các trường SBD, Họ và tên, đtoán, đtin ở từng bản ghi cho đến bản ghi thứ n.
9.0
10.0
Nguyễn Thảo
01
9.0
8.0
Vũ Văn Bình
02
...
...
.........
...
10
7.0
Trần Thị Thơm
n
b. Các thao tác xử lí trong bản ghi
Để tính tổng điểm Toán và Tin của từng học Sinh trong lớp.
Dùng câu lệnh gì để tính tổng điểm cho từng bản ghi nhỉ ?
For i:=1 to n do
LOP[i].Tong:= LOP[i].dtoan + LOP[i].dtin;
Để điền chữ "dat" vào cột kết quả cho những học sinh có tổng điểm >=18, ngược lại điền chữ "Khong dat" ?
For i:=1 to n do
IF LOP[i].Tong>=18 then LOP[i].Ketqua:=‘Dat’
else LOP[i].Ketqua:=‘Khong dat’;
c. Ghi dữ liệu kiểu bản ghi
Các bước thực hiện:
Thể hiện bằng pascal
Thông báo xuất ra màn hình
Writeln(‘ BANG KET QUA THI ‘);
For i:=1 to n do
Xuất bảng bảng dữ liệu ra màn hình
Writeln(LOP[i].sbd:5,LOP[i].Hten:20, LOP[i].dtoan:2:1,LOP[i].dtin:2:1,
LOP[i].Tong:2:1,LOP[i].Ketqua:15);
Làm thế nào để viết chương trình hoàn chỉnh để giải bài toán trên nhỉ?
Program vidu;
Uses crt;
Type { phan Khai bao}
Hoso = record
SBD: integer;
Hten: string[30];
dtoan,dtin,Tong:real;
Ketqua: string[10];
end;
Var LOP: ARRAY[1..100] of Hoso;
i,n: integer;
BEGIN
Clrscr; { nhap so luong 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 cho hoc sinh thu `,i);
Write(` SBD : `); readln(LOP[i].SBD);
Write(`Ho Va Ten : `); readln(LOP[i].Hten);
Write(` Diem toan : `);readln(LOP[i].dtoan);
Write(` Diem Tin : `);readln(LOP[i].dtin);
end;
{ Tinh tong cho tung ban ghi }
For i:=1 to n do
LOP[i].Tong := LOP[i].dtoan + LOP[i].dtin;

{ Dien ket qua cho tung ban ghi }
For i:=1 to n do
if LOP[i].Tong>=18 then
LOP[i].Ketqua:=‘Dat’
else LOP[i].Ketqua:=‘Khong dat’;
{ Xuat bang du lieu ra man hinh}
Writeln(‘BANG KET QUA THI‘);
For i:=1 to n do Writeln(LOP[I].sbd:5,LOP[i].Hten:30,
LOP[i].dtoan:5:1,LOP[i].dtin:5:1,
LOP[i].tong:8:1,LOP[i].Ketqua:15);
Readln;
END.
Click Ch?y chuong trình
Click Ch?y chuong trình
Ghi 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.
Cảm ơn Thầy Cô và các em đã theo dõi
Chúc quý Thầy mạnh khỏe, các em học tốt
Khai báo biến mảng một chiều
Cách 1. Khai báo trực tiếp
var: array[kiểu chỉ số] of
Ví dụ:
Var a: array[10…300] of integer;

Cách 2. Khai báo gián tiếp
Type=array[kiểu chỉ số] of
Var : ;
Ví dụ:
type songuyen = array[10…300] of integer;
Var a: songuyen

Click Quay l?i
Click Ch?y chuong trình
 
Gửi ý kiến

↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng RAR và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT  ↓