Bµi
18
Gi¸o ¸n ®iÖn tö tin häc líp 11
Một số bài toán với tệp
Bài 1: Đọc vào một dãy n số nguyên (n<=100), ghi dãy số đó
vào tệp có tên BAITAP.INP
- Khai báo;
Program bai1;
Uses crt;
Var
tep2: TEXT;
A:ARRAY[1 100] of Integer;
i,n:Integer;
- Gán tên tệp;
Begin
Clrscr;
ASSIGN(tep2, 'C:\DULIEU.INP);
- Mở tệp ra để ghi;
REWRITE (tep2) ;
Các b ớc:
Thể hiện bằng
pascal
- NhËp sè l îng phÇn tö
trong m¶ng;
For i:=1 to n do
Begin
Write('Doc so thu ',i,'=');
Readln(A[i]);
Write(tep2,A[i]);
End;
Write(‘Nhap n = ');Readln(n);
- §äc vµo m¶ng;
- Ghi ra tÖp DULIEU.INP;
- §ãng tÖp.
Close(tep2);
Readln;
END.
Nhap vao bao nhieu so :
6
Nhap so thu 1 =
5
Nhap so thu 2 =
7
Nhap so thu 3 =
20
Nhap so thu 4 =
15
Nhap so thu 5 =
1
Nhap so thu 6 =
8
-
NhÊn F3 ®Ó më
tÖp BAITAP.INP
xem néi dung.
Néi dung tÖp
BAITAP.INP
- Khai báo;
Program Bai2;
Uses crt;
Var
tep: TEXT;
A:ARRAY[1 100] of Integer;
S,i,n:Integer;
- Gán tên tệp;
Begin
Clrscr;
ASSIGN(tep , 'D:\TP\BAITAP.INP);
- Mở tệp ra để đọc;
RESET(t ep);
Bài 2:
Mở tệp BAITAP.INP, in dãy số trong tệp ra màn hình. Tính
tổng của dãy số đó.
Các b ớc:
Thể hiện bằng
pascal
- Gán tổng của dãy = 0;
Write(A[i]:5);
S:=S+A[i];
End;
S:=0;
- Dãy số nguyên không
biết bao nhiêu số, nh ng
vẫn đọc ra đ ợc bằng
cách dùng hàm
EOF(tên biến tệp);
- Đóng tệp.
Close(tep);
Readln;
END.
- Đọc dữ liệu từ file
BAITAP.INP;
- In ra màn hình dãy số;
- Tính tổng;
Writeln('Tong cua day so la : ',S);
WHILE NOT(EOF(tep)) DO
Begin
Readln(tep,A[i]);
Writeln;