Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
1,05 MB
Nội dung
xét Bài toán: Bảng kết quả kiểm tra chất lượng Nam Lộc21/02/91Đào Bình 710Thị Trấn22/09/91Nguyễn An Xếp loạiVănToánĐịa chỉNgày sinhHọ và tên 5.54.5Vân Diên01/05/90Lê Na 97.5 98Xuân Hòa22/09/91Trần Bửu . 52.4Xuân Hòa15/12/91Hồ Chương 69.7Vân Diên04/04/90Lê Phương Viết chương trình nhập vào từ bàn phím các thông tin (họ và tên, ngày sinh, địa chỉ, điểm toán, điểm văn) của từng học sinh trong lớp, thực hiện xếp loại và đưa ra màn hình kết quả xếp loại học sinh. Bµi 13 tin häc líp 11 Bảng gồm : N đối tượng (record) với 6 thuộc tính (Field) Nam Lộc21/02/91Đào Bình 710Thị Trấn22/09/91Nguyễn An Xếp loạiVănToánĐịa chỉNgày sinhHọ và tên 54.5Vân Diên01/05/90Lê Na 97.5 98Xuân Hòa22/09/91Trần Bửu . 52.4Xuân Hòa15/12/91Hồ Chương 69.7Vân Diên04/04/90Lê Phương Bảnghi (Record) Trường (Field) N . 4 3 2 1 Dữ liệu kiểubảnghi (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. 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> 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ểubảnghi (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ảnghi và các biến bảnghi phù hợp)? Nam Lộc21/02/91Đào Bình 710Thị Trấn22/09/91Nguyễn An Xếp loạiVănToánĐịa chỉNgày sinhHọ và tên 5.54.5Vân Diên01/05/90Lê Na 97.5 98Xuân Hòa22/09/91Trần Bửu . 52.4Xuân Hòa15/12/91Hồ Chương 69.7Vân Diên04/04/90Lê Phương a. NhËp th«ng tin häc sinh Write(‘ So luong hoc sinh: ‘); 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(‘ 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. 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'; 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ảnghi thứ n. * Nhập giá trị trường HOTEN của học sinh thứ nhất nằm ở bảnghi đầu tiên. * Tương tự như vậy nhập giá trị các trường còn lại. A910Nam Đàn22/09/91Nguyễn An Xếp loạiVănToánĐịa chỉNgày sinhHọ và tên b. Các thao tác xử lí trong bảnghi 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ảnghi 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ư ợ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; [...]... string[30]; Toan,Van,Tong:real; Ketqua :string[10]; end; Var LOP: ARRAY[1 50] of hocsinh; LOP[i].SBD 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 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 ...c In dữ liệu kiểu bảnghi Các bước: Thể hiện bằng pascal Thông báo in Writeln( Bang ket qua kiem tra chat luong ); In bảng dữ liệu 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); Program Xep_loai; Uses crt; Type { Khai bao} Hocsinh = record Hoten: string[30]; Ngaysinh:string[10]; { tinh tong cho tung banghi } Diachi:string[50];... Hãy viết chương end; Var LOP: ARRAY[1 60] of Hocsinh; hoàn chỉnh trình { dien ket qua cho tung banghi } i,n: Byte; để giải bài toán i:=1 to n do For BEGIN Clrscr; { nhap so hoc sinh } vấn đề ? if LOP[i].Tong>=10 then đặt Write( So luong hoc sinh N=: );readln(n); LOP[i].Ketqua:=Dat { nhap du lieu tung ban ghi} else LOP[i].Ketqua:=Khong dat; For i:=1 to n do Begin writeln( Nhap so lieu hoc sinh thu ,i); . 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. 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ữ