Chào mừng quý vị đến với Trường cấp 2 - 3 Triệu Đại.
Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành viên, vì vậy chưa thể tải được các tư liệu của Thư viện về máy tính của mình.
Nếu chưa đăng ký, hãy đăng ký thành viên tại đây hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay ô bên phải.
Bài tập Kiểu bản ghi

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Trần Cao Hoàng (trang riêng)
Ngày gửi: 22h:37' 09-02-2009
Dung lượng: 52.0 KB
Số lượt tải: 205
Nguồn:
Người gửi: Trần Cao Hoàng (trang riêng)
Ngày gửi: 22h:37' 09-02-2009
Dung lượng: 52.0 KB
Số lượt tải: 205
Số lượt thích:
0 người
KIỂU BẢN GHI (RECORD)
I. KHAI BÁO DŨ LIỆU KIỂU RECORD
TYPE TênKiểu = RECORD
Field1 : Kiểu1;
Field2 : Kiểu2;
...
FieldN: KiểuN;
END;
VAR Biến : TênKiểu;
Ví dụ:
TYPE HocSinh = Record
Hoten : String[20];
Tuoi : Integer;
DiemTB : real;
End;
VAR HS : HocSinh;
II. XUẤT NHẬP DỮ LIỆU KIỂU RECORD
Không thể dùng các thủ tục xuất/nhập, các phép toán so sánh đối với các biến kiểu record mà chỉ có thể sử dụng thông qua từng truờng của biến record đó.
2.1. Truy nhập trực tiếp: TênbiếnRecord.Field
2.2. Sử dụng câu lệnh WITH
WITH TênbiếnRecord DO
BEGIN
Xử lý Field1;
Xử lý Field2;
...
Xử lý FieldN;
END;
2.3. Gán biến Record: Ta có thể gán 2 biến Record cùng kiểu với nhau.
BÀI TẬP MẪU
Bài tập 7.1: Viết chương trình thực hiện phép cộng 2 số phức.
Uses Crt;
Type Complex = Record
a,b:Real;
End;
Var c1,c2,c3:Complex;
dau:string;
Begin
Writeln(‘Nhap so phuc c1:’);
Write(‘Phan thuc a = ‘); Readln(c1.a);
Write(‘Phan ao b = ‘); Readln(c1.b);
Writeln(‘Nhap so phuc c2:’);
Write(‘Phan thuc a = ‘); Readln(c2.a);
Write(‘Phan ao b = ‘); Readln(c2.b);
{Tính tổng 2 số phức}
c3.a := c1.a + c2.a;
c3.b := c1.b + c2.b;
{In kết quả ra màn hình}
Writeln(‘Tong cua 2 so phuc:’);
If c1.b>=0 Then dau:=’+i’ else dau:=’-i’;
Writeln(‘c1 = ‘, c1.a:0:2, dau, abs(c1.b):0:2); {Số phức c1}
If c2.b>=0 Then dau:=’+i’ else dau:=’-i’;
Writeln(‘c2 = ‘, c2.a:0:2, dau, abs(c2.b):0:2); {Số phức c2}
Writeln(‘La so phuc:’);
If c3.b>=0 Then dau:=’+i’ else dau:=’-i’;
Writeln(‘c3 = ‘, c3.a:0:2, dau, abs(c3.b):0:2); {Số phức c3}
Readln;
End.
Bài tập 7.2: Viết chương trình quản lý điểm thi Tốt nghiệp của sinh viên với 2 môn thi: Cơ sở và chuyên ngành. Nội dung công việc quản lý bao gồm:
Nhập điểm cho từng sinh viên.
In danh sách sinh viên ra màn hình.
Thống kê số lượng sinh viên thi đậu.
In ra màn hình hình danh sách những sinh viên bị thi lại.
Uses Crt;
Const Max=200;
Type SinhVien=Record
Hoten:string[30];
DiemCS,DiemCN:Byte;
End;
Var SV:ARRAY[1..Max] Of SinhVien;
n:Byte;
c:Char;
Procedure NhapDanhSach;
Var ch:Char;
Begin
Clrscr;
Writeln(`NHAP DANH SACH SINH VIEN`);
n:=0;
Repeat
n:=n+1;
With SV[n] Do
Begin
Write(`Ho ten: `); Readln(Hoten);
Write(`Diem co so: `); Readln(DiemCS);
Write(`Diem chuyen nganh: `); Readln(DiemCN);
End;
Writeln(`Nhan phim bat ky de nhap tiep/Nhan de ket thuc!`);
ch:=Readkey;
Until ch=#27;
End;
Procedure InDanhSach;
Var ch:Char;
i:Byte;
Begin
Clrscr;
Writeln(`DIEM THI TOT NGHIEP SINH VIEN`);
Writeln;
WRITELN(`STT Ho ten Diem Co so Diem Chuyen nganh`);
For i:=
I. KHAI BÁO DŨ LIỆU KIỂU RECORD
TYPE TênKiểu = RECORD
Field1 : Kiểu1;
Field2 : Kiểu2;
...
FieldN: KiểuN;
END;
VAR Biến : TênKiểu;
Ví dụ:
TYPE HocSinh = Record
Hoten : String[20];
Tuoi : Integer;
DiemTB : real;
End;
VAR HS : HocSinh;
II. XUẤT NHẬP DỮ LIỆU KIỂU RECORD
Không thể dùng các thủ tục xuất/nhập, các phép toán so sánh đối với các biến kiểu record mà chỉ có thể sử dụng thông qua từng truờng của biến record đó.
2.1. Truy nhập trực tiếp: TênbiếnRecord.Field
2.2. Sử dụng câu lệnh WITH
WITH TênbiếnRecord DO
BEGIN
Xử lý Field1;
Xử lý Field2;
...
Xử lý FieldN;
END;
2.3. Gán biến Record: Ta có thể gán 2 biến Record cùng kiểu với nhau.
BÀI TẬP MẪU
Bài tập 7.1: Viết chương trình thực hiện phép cộng 2 số phức.
Uses Crt;
Type Complex = Record
a,b:Real;
End;
Var c1,c2,c3:Complex;
dau:string;
Begin
Writeln(‘Nhap so phuc c1:’);
Write(‘Phan thuc a = ‘); Readln(c1.a);
Write(‘Phan ao b = ‘); Readln(c1.b);
Writeln(‘Nhap so phuc c2:’);
Write(‘Phan thuc a = ‘); Readln(c2.a);
Write(‘Phan ao b = ‘); Readln(c2.b);
{Tính tổng 2 số phức}
c3.a := c1.a + c2.a;
c3.b := c1.b + c2.b;
{In kết quả ra màn hình}
Writeln(‘Tong cua 2 so phuc:’);
If c1.b>=0 Then dau:=’+i’ else dau:=’-i’;
Writeln(‘c1 = ‘, c1.a:0:2, dau, abs(c1.b):0:2); {Số phức c1}
If c2.b>=0 Then dau:=’+i’ else dau:=’-i’;
Writeln(‘c2 = ‘, c2.a:0:2, dau, abs(c2.b):0:2); {Số phức c2}
Writeln(‘La so phuc:’);
If c3.b>=0 Then dau:=’+i’ else dau:=’-i’;
Writeln(‘c3 = ‘, c3.a:0:2, dau, abs(c3.b):0:2); {Số phức c3}
Readln;
End.
Bài tập 7.2: Viết chương trình quản lý điểm thi Tốt nghiệp của sinh viên với 2 môn thi: Cơ sở và chuyên ngành. Nội dung công việc quản lý bao gồm:
Nhập điểm cho từng sinh viên.
In danh sách sinh viên ra màn hình.
Thống kê số lượng sinh viên thi đậu.
In ra màn hình hình danh sách những sinh viên bị thi lại.
Uses Crt;
Const Max=200;
Type SinhVien=Record
Hoten:string[30];
DiemCS,DiemCN:Byte;
End;
Var SV:ARRAY[1..Max] Of SinhVien;
n:Byte;
c:Char;
Procedure NhapDanhSach;
Var ch:Char;
Begin
Clrscr;
Writeln(`NHAP DANH SACH SINH VIEN`);
n:=0;
Repeat
n:=n+1;
With SV[n] Do
Begin
Write(`Ho ten: `); Readln(Hoten);
Write(`Diem co so: `); Readln(DiemCS);
Write(`Diem chuyen nganh: `); Readln(DiemCN);
End;
Writeln(`Nhan phim bat ky de nhap tiep/Nhan
ch:=Readkey;
Until ch=#27;
End;
Procedure InDanhSach;
Var ch:Char;
i:Byte;
Begin
Clrscr;
Writeln(`DIEM THI TOT NGHIEP SINH VIEN`);
Writeln;
WRITELN(`STT Ho ten Diem Co so Diem Chuyen nganh`);
For i:=
 






Các ý kiến mới nhất