Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
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.
Bài làm của bạn @lê chí hiếu(bạn được 2,1 điểm)
bài 1
program PTYN;
uses crt;
var a:array[1..100,1..100]of integer;
i,j,m,n:integer;
f1,f2:text;
Max, Min:Integer;
Kt:boolean;
Procedure XuatMang;
begin
For i:=1 to n do
begin
for j:=1 to m do
Write(a[i,j]:4);
Writeln;
end;
end;
Procedure MaxCot(l:Integer);
var p:Integer;
begin
Max:=A[1,l];
For p:=2 to n do
if A[p,l]>Max then Max:=A[p,l];
end;
Procedure MinHang(k:Integer);
var o:integer;
begin
Min:=A[k,1];
For o:=2 to n do
if A[k,o]<Min then Min:=A[k,o];
end;
begin
clrscr;
assign(f1,'ptyn.inp');
assign(f2,'ptyn.out');
reset(f1);rewrite(f2);
while not EOF(f1) do
begin
kt:=false;
readln(f1,n,m);
for i:=1 to n do
begin
for j:=1 to m do
Read(f1,a[i,j]);
readln(f1);
end;
for i:=1 to n do
begin
for j:=1 to n do
begin
MaxCot(j);
MinHang(i);
if Max=Min then
begin
Writeln(f2,'(',i,',',j,')');
kt:=true;
end;
end;
end;
If kt=false then Writeln(f2,'Khong co ptu yen ngua.');
end;
Close(f1); Close(f2);
Readln
End.
Bài 4
const fi='tvh.inp';
fo='tvh.out';
var n,d,dem,sl,s2cs,s3cs,s4cs,s5cs,s6cs,s7cs,k,i,d1:longint;
st,st1,stk:string;
f1,f2:text;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n,k);
str(n,st);
d:=length(st);
case d of
1: write(9);
2: begin
sl:=n-9;
dem:=9+sl*2;
end;
3: begin
s2cs:=(99-10)+1;
s3cs:=n-99;
dem:=9+s2cs*2+s3cs*3;
end;
4: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=n-999;
dem:=9+s2cs*2+s3cs*3+s4cs*4;
end;
5: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=n-9999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5;
end;
6: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=(99999-10000)+1;
s6cs:=n-99999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6;
end;
7: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=(99999-10000)+1;
s6cs:=(999999-1000000)+1;
s7cs:=n-999999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6+s7cs*7;
end;
end;
if k<=dem then
begin
i:=1;
d1:=0;
repeat
str(i,st1);
d1:=d1+length(st1);
i:=i+1;
until d1>=k;
stk:=st1[length(st1)-(d1-k)];
writeln(f2,stk);
end;
close(f1);
close(f2);
end.
Bài 5
PROGRAM robot;
VAR A:ARRAY[0..30,0..30] OF BYTE;
F:ARRAY[0..30,0..30] OF LONGINT;
m,n:INTEGER;
PROCEDURE Enter;
VAR i,j:INTEGER;
BEGIN
readln(m,n);
FOR i:=1 TO m DO
BEGIN
FOR j:=1 TO n DO read(A[i,j]);
readln;
END;
FOR i:=0 TO m DO A[i,0]:=-1;
FOR j:=0 TO n DO A[0,j]:=-1;
END;
FUNCTION Max(a,b:LONGINT):LONGINT;
BEGINIF (a>b) THEN Max:=a ELSE Max:=b;
END;
PROCEDURE Optimize;
VAR i,j:INTEGER;
BEGIN
FOR i:=0 TO m DO F[i,0]:=-1;
FOR j:=0 TO n DO F[0,j]:=-1;
F[0,1]:=0;
FOR i:=1 TO m DO
FOR j:=1 TO n DO
F[i,j]:=2*Max(F[i,j-1],F[i-1,j])+A[i,j];
END;
PROCEDURE Trace(i,j:INTEGER);
BEGINIF (i=1) AND (j=1) THEN
writeln(F[m,n])
ELSE
BEGIN
IF F[i,j-1]>F[i-1,j] THEN
Trace(i,j-1)
ELSE
Trace(i-1,j);
writeln(i,' ',j);
END;
END;
BEGIN
Assign(Input,'Robot.inp'); Reset(Input);
Assign(Output,'Robot.out');Rewrite(Output);
Enter;
Optimize;
Trace(m,n);
close(Input);
close(Output);
END.
Bài làm của bạn @Canh Toan Le(bạn này được 20 điểm tối đa)
Câu 1
const
fi='PTYN.INP';
fo='PTYN.OUT';
var m,n,i,j:longint;
a:array[1..105,1..105] of longint;
hang,cot:array[1..105] of longint;
begin
assign(input,fi);
reset(input);
readln(m,n);
for i:=1 to 105 do
hang[i]:=maxlongint;
for i:=1 to m do
for j:= 1 to n do
read(a[i,j]);
close(input);
for i:=1 to n do
for j:=1 to m do
if a[i,j]<hang[i] then hang[i]:=a[i,j];
for j:=1 to m do
for i:=1 to n do
if a[i,j]>cot[j] then cot[j]:=a[i,j];
assign(output,fo);
rewrite(output);
for i:=1 to m do
for j:=1 to n do
if (a[i,j]=hang[j]) and (a[i,j]=cot[i]) then
begin
write(i,' ',j);
exit;
end;
write('Khong co phan tu yen ngua');
close(output);
end.
Câu 2
const
fi='CONNECT.INP';
fo='CONNECT.OUT';
var n,i,j:longint;
a:array[1..10000] of string;
tmp:string;
function ss(x,y:string):boolean;
var t1,t2:int64;
begin
val(x+y,t1);
val(y+x,t2);
if t1<t2 then exit(true);
exit(false);
end;
begin
assign(input,fi);
reset(input);
readln(n);
for i:=1 to n do
readln(a[i]);
close(input);
for i:=1 to n-1 do
for j:=i+1 to n do
if ss(a[i],a[j]) then
begin
tmp:=a[i];
a[i]:=a[j];
a[j]:=tmp;
end;
assign(output,fo);
rewrite(output);
for i:=1 to n do write(a[i]);
close(output);
end.
Câu 3
const
fi='QUEDIEM.INP';
fo='QUEDIEM.OUT';
var n,i:longint;
a:array[0..9] of byte = (6,2,5,5,4,5,6,3,7,6);
function check(x:longint):boolean;
var s,t:int64;
begin
s:=0;
while x>0 do
begin
t:=x mod 10;
s:=s+a[t];
x:=x div 10;
end;
exit(s=n);
end;
begin
assign(input,fi);
reset(input);
readln(n);
close(input);
assign(output,fo);
rewrite(output);
if n mod 2= 0 then
for i:=1 to n div 2 do write(1)
else
begin
write(7);
for i:=1 to (n-3) div 2 do write (1);
end;
write('-');
for i:=1 to 100000000 do
if check(i) then begin write(i); exit;end;
close(output);
end.
Câu 4
const
fi='TVH.INP';
fo='TVH.OUT';
var n,i,k:longint;
s,t:ansistring;
begin
assign(input,fi);
reset(input);
readln(n,k);
close(input);
for i:=1 to n do
begin
str(i,t);
s:=s+t;
if length(s)>k then break;
end;
assign(output,fo);
rewrite(output);
write(s[k]);
close(output);
end.
Câu 5
const
fi='ROBOT.INP';
fo='ROBOT.OUT';
var n,i,j:longint; c:char;
a,dp:array[0..55,0..55] of string;
b:array[0..55,0..55] of byte;
begin
assign(input,fi);
reset(input);
readln(n);
for i:=1 to n do
for j:=1 to n do
read(b[i,j]);
for i:=1 to n do
for j:=1 to n do
a[i,j]:=chr(b[i,j]+48);
close(input);
for i:=1 to n do
begin
dp[1,i]:=dp[1,i-1]+a[1,i];
dp[i,1]:=dp[i-1,1]+a[i,1];
end;
for i:=2 to n do
for j:=2 to n do
if dp[i-1,j]>dp[i,j-1] then
dp[i,j]:=dp[i,j-1]+a[i,j]
else
dp[i,j]:=dp[i-1,j]+a[i,j];
assign(output,fo);
rewrite(output);
write(dp[n,n]);
close(output);
end.
Tại vì cái này là xuất ra file nên bạn hãy bỏ cái uses crt; clrscr; readln là sẽ chạy rất tốt
Giả sử trên đĩa tồn tại một tệp F chứa các số nguyên có tên KQ.DAT, để đọc dữ liệu từ tệp, ta lần lượt thực hiện các thao tác:
A. Assign(F,'KQ.DAT');
Reset(F);
Close(F);
B. Reset(F);
Read(F,x);
Assign(F,'KQ.DAT');
Close(F);
C. Assign(F,'KQ.DAT');
Rewrite(F);
Read(F,x);
Close(F);
D. Assign(F,'KQ.DAT');
Reset(F);
Readln(F,x);
Close(F);
const fi='vao.inp';
fo='ra.out';
var n,i,s:integer;
f1,f2:text;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n);
s:=0;
for i:=1 to n do
s:=s+i;
writeln(f2,s);
close(f1);
close(f2);
end.
program fibonaci;
uses crt;
var f:array[1..100]of integer;
n,i,j:integer;
begin
clrscr;
write('n='); readln(n);
f[1]:=1;
f[2]:=1;
i:=2;
repeat
inc(i);
f[i]:=f[i-1]+f[i-2];
until i=n;
writeln(n,' so fibonaci dau tien la: ');
for i:=1 to n do
write(f[i]:4);
readln;
end.
Đọc tệp sẵn là Data(I).txt bên trong có 24 chữ số có cả âm và dương. Tính tổng 24 chữ số rồi in ra Data(O).txt . Các bác giúp em với program day_so; uses crt; Const fi=('An(I).txt'); fo=('An(O).txt'); var i,t,s,n: integer; f1,f2:text; a: array[1..24] of integer; begin clrscr; assign(f1,fi);reset(f1); assign(f2,fo);rewrite(f2); s:=0; for i:=1 to 24 do begin read(f1,a[i]); s:=s+a[i]; end; write(f2,s); close(f1); close(f2); readln end. Em không biết sai ở đâu ☹️