Đề thi tỉnh năm 2012
Chia sẻ bởi Vũ Đức Khôi |
Ngày 26/04/2019 |
41
Chia sẻ tài liệu: Đề thi tỉnh năm 2012 thuộc Tin học 11
Nội dung tài liệu:
Bai 1 Xâu đối xứng. Yêu cầu: Xâu S ko quá 200 kí tự. Kiểm tra xem S có phải xâu đối xứng hay ko. (Cái này dễ rồi) Nếu ko phải thì cho biết số kí tự cần thêm vào S để S trờ thành xâu đối xứng. Dữ liệu: Bai3INP.txt : chứa xâu S (1 dòng duy nhất) Bai3OUT.txt : Kết quả: Ghi số kí tự cần thêm vào S để S thành xâu đối xứng. (Nếu đã là xâu đối xứng thì ghi là 0). Ví dụ: VD1: Bai3INP.txt: RADAR Bai3OUT.txt: 0 VD2: Bai3INP: TOMATO Bai3OUT.txt: 3
uses crt;
const MN=51;
fileinput=`d:Bai3.INP`;fileoutput=`d:ai3.out`;
type kieuchuoi=array[1..mn] of char;
var s:kieuchuoi;
n,dem:integer;
f:text;
procedure Doc;
var i:integer;
begin
assign(f,fileinput);
reset(f);
i:=0;dem:=0;
while not(eof(f)) do
begin
inc(i); inc(dem);
read(f,s[i]);
end;
close(f);
end;
function max(a,b:integer):integer;
begin
if(a>b) then max:=a else max:=b;
end;
function rec(i,j:integer):integer;
begin
if(i>j) then rec:=0
else
if(i=j) then rec:=1
else
begin
if s[i]=s[j] then rec:=rec(i+1,j-1)+2
else
rec:=max(rec(i+1,j),rec(i,j-1));
end;
end;
BEGIN
Doc;
assign(f,fileoutput);
rewrite(f);
write(f,`so ki tu can them (min) `,dem-rec(1,dem));
close(f);
END.
Uses crt;
Var
st:string;
i,dem,l,j:longint;
BEGIN
Clrscr;
st:=`TOMATO`;
dem:=0;
l:=length(st);
i:=1;
While (i<=l) do
Begin
If (st[i]<>st[l-i+1]) then
Begin
l:=l+1;
For j:=l downto (l-i+1) do
st[j]:=st[j-1];
st[l-i+1]:=st[i];
dem:=dem+1;
End;
i:=i+1;
End;
Write(dem);
Readln;
END.
Bài 2(5 diem)
Biến đổi ma trận
Viết chương trình nhập vào hai số nguyên dương m,n và ma trận các số nguyên A[m,n]. Hãy xâu dựng ma trận B[m,n] từ ma trận A với:
B[I,j]=P là số ước nguyên tố của A[I,j] nếu A[I,j] > 1
B[I,j]= 0 nếu A[I,j] ≤1
Ví dụ: m=3; n=3
A=
Ma trận B là
B=
uses crt;
const MN=51;
fileinput=`d:Bai3.INP`;fileoutput=`d:ai3.out`;
type kieuchuoi=array[1..mn] of char;
var s:kieuchuoi;
n,dem:integer;
f:text;
procedure Doc;
var i:integer;
begin
assign(f,fileinput);
reset(f);
i:=0;dem:=0;
while not(eof(f)) do
begin
inc(i); inc(dem);
read(f,s[i]);
end;
close(f);
end;
function max(a,b:integer):integer;
begin
if(a>b) then max:=a else max:=b;
end;
function rec(i,j:integer):integer;
begin
if(i>j) then rec:=0
else
if(i=j) then rec:=1
else
begin
if s[i]=s[j] then rec:=rec(i+1,j-1)+2
else
rec:=max(rec(i+1,j),rec(i,j-1));
end;
end;
BEGIN
Doc;
assign(f,fileoutput);
rewrite(f);
write(f,`so ki tu can them (min) `,dem-rec(1,dem));
close(f);
END.
Uses crt;
Var
st:string;
i,dem,l,j:longint;
BEGIN
Clrscr;
st:=`TOMATO`;
dem:=0;
l:=length(st);
i:=1;
While (i<=l) do
Begin
If (st[i]<>st[l-i+1]) then
Begin
l:=l+1;
For j:=l downto (l-i+1) do
st[j]:=st[j-1];
st[l-i+1]:=st[i];
dem:=dem+1;
End;
i:=i+1;
End;
Write(dem);
Readln;
END.
Bài 2(5 diem)
Biến đổi ma trận
Viết chương trình nhập vào hai số nguyên dương m,n và ma trận các số nguyên A[m,n]. Hãy xâu dựng ma trận B[m,n] từ ma trận A với:
B[I,j]=P là số ước nguyên tố của A[I,j] nếu A[I,j] > 1
B[I,j]= 0 nếu A[I,j] ≤1
Ví dụ: m=3; n=3
A=
Ma trận B là
B=
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Vũ Đức Khôi
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)