1. Trang chủ
  2. » Giáo án - Bài giảng

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

14 782 5
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kiểu bản ghi
Chuyên ngành Tin học
Thể loại Bài tập
Định dạng
Số trang 14
Dung lượng 1,05 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

4 3 2 1 Dữ liệu kiểu bản ghi record 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...  Tham chiếu đến từng tr ờng:... Các

Trang 1

xÐt Bµi to¸n:

B¶ng kÕt qu¶ kiÓm tra chÊt l îng

Nam Léc 21/02/91

§µo B×nh

7 10

ThÞ TrÊn 22/09/91

NguyÔn An

XÕp lo¹i V¨n

To¸n

§Þa chØ Ngµy sinh

Hä vµ tªn

5.5 4.5

V©n Diªn 01/05/90

Lª Na

9 7.5

9 8

Xu©n Hßa 22/09/91

TrÇn Böu

5 2.4

Xu©n Hßa 15/12/91

Hå Ch ¬ng

6 9.7

V©n Diªn 04/04/90

Lª Ph ¬ng

ViÕt ch ¬ng tr×nh nhËp vµo tõ bµn phÝm c¸c th«ng tin (hä

h×nh kÕt qu¶ xÕp lo¹i häc sinh.

Trang 2

Bµi 13

tin häc líp 11

Trang 4

Bảng gồm : N đối t ợng (record) với 6 thuộc tính (Field)

Nam Lộc 21/02/91

Đào Bình

7 10

Thị Trấn 22/09/91

Nguyễn An

Xếp loại Văn

Toán

Địa chỉ Ngày sinh

Họ và tên

5 4.5

Vân Diên 01/05/90

Lê Na

9 7.5

9 8

Xuân Hòa 22/09/91

Trần Bửu

5 2.4

Xuân Hòa 15/12/91

Hồ Ch ơng

6 9.7

Vân Diên 04/04/90

Lê Ph ơng

Bản ghi (Record)

Tr ờng

(Field)

N

4

3

2

1

Dữ liệu kiểu bản ghi (record) 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

Trang 5

1 Khai báo kiểu bản ghi, biến bản ghi.

Type

< tên kiểu bản ghi> = record

<tên tr ờng 1> : <kiểu tr ờng 1>;

< tên tr ờng k> : <kiểu tr ờng k>;

end;

Var <tên biến bản ghi> : <tên kiểu bản ghi>;

<tên biến mảng > : ARRAY[1 Max] of < tên kiểu bản ghi>;

Dữ liệu kiểu bản ghi (record) 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

 Tham chiếu đến từng tr ờng: <tên biến bản ghi>.<tên tr ờng>

Trang 6

Type

Hocsinh = record

Hoten: string[30];

Ngaysinh:string[10];

Diachi:string[50];

Toan,Van: real;

Xeploai: char;

end;

Var LOP: ARRAY[1 60] of Hocsinh ;

I,j,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)

Ví dụ: Hãy mô tả cấu trúc dữ liệu của bài toán đã đề ra (khai báo kiểu

dữ liệu bản ghi và các biến bản ghi phù hợp)?

Nam Lộc 21/02/91

Đào Bình

7 10

Thị Trấn 22/09/91

Nguyễn An

Xếp loại Văn

Toán

Địa chỉ Ngày sinh

Họ và tên

5.5 4.5

Vân Diên 01/05/90

Lê Na

9 7.5

9 8

Xuân Hòa 22/09/91

Trần Bửu

5 2.4

Xuân Hòa 15/12/91

Hồ Ch ơng

6 9.7

Vân Diên 04/04/90

Lê Ph ơng

Trang 7

a NhËp th«ng tin häc sinh

Write(‘ So luong hoc sinh: ‘); 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(‘ HO TEN : ‘); readln( LOP[i].Hoten );

Write(‘ NGAY SINH : ‘); readln( LOP[i].Ngaysinh ); Write(' DIA CHI : '); readln( LOP[i].Diachi ); Write(‘ DIEM TOAN : ‘);readln( LOP[i].Toan );

Write(‘ DIEM VAN : ‘);readln( LOP[i].Van );

End;

- NhËp d÷ liÖu

tõng b¶n ghi.

Trang 8

if lop[i].toan+lop[i].van>=18 then lop[i].xeploai:='A';

if (lop[i].toan+lop[i].van>=14) and (lop[i].toan+lop[i].van<18) then lop[i].xeploai:='B';

if (lop[i].toan+lop[i].van>=10) and (lop[i].toan+lop[i].van<14) then lop[i].xeploai:='C';

if (lop[i].toan+lop[i].van<10) then lop[i].xeploai:='D';

Trang 9

Khi i = 1  LOP[1].HOTEN

 Qu¸ tr×nh nhËp kÕt thóc khi nhËp hÕt d÷ liÖu cho b¶n ghi thø n.

ghi ®Çu tiªn

* T ¬ng tù nh vËy nhËp gi¸ trÞ c¸c tr êng cßn l¹i

A 9

10 Nam §µn

22/09/91 NguyÔn An

XÕp lo¹i V¨n

To¸n

§Þa chØ Ngµy sinh

Hä vµ tªn

Trang 10

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 nhỉ ?

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 “Đạt” 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 “Đạt” 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’;

Trang 11

c In d÷ liÖu kiÓu b¶n ghi

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 );

Trang 12

Hãy viết ch ơng trình hoàn chỉnh

để giải bài toán

đặt vấn đề ?

Program Xep_loai;

Uses crt;

Hocsinh = record

Hoten: string[30];

Ngaysinh:string[10];

Diachi:string[50];

Toan,Van:real;

Xeploai: char;

end;

Var LOP: ARRAY[1 60] of Hocsinh;

i,n: Byte;

BEGIN

Clrscr; { nhap so hoc sinh }

Write(‘ So luong hoc sinh N=: ‘);readln(n);

{ nhap du lieu tung ban ghi}

For i:=1 to n do

Begin

writeln(‘ Nhap so lieu hoc sinh thu ‘,i);

Write(‘HO VA TEN : ‘); readln(LOP[i].Hoten);

Write(‘ NGAY SINH : ‘); readln(LOP[i].Ngaysinh);

Write(‘ DIA CHI : ‘); readln(LOP[i].Diachi);

Write(‘ Diem toan : ‘);readln(LOP[i].Toan);

Write(‘ Diem van : ‘);readln(LOP[i].Van);

if

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.

Trang 13

Uses crt;

Type { Khai bao}

Hocsinh = record

Hoten: string[30];

Ngaysinh:string[10];

Diachi:string[50];

Toan,Van:real;

Xeploai: char;

end;

Var LOP: ARRAY[1 60] of Hocsinh;

i,n: Byte;

BEGIN

Clrscr;

Write(' So luong hoc sinh N=: ');readln(n);

For i:=1 to n do

Begin

writeln;

writeln(' Nhap so lieu hoc sinh thu ',i);

Write(' HO VA TEN : '); readln( LOP[i].Hoten );

Write(' NGAY SINH : ');

readln( LOP[i].Ngaysinh );

Write(' DIA CHI : '); readln( LOP[i].Diachi );

Write(' DIEM TOAN : ');readln( LOP[i].Toan );

Write(' DIEM VAN : ');readln( LOP[i].Van );

if lop[i].toan+lop[i].van>=18 then lop[i].xeploai:='A';

if (lop[i].toan+lop[i].van>=14) and (lop[i].toan+lop[i].van<18) then

lop[i].xeploai:='B';

if (lop[i].toan+lop[i].van>=10) and (lop[i].toan+lop[i].van<14) then

lop[i].xeploai:='C';

if (lop[i].toan+lop[i].van<10) then

lop[i].xeploai:='D';

end;

{ In bang du lieu }

Writeln;

Writeln(' Bang XEP LOAI: ');

For i:=1 to n do Writeln(LOP[i].Hoten:30,LOP[i].toan:5:1, LOP[i].Van:5:1,LOP[i].xeploai:15);

Readln;

END

Trang 14

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

Ngày đăng: 28/09/2013, 20:10

HÌNH ẢNH LIÊN QUAN

Bảng kết quả kiểm tra chất l ợng - Bài 13. Kiểu bản ghi
Bảng k ết quả kiểm tra chất l ợng (Trang 1)
Bảng gồm : N đối t ợng (record) với 6 thuộc tính (Field) - Bài 13. Kiểu bản ghi
Bảng g ồm : N đối t ợng (record) với 6 thuộc tính (Field) (Trang 4)

TỪ KHÓA LIÊN QUAN

w