SGK Tin Học 11 - 6. Câu lệnh with

  • 6. Câu lệnh with trang 1
  • 6. Câu lệnh with trang 2
Câu lệnh with
Trong chương trình Xep loai ở §13 ta thấy sau câu lệnh for-do mỗi khi truy cập đến một trường của biến bản ghi Lop[i\, ta đều phải viết:
Lop [ i ] . 
Như vậy, cần xử lí bao nhiêu trường thì phải viết kèm bấy nhiêu lẩn Lop[/ị Pascal cung cấp lệnh with để tham chiếu đến các trường của biến bản ghi một cách ngắn gọn như sau:
with do
;
Trường (không kèm tên biến bản ghi) trong câu lệnh được hiểu là trường của biến bản ghi đó.
Ví dụ
Ta có thể viết lại chương trình Xepjoai ở §13 như sau:
program Xep_loai;
uses crt;
const Max = 45;
type HocSinh = record
HoTen: string[30];
NgaySinh: string[10];
DiaChi: string[50];
Toan,Van: real;
XepLoai: char;
end;
var Lop: array[1..Max] of HocSinh;
N,i: byte;
begin
clrscr;
write('So luong hoc sinh trong lop N - ');
readln(N);
for i:=l to N do
with lop[i] do begin
writeln('Cac so lieu ve hoc sinh thu	');
write('Ho va ten:
readln(HoTen);
write('Ngay sinh:
readln(NgaySinh);
write('Dia chi: '
); readln(DiaChi);
write('Diem Toan:
readln(Toan);
write('Diem Van:
readln(Van);
if Toan+Van >=18
then
XepLoai:= 'A';
if (Toan+Van>=14)
and
(Toan+Van<18) then
XepLoai:='B';
if (Toan+Van>=10)
and
(Toan+Van<14) then
XepLoai:='c';
if Toan+Van<10 then XepLoai:= 'D';
end;
clrscr;
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
end.