Professional Documents
Culture Documents
BÀI
Nguyễn Ngọc Thùy Dương Đoàn Thái Bình
14:KI
Lê Thị Kim Khánh Nguyễn Kim Hoàng
ỂU
Nội dung bài học
1. Vai trò của kiểu tệp
Ví dụ bài học
Ví dụ 1: Tìm nghiệm của phương trình
bậc 2: ax2 + bx + c = 0 với a<>0
DỮ
Tất cả các dữ liệu thuộc kiểu dữ liệu
đã xét đều được lưu trữ ở trong RAM
PROGRAM vidu1;
VAR a,b,c,x,x1,x2,delta:real;
BEGIN
do đó sẽ mất khi tắt máy. Với một số
bài toán có khối lượng dữ liệu lớn, có Write(‘nhap a,b,a’); readln(a,b,c);
LIỆU
yêu cầu lưu trữ để xử lí nhiều lần, cần
có kiểu dữ liệu tệp file.
Delta:=b*b-4*a*c;
IF delta <0 THEN writeln(‘phuong
trinh vo nghiem’)
ELSE IF delta=0 THEN
TỆP
Ví dụ:
Begin
Ta muốn lưu một bộ test để chấm bài X:=-b/2*a;
khoảng 1000 học sinh nếu ta nhập tay Writeln(‘phuong trinh co 1
nghiem la:’,x:8:2);
sẽ rất mất thời gian hoặc là số lượng
End
đầu vào cho chương trình rất lớn khi ELSE
đó ta cũng cần sử dụng file. Begin
X1:=(-b-sqrt(delta))/2*a;
Kiểu dữ liệu tệp có những đặc điểm X2:=(-b+sqrt(delta))/2*a;
sau: End;
Readln
+ Được lưu trữ lâu dài ở bộ nhớ ngoài END.
và không bị mất khi tắt nguồn điện. Ví dụ 2:
Tìm nghiệm thực của phương trình bậc
+ Lượng dữ liệu lưu trữ trên tệp có hai
thể rất lớn và chỉ phụ thuộc vào dung AX2 + BX + C= 0
lượng của đĩa. Ví dụ 3:
Tìm số ngày của một năm: Năm nhuận
2. Phân loại tệp và thao tác với tệp là năm chia hết cho 400 hoặc chia hết
cho 4 nhưng không chia hết cho 100.
Xét theo các tổ chức dữ liệu: program so_ngay;
uses crt;
+ Tệp văn bản: Tệp mà dữ liệu được var n,sn: integer;
ghi dưới dạng các kí tự theo mã begin
ASCII . Trong tệp văn bản, dãy kí tự clrscr;
kết thúc bởi kí tự kết thúc dòng hay kí write('nhap nam:'); readln(n);
if (n mod 400=0) or ((n mod 4 =0) and
tự kết thúc tệp tạo thành một dòng.
(n mod 100<>0)) then sn:=366
+ Tệp có cấu trúc: Tệp mà cac thành else
sn:=365;
phần của nó được tổ chức theo một
write('So ngay nam',n,'la:',sn);
cấu trúc nhất định. Tệp nhị phân là
readln;
một trường hợp riêng của tệp có cấu end.
trúc. Dữ liệu ảnh, âm thanh ,…
thường được lưu trữ dưới dạng tệp có
cấu trúc. Mỗi tệp có cấu trúc sẽ có
chương trình riêng để đọc tệp đó. Xét
theo cách thức truy cập:
+ Mở tệp;
+ Đọc/Ghi dữ liệu;
+ Đóng tệp;
BÀI
15:
THA
O
TÁC
VỚI
2. Thao tác với tệp Câu 2.Để gắn tên tệp ta dùng thủ tục
D.Integer
b) Mở tệp
Rewrite(<biến tệp>);
d) Đóng tệp
Cú pháp:
Close(<biến tệp>);
program vdf;
uses crt;
var
f1,f2:text;
s:string;
begin
assign(f1,'INP');
assign(f2,'OUT');
rewrite(f2);
reset(f1);
readln(f1,s);
write(f2,s);
close(f1);
close(f2);
end.
Kết quả:
BÀI
Ví dụ bài học Trình bày
16.Ví
dụ
Ví dụ : program kc;
Một trường trung học phổ thông tổ uses crt;
chức cho giáo viên và học sinh của var
trường đi cắm trại, sinh hoạt ngoài
d:real;
trời ở vườn quốc gia Cúc Phương.
Để lên lịch đến thăm khu trại các f:text;
lớp, thầy hiệu trưởng cần biết x,y:integer;
khoảng cách từ trại của mình (ở vị begin
trí có tọa độ (0,0) )đến trại của các
giáo viên chủ nhiệm. Mỗi lớp có clrscr;
một khu trại, vị trí trại của mỗi assign(f,'TRAI.TXT');
giáo viên chủ nhiệm đều có tọa độ reset(f);
nguyên (x,y) được ghi trong tệp
while not eof(f) do
văn bản TRAI.TXT (như vậy tệp
TRAI.TXT chứa liên tiếp các cặp begin
số nguyên, các số cách nhau bởi read(f,x,y);
dấu cách và không kết thúc bằng kí
d:=sqrt(x*x+y*y);
tự xuống dòng).
writeln('Khoang
cach :',d:10:2);
end;
close(f);
readkey;
end.