Câu1: sử dụng nnlt pascal viết ct nhập vào 1 xâu, ghi xâu vừa nhập vào tệp ketqua.txt
Câu2: đọc ct sau và trả lời câu hỏi;
Program giaiptbac1;
Var f1,f2: text;
a, b: integer;
x : real;
Begin
assign(f1 ,' input.txt'); reset(f1);
assign(f2 ,' output.txt); rewrite(f2);
while not eof(f1) do
Begin
read(f1,a,b);
x:=-b/a;
writeln(f2,' nghiem la:' , x:7:1);
End;
Close(f1);
Close(f2);
End.
a, ct sử dụng bao nhiêu tệp, biến tệp, kể tên
b, Tệp input.txt, output.txt được gắn cho những biến tệp nào? Nó dùng để đọc hay ghi dữ liệu?
c, chỉ ra câu lệnh gắn tên tệp, mở tệp của tệp input.txt và output.txt. Câu lệnh đọc tệp? Câu lệnh ghi tệp?
d, điều kiện để tham chiếu đến tất cả các cặp số nguyên trong tệp input.txt
e, ct sử dụng bao nhiêu câu lệnh đóng tệp? Không đóng tệp được không? Vì sao?
Câu 2:
a) Chương trình có 2 tệp và 2 biến tệp
- 2 tệp đó là : input.txt và output.txt
- 2 biến tệp đó là: f1 và f2
b)
- Tệp input.txt được gắn cho biến tệp là f1 .Nó dùng để đọc dữ liệu
-Tệp output.txt được gắn cho biết tệp là f2. Nó dùng để ghi dữ liệu
c)
Câu lệnh gắn tập và mở tệp của input.txt và output.txt là : assign(f1 ,' input.txt'); và assign(f2 ,' output.txt);
Câu lệnh đọc tệp là: reset(f1);
Câu lệnh để ghi tệp là: rewrite(f2);
d) Điều kiện để tham chiếu đến tất cả các cặp số nguyên trong tệp input.txt là phải có biến tệp f1 ở trước mọi câu lệnh đọc dữ liệu.
e) Chương trình có 2 lệnh đóng tệp. Không thể không đóng tệp , vì nếu không đóng thì dữ liệu đã thực hiện không thể lưu lại .
Câu 1:
uses crt;
var s,k,tam:string;
dem,i:integer;
begin
clrscr;
write('nhap xau S:'); readln(s);
dem:= 1;
for i:=2 to length(s) do
begin
if s[i]=s[i-1] then inc(dem);
if s[i]<>s[i-1] then
begin
str(dem,tam);
if dem>1 then k:=k+tam+s[i-1]
else k:=k+ s[i-1];
dem:= 1;
end;
if i=length(s) then
begin
str(dem,tam);
if dem >1 then k:=k+tam+s[i]
else k:=k+s[i];
end;
end;
for i:=1 to length(k) do
write(k[i]);
readln;
end.