K
Khách

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.

27 tháng 4 2020

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 .

27 tháng 4 2020

Bạn làm gì vậy :V? Mình không hiểu

ĐÁP ÁN VÒNG 1 CUỘC THI TIN HỌC LẦN 2 Câu 1: const fi='ptyn.inp'; fo='ptyn.out'; var a:array[1..100,1..100]of integer; i,j,n,m,snn,sln,vtc,vth,x,z,kt,k,dem:integer; f1,f2:text; begin assign(f1,fi); reset(f1); assign(f2,fo); rewrite(f2); readln(f1,n,m); for i:=1 to n do for j:=1 to m do read(f1,a[i,j]); {----------nho nhat hang----------} dem:=0; for i:=1 to n do begin snn:=a[i,1]; for j:=1 to m do if snn>=a[i,j] then begin snn:=a[i,j]; vth:=i; vtc:=j; end; kt:=0; ...
Đọc tiếp

ĐÁP ÁN VÒNG 1 CUỘC THI TIN HỌC LẦN 2

Câu 1:

const fi='ptyn.inp';
fo='ptyn.out';
var a:array[1..100,1..100]of integer;
i,j,n,m,snn,sln,vtc,vth,x,z,kt,k,dem:integer;
f1,f2:text;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n,m);
for i:=1 to n do
for j:=1 to m do
read(f1,a[i,j]);
{----------nho nhat hang----------}
dem:=0;
for i:=1 to n do
begin
snn:=a[i,1];
for j:=1 to m do
if snn>=a[i,j] then
begin
snn:=a[i,j];
vth:=i;
vtc:=j;
end;
kt:=0;
sln:=a[vth,vtc];
for k:=1 to n do
if sln<a[k,vtc] then kt:=1;
if kt=0 then
begin
writeln(f2,vth,' ',vtc);
dem:=dem+1;
end;
end;
if dem=0 then writeln(f2,'Khong co phan tu yen ngua');
close(f1);
close(f2);
end.

Câu 2: Bài làm của bạn @Tran Nguyễn Đăng Dương

Program connect;
uses crt;
const fi='connect.inp';
fo='connect.out';
type num=record
number,top:integer;
end;
var a:array[0..1000] of num;
t:num;
i,n,j:integer;
f1,f2:text;
Function timtop(a:integer):integer;
begin
if a<10 then exit(a);
exit(timtop(a div 10));
end;
Begin
clrscr;
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
read(f1,n);
for i:=1 to n do
begin
read(f1,a[i].number);
a[i].top:=timtop(a[i].number);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
begin
if a[i].top=a[j].top then
begin
if a[i].number>a[j].number then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
end
else if a[i].top<a[j].top then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
end;
for i:=1 to n do write(f2,a[i].number);
Close(f1);
Close(f2);
End.

Câu 3:

const fi='quediem.inp';
fo='quediem.out';
var f1,f2:text;
i,m,n,d,x,j,csc:longint;
a,b:array[1..100]of integer;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n);
{---------------------------tim-so-lon-nhat----------------------------}
m:=n;
if m mod 2=0 then
begin
for i:=1 to n div 2 do
write(f2,'1');
end
else begin
write(f2,'7');
for i:=2 to n div 2 do
write(f2,'1');
end;
{---------------------------tim-so-nho-nhat----------------------------}
write(f2,'-');
a[1]:=2; b[1]:=1;
a[2]:=5; b[2]:=2;
a[3]:=4; b[3]:=4;
a[4]:=6; b[4]:=6;
a[5]:=3; b[5]:=7;
a[6]:=7; b[6]:=8;
d:=(n div 7)+1;
if n mod 7=0 then d:=d-1;
if d=1 then
begin
case n of
2: write(f2,'1');
3: write(f2,'7');
4: write(f2,'4');
5: write(f2,'2');
6: write(f2,'0');
7: write(f2,'8');
end;
end;
if d>1 then
begin
for i:=1 to d do
if i=1 then
begin
b[4]:=6;
for j:=1 to 6 do
begin
x:=n;
x:=x-a[j];
csc:=(x div 7)+1;
if x mod 7=0 then dec(csc);
if csc=d-i then
begin
write(f2,b[j]);
n:=x;
break;
end;
end;
end
else begin
a[1]:=6; b[1]:=0;
a[2]:=2; b[2]:=1;
a[3]:=5; b[3]:=2;
a[4]:=4; b[4]:=4;
a[5]:=3; b[5]:=7;
a[6]:=7; b[6]:=8;
for j:=1 to 6 do
begin
x:=n;
x:=x-a[j];
csc:=(x div 7)+1;
if x mod 7=0 then csc:=csc-1;
if csc=d-i then
begin
write(f2,b[j]);
n:=x;
break;
end;
end;
end;
end;
close(f1);
close(f2);
end.

Câu 4:

const fi='tvh.inp';
fo='tvh.out';
var n,d,dem,sl,s2cs,s3cs,s4cs,s5cs,s6cs,s7cs,s8cs,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-100000)+1;
s7cs:=n-999999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6+s7cs*7;
end;
8: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=(99999-10000)+1;
s6cs:=(999999-100000)+1;
s7cs:=(9999999-1000000)+1;
s8cs:=n-9999999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6+s7cs*7+s8cs*8;
end;
end;
if k<=dem then
begin
i:=1;
d1:=0;
repeat
str(i,st1);
d1:=d1+length(st1);
inc(i);
until d1>=k;
stk:=st1[length(st1)-(d1-k)];
writeln(f2,stk);
end;
close(f1);
close(f2);
end.

Câu 5: Bài làm của bạn @Tran Nguyễn Đăng Dương

Program robot;
uses crt;
const fi='robot.inp';
fo='robot.out';
type path=record
num,npath:integer;
end;
var a:array[0..1000,0..1000] of path;
i,j,n:integer;
b,c:array[1..2] of Integer;
st,st1:string;
f1,f2:text;
check:boolean;
min:real;
Function he2sanghe10(st1:string):real;
var d,x,tg:integer;
stt:string;
begin
he2sanghe10:=0;
d:=Length(st1);
for i:=1 to d do
begin
stt:=st1[i];
Val(stt,x,tg);
he2sanghe10:=he2sanghe10*2+x;
end;
end;
Procedure robotpath(x,y:integer; st1:string);
var k:integer;
t:string;
S:real;
begin
if (x=n) and (y=n) then
begin
S:=0;
S:=he2sanghe10(st1);
if (min>S) then
begin
min:=S;
st:=st1;
end;
end
else
for k:=1 to 2 do
begin
if (x+b[k]>=1) and (y+c[k]>=1) and (x+b[k]<=n) and (y+c[k]<=n) then
begin
str(a[x+b[k],y+c[k]].num,t);
st1:=st1+t;
a[x+b[k],y+c[k]].npath:=a[x,y].npath+1;
robotpath(x+b[k],y+c[k],st1);
Delete(st1,Length(st1),1);
if (a[x+b[k],y+c[k]].npath=0) then break;
end;
end;
end;
Begin
clrscr;
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
b[1]:=1; c[2]:=1;
min:=99999999999999999999999999999999999999;
read(f1,n);
for i:=1 to n do
for j:=1 to n do
begin
read(f1,a[i,j].num);
a[i,j].npath:=n*n;
end;
a[1,1].npath:=1;
Str(a[1,1].num,st1);
robotpath(1,1,st1);
writeln(f2,st);
Close(f1);
Close(f2);
End.

7

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.

14 tháng 8 2020

Em hiểu,nhưng cách anh chỉ đến 8 chữ số là cùng.

Cách em thì chỉ cần lấy int64(em dùng luôn mấy biến real vì bự hơn) thì chấp 10^30

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

16 tháng 1 2022

cảm ơn rất nhiều ạ

 

2 tháng 6 2020

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.

Câu 24. Trong pascal, cho đoạn chương trình:Assign(f1,‟Input.dat‟); Reset(f1);While not eoln(f1) do BeginRead(f1,x);Write(x, ‘ '); End;Close(f1); A. Xuất dữ liệu trong tệp Input.dat ra màn hình;   B. Ghi dữ liệu vào tệp Input.dat; C. Gắn tên tệp Input.Dat cho biến tệp f1;              D. Mở tệp Input.dat để đọc; Câu 25. Đoạn chương trình sau thực hiện: Assign(f1,‟Input.dat‟); Assign(f2,‟Output.dat‟); Reset(f1); Rewrite(f2);While not EOF(f1)...
Đọc tiếp

Câu 24Trong pascal, cho đoạn chương trình:Assign(f1,‟Input.dat‟); Reset(f1);

While not eoln(f1) do 

Begin

Read(f1,x);Write(x, ‘ '); 

End;

Close(f1);

 

A. Xuất dữ liệu trong tệp Input.dat ra màn hình;   B. Ghi dữ liệu vào tệp Input.dat;

 

C. Gắn tên tệp Input.Dat cho biến tệp f1;              D. Mở tệp Input.dat để đọc;

 

Câu 25. Đoạn chương trình sau thực hiện: Assign(f1,‟Input.dat‟); Assign(f2,‟Output.dat‟); Reset(f1); Rewrite(f2);

While not EOF(f1) do

Begin

Read(f1,x); Write(f2,x,’ ’);

End;

Close(f1); 

Close(f2);

 

Đọc dữ liệu từ tệp Input.dat và ghi dữ liệu ra tệp Output.dat trên cùng một dòng.

B.Đọc dữ liệu từ tệp Input.dat và ghi dữ liệu ra tệp Output.dat trên nhiều dòng.

Đọc dữ liệu từ tệp Output.dat và ghi dữ liệu ra tệp Input.dat trên nhiều dòng.

Đọc dữ liệu từ tệp Output.dat và ghi dữ liệu ra tệp Intput.dat trên cùng một dòng.

 

Câu 26. Cho tệp B13.TXT chỉ có một dòng „abcdefgh‟ và chương trình sau: Var f:text; S1:string[3]; S2:string;

Begin

Assign(f,’B13.TXT’); 

Reset(f); 

Read(f,S2,S1);

Readln

End.

 

Sau khi chạy chương trình trên thì S1,S2 có kết quả là

 

a. S1=’absdefgh’; S2=’ ’

b. S1=’ ’; S2=’abcdefgh’

 c. S1=’abcde’;S2=’fgh’

d. Cả a,b,c sai

1

Câu 24: A

Câu 25: A

 

3 tháng 11 2018

Nhập giá trị nguyên b sao cho b>a thì xuất được thông báo đó

Có 2 bài, ai làm được bài nào giúp mình với ạ, tại đang cần gấp. Cảm ơn mọi người nhiều Bài 1: Cho đoạn chương trình sau: Program Vidu;Var      A,B : text;     F : integer;Begin     Assign ( A,'Songuyen.TXT');     Assign ( B,'Soam.TXT');     reset (A);     rewrite (B);     while not eof (A) do     begin            read ( A, x);            Ifx>= 0 then            Write ( ' can bac hai cua x la ,' sqrt ( X:5:2)            else write ( B,x);      end;      close (A);...
Đọc tiếp

Có 2 bài, ai làm được bài nào giúp mình với ạ, tại đang cần gấp. Cảm ơn mọi người nhiều leu

Bài 1: Cho đoạn chương trình sau: 

Program Vidu;

Var 

     A,B : text;

     F : integer;

Begin

     Assign ( A,'Songuyen.TXT');

     Assign ( B,'Soam.TXT');

     reset (A);

     rewrite (B);

     while not eof (A) do

     begin

            read ( A, x);

            Ifx>= 0 then

            Write ( ' can bac hai cua x la ,' sqrt ( X:5:2)

            else write ( B,x);

      end;

      close (A); close (B);

End.

Xác định ý nghĩa của các lệnh và cho biết chương trình trên làm công việc gì?

Bài 2: Cho tệp SONGUYEN.INP gồm các số nguyên (mỗi số cách nhau bởi dấu cách và không kết thúc bởi ký tự xuống dòng). Hãy đọc dữ liệu từ tệp SONGUYEN.INP và ghi vào tệp SONGUYEN.OUT tổng các số nguyên chẵn.

0