Tên tệp : tepcho.pas Em hãy viết chương trình đọc từ tệp 1 dãy số có n số. Em hãy thực hiện riêng nhưng công việc sau: 1. Sắp xếp tăng, giảm vào tệp sx.pas 2. Tìm số lớn nhất, nhỏ nhất và cho biết vị trí của nó 3. Tính tổng của dãy số 4. Kiểm tra số chẵn, lẻ, số nguyên tố Mỗi câu làm một bài riêng và cho vào từng tệp kết quả ạ.
2 câu trả lời
1.program Taylor;
uses crt;
var d:text; n,i,j,t:longint; a:array[1..10000000]of longint;
begin
clrscr;
assign(d,'tepcho.pas');reset(d);
readln(d,n);
for i:=1 to n do read(d,a[i]);
close(d);
assign(d,'sx.pas');rewrite(d);
for i:=1 to n do
for j:=i to n do
if a[i]>a[j] then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
for i:=1 to n do write(d,a[i],' '); writeln(d);
for i:=1 to n do write(d,a[n-i+1],' ');
close(d);
end.
2.
program Taylor;
uses crt;
var d:text; n,i,j,t:longint; a:array[1..10000000]of longint;
begin
clrscr;
assign(d,'tepcho.pas');reset(d);
readln(d,n);
for i:=1 to n do read(d,a[i]);
close(d);
assign(d,'lonbe.pas');rewrite(d);
for i:=1 to n do
for j:=i to n do
if a[i]>a[j] then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
for i:=1 to n do write(d,a[i],' '); writeln(d);
for i:=1 to n do write(d,a[n-i+1],' ');
close(d);
end.
3.program Taylor;
uses crt;
var d:text; n,i,tong:longint; a:array[1..10000000]of longint;
begin
clrscr;
assign(d,'tepcho.pas');reset(d);
readln(d,n);
for i:=1 to n do read(d,a[i]);
close(d);
assign(d,'tong.pas');rewrite(d);
for i:=1 to n do inc(tong,a[i]);
writeln(d,tong);
close(d);
end.
4.
program Taylor;
uses crt;
var d:text; n,i:longint; a:array[1..10000000]of longint;
function nt(a:longint):boolean;
var i:longint;
begin
i:=2;
while(a>1)and(a mod i<>0) do inc(i);
nt:=i=a;
end;
begin
clrscr;
assign(d,'tepcho.pas');reset(d);
readln(d,n);
for i:=1 to n do read(d,a[i]);
close(d);
assign(d,'clnt.pas');rewrite(d);
write(d,'Chan:');
for i:=1 to n do if a[i] mod 2=0 then write(d,a[i],' '); writeln(d);
write(d,'Le:');
for i:=1 to n do if a[i] mod 2=1 then write(d,a[i],' '); writeln(d);
write(d,'Nguyen to:');
for i:=1 to n do if nt(a[i]) then write(d,a[i],' ');
close(d);
end.
Câu 1:
program bai_giai;
var f,g:text;
A:array[1..10000] of longint;
n,i,j,tg:longint;
begin
Assign(f,'tepcho.pas'); reset(f);
Assign(g,'sapxep.pas'); rewrite(g);
readln(f,n);
for i:=1 to n do read(f,A[i]);
for i:=1 to n-1 do
for j:=i+1 to n do
if A[i]>A[j] then
begin
tg:=A[i];
A[i]:=A[j];
A[j]:=tg;
end;
for i:=1 to n do write(g,A[i],' ');
writeln(g);
for i:=n downto 1 do write(g,A[i],' ');
close(f); close(g);
end.
Bài 2:
program bai_giai;
var f,g:text;
A:array[1..10000] of longint;
n,i,max,min,bt1,vt2:longint;
begin
Assign(f,'tepcho.pas'); reset(f);
Assign(g,'maxmin.pas'); rewrite(g);
readln(f,n);
for i:=1 to n do read(f,A[i]);
max:=A[1]; min:=A[1]; vt1:=1; vt2:=1;
for i:=2 to n do
begin
if A[i]>max then
begin
max:=A[i]; vt1:=i;
end;
if A[i]<min then
begin
min:=A[i]; vt2:=i;
end;
end;
writeln(g,max,' ',vt1);
writeln(g,min,' ',vt2);
close(f); close(g);
end.
Bài 3:
program bai_giai;
var f,g:text;
A:array[1..10000] of longint;
n,i,t:longint;
begin
Assign(f,'tepcho.pas'); reset(f);
Assign(g,'tong.pas'); rewrite(g);
readln(f,n);
for i:=1 to n do read(f,A[i]);
t:=0;
for i:=1 to n do t:=t+A[i];
write(g,t);
close(f); close(g);
end.
Bài 4:
program bai_giai;
var f,g:text;
A:array[1..10000] of longint;
n,i:longint;
function ktnt(k:longint):boolean;
var r:longint;
begin
ktnt:=false;
if k<2 then exit;
for r:=2 to trunc(sqrt(k)) do
if k mod r=0 then exit;
ktnt:=true;
end;
BEGIN
Assign(f,'tepcho.pas'); reset(f);
Assign(g,'maxmin.pas'); rewrite(g);
readln(f,n);
for i:=1 to n do read(f,A[i]);
for i:=1 to n do
if A[i] mod 2=0 then write(g,A[i],' ');
writeln(g);
for i:=1 to n do
if A[i] mod 2=1 then write(g,A[i],' ');
writeln(g);
for i:=1 to n do
if ktnt(A[i]) then write(g,A[i],' ');
close(f); close(g);
END.