Professional Documents
Culture Documents
Bo 3
Bo 3
1
Cho một xâu St gồm các ký tự lấy từ tập ‘a’ .. ‘z’ và dấu cách. Xâu không quá 20
từ, mỗi từ dài không quá 10 ký tự.
Yêu cầu: Sắp xếp các từ của xâu ký tự theo thứ tự không giảm của độ dài các từ trong xâu
St.
Dữ liệu vào: Cho trong file văn bản SAPXAU.INP, có cấu trúc:
- Dòng 1: Ghi một xâu ký tự St (có ít nhất 1 từ).
Dữ liệu ra: Ghi ra file văn bản SAPXAU.OUT, theo cấu trúc:
- Dòng 1: Ghi các từ của xâu ký tự sau khi được sắp xếp. Các từ được ghi cách nhau đúng
một dấu cách.
Ví dụ:
SAPXAU.INP SAPXAU.OUT
acb abcde abcd abc acb abc abcd abcde
-----HẾT-----
2
MÔN: TIN HỌC
(Hướng dẫn chấm gồm 05 trang)
3
var gt,i,n,dau:interger; S:real;
BEGIN
write('Nhap N '); readln(n);
gt:=1; S:=0;dau=1;
FOR i:=1 to n do
Begin gt:=gt*i; S:=S+dau*1/gt; dau=-dau;
end;
write('Tong S la: ',S:6:3);
readln;
end.
Câu 3:
Program BAI3;
var M: array[1..100] of integer;
i,n,k:integer;
begin
write('Nhap : ');readln(n);
for i:=1 to n do
begin
write('M[',i,']='); readln(M[i]);
end;
write('Vi tri chen: ');readln(k);
for i:=n+1 downto k+1 do M[i]:=M[i-1];
write('Nhap so can chen: '); readln(M[k]);
for i:=1 to n+1 do write(M[i],', ');
readln
end.
Câu 4: Sắp xếp xâu
Program BAI4;
program sap;
const f1='sapxau.inp';
f2='sapxau.out';
type mm=array[1..20] of string;
var a:mm;
s,st,tg:string;
d:integer;
f:text;
procedure doc;
begin
assign(f,f1);
reset(f);
readln(f,s);
close(f);
end;
procedure xl;
4
var x,j,i:integer;
n:byte;
begin
n:=length(s);
while s[1]=' ' do delete(s,1,1);
while s[n]=' ' do delete(s,n,1);
x:=pos(' ',s);
while x>0 do
begin
delete(s,x,1);
x:=pos(' ',s);
end;
s:=s+' ';
for i:=1 to 20 do a[i]:='';
i:=0;
while s<>'' do
begin
i:=i+1;
a[i]:=copy(s,1,pos(' ',s)-1);
delete(s,1,pos(' ',s));
end;
d:=i;
{ for j:=1 to d do
begin
i:=1;st:='';
while (s[i]<>' ')do
begin
st:=st+s[i];
i:=i+1;
end;
delete(s,1,i);
a[j]:=a[j]+st;
end;}
for i:=1 to d-1 do
for j:=i+1 to d do
if length(a[i])>length(a[j]) then
begin
tg:=a[i];a[i]:=a[j];a[j]:=tg;
end;
end;
procedure xuat;
var i:integer;
begin
5
assign(f,f2);
rewrite(f);
for i:=1 to d do write(f,a[i],' ');
close(f);
end;
begin
doc;xl;xuat;
end.
Câu 5: Dãy con liên tiếp
program day_con;
const fi='daycon.inp';
f0='daycon.out';
type mm=array[1..10000] of integer;
var f:text;
a:mm;
n,m:integer;
procedure doc;
var i:integer ;
begin
assign(f,fi);
reset(f);
read(f,n,m);
for i:=1 to n do read(f,a[i]);
close(f);
end;
procedure xuli;
var i,j,l:integer;
t:longint;
kt:boolean;
begin
assign(f,f0);
rewrite(f);
kt:=false;
for i:=1 to n do
begin
j:=i;
t:=0;
while (t<m )and (j<=n) do
begin
t:=t+a[j];
j:=j+1;
end;
if t=m then
begin
6
kt:=true;
for l:=i to j-1 do write(f,a[l],' ');
writeln(f);
end;
end;
if kt=false then write(f,0);
close(f);
end;
begin
doc; xuli;
end.
===HẾT===