Tải bản đầy đủ (.ppt) (10 trang)

bai 13 kieu ban ghi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (579.04 KB, 10 trang )

<span class='text_page_counter'>(1)</span>

<span class='text_page_counter'>(2)</span> ĐẶT VẤN ĐỀ: Ví Dụ: Bảng Kết Qủa Thi gồm thông tin về các thí sinh như sau: Trường (Field) Họ Và Tên. Ngày Sinh. Giới tính. Điểm Tin. Điểm Toán. Điểm Lí. Điểm Hóa. Bản ghi (record) Điểm Điểm Văn Sử. Nguyễn Thị Huệ. 12/12/90. Nữ. 9. 8. 8. 7. 6. 8. Đào Văn Bình. 02/01/90. Nam. 9. 7. 8. 7. 6. 7. Hà Thị Thu Vân. 05/03/90. Nữ. 8. 6. 8. 5. 4. 8. ….. ….. ….. ….. ….. ….. ….. ….. ….. -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..

<span class='text_page_counter'>(3)</span> 1.Khai Báo. -Kiểu Bản ghi thường được định nghĩa như sau: 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; -Biến Bản ghi có thể được khai báo : Var <tên biến bản ghi> :<tên kiểu bản ghi>; <tên mảng> :array[1…50] of <tên kiểu bản ghi>.

<span class='text_page_counter'>(4)</span> Ví Dụ: Khai báo Bảng Kết quả thi HoTen. NgaySinh. Gioi tinh. Tin. Toán. Lí. Hóa. Văn. Sử. Nguyễn Thị Huệ. 12/12/90. T. 9. 8. 8. 7. 6. 8. Đào Văn Bình. 02/01/90. F. 9. 7. 8. 7. 6. 7. Hà Thị Thu Vân. 05/03/90. T. 8. 6. 8. 5. 4. 8. ….. ….. ….. ….. ….. ….. ….. ….. ….. Type Hocsinh=record HoTen:string[30]; Ngaysinh:string[10]; Gioitinh: boolean; Tin,Toan,Li,Hoa,Van,Su: real; End; Var A,B : Hocsinh; Lop:array[1..60] of Hocsinh;. -Khai báo kiểu dữ liệu cho các trường.. -Khai báo biến kiểu bản ghi ..

<span class='text_page_counter'>(5)</span> 2.Gán giá trị *Có 2 cách gán giá trị cho biến bản ghi -Cách 1:Dùng lệnh gán trực tiếp A:=B; Nếu A,B là hai biến bản ghi cùng kiểu .Gía trị dữ liệu trong các trường của bản ghi B sẽ gán cho bản ghi A. -Cách 2: Gán giá trị cho từng trường A.hoten:=B.hoten; A.tin:=B.tin; •Khi tham chiếu đến các trường của bản ghi: tên biến bản ghi.tên trường..

<span class='text_page_counter'>(6)</span> 3.Các thao tác với bản ghi Ví Dụ: Một lớp gồm N (N<=60) học sinh .Cần quản lí học sinh với các thuộc tính như: •Họ và tên. •Ngày sinh. •Địa chỉ. •Điểm toán. •Điểm văn. •Xếp loại. -Việc xếp loại được xác định như sau: •Nếu tổng điểm toán và văn lớn hơn hoặc bằng 18 thì xếp loại A •Nếu tổng điểm toán và văn lớn hơn hoặc bằng 14 và nhỏ hơn 18 thì xếp loại B. •Nếu tổng điểm toán và văn lớn hơn hoặc bằng 10 và nhỏ hơn 14 thì xếp loại C. •Nếu tổng điểm toán và văn nhỏ hơn 10 thì xếp loại D..

<span class='text_page_counter'>(7)</span> *Cách thực hiện: -Phần khai báo:. -Nhập số liệu học sinh:. Type Hocsinh=record Hoten:string[30]; Ngaysinh:string[10]; Diachi:string[50]; Toan,Van:real; Xeploai:char; end; Var Lop:mang[1..60] of Hocsinh; N,i:byte;. 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);.

<span class='text_page_counter'>(8)</span> -Thực hiện cách xếp loại như thế nào? 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’;. -Hiển thị kết quả ra màn hình ? Writeln(‘Danh sach xep loai hoc sinh trong lop:’); For i:=1 to n do writeln(lop[i].Hoten:30,’-Xep loai:’,lop[i].Xeploai); Readln;.

<span class='text_page_counter'>(9)</span> -Chương trình nhập thông tin của từng học sinh và việc thực hiện xếp loại ,đưa ra mán hình kết quả xếp loại từng học sinh: Program Xep_loai; Write(‘Dia chi:’);readln(lop[i].Diachi); Uses crt; Write(‘Diem toan’);readln(lop[i].Toan); Const Max=60; Write(‘Diem Van:’);readln(lop[i].Van); Type Hocsinh=record If (lop[i].Toan+lop[i].Van>=18 )then Hoten:string[30]; lop[i].Xeploai:=‘A’; Ngaysinh:string[10]; If (lop[i].Toan+lop[i].Van>=14 ) and Diachi:string[50]; (lop[i].Toan+lop[i].Van <18) then Toan,Van:real; lop[i].Xeploai:=‘B’; Xeploai:char; If (lop[i].Toan+lop[i].Van>=10) and end; (lop[i].Toan+lop[i].Van <14) then Var Lop:mang[1..60] of Hocsinh; lop[i].Xeploai:=‘C’; N,i:byte; If (lop[i].Toan+lop[i].Van<10)then Begin lop[i].Xeploai:=‘D’; clrscr; End; write(‘so luong hoc sinh trong lop Clrscr; N=‘);readln(N); Writeln(‘Danh sach xep loai hoc sinh trong lop:’); for i:=1 to N do For i:=1 to n do Begin writeln(lop[i].Hoten:30,’-Xep Writeln(‘nhap so lieu hoc sinh thu’, i,’:’); loai:’,lop[i].Xeploai); Write(‘Ho va Ten:’);readln(lop[i].Hoten); Readln; Write(‘Ngaysinh:’);readln(lop[i].Ngaysinh); End;.

<span class='text_page_counter'>(10)</span> -Củng cố bài học: 1.Cách khai báo trong bản ghi? 2.Cách gán giá trị trong bản ghi? •Tham chiếu đến một trường trong bản ghi?. Home Home.

<span class='text_page_counter'>(11)</span>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×