Help!!Nhờ mọi người phát hiện và sửa các lỗi

Nhờ mọi người giúp giùm nhé! em đang cần rất gấp. Thanks n` nha' >[IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]<>[IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]<>[IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]<

b1

Mã:
const inp='amstrong.inp';
      outp='amstrong.out';
var a:array[1..4]of integer;
    n:integer;
(*********************************************)
procedure input;
var fi:text;
    i:integer;
begin
    assign(fi,inp);
    reset(fi);
    readln(fi,n);
    close(fi);
end;
(*****************************************************)
function luythua(x,m:integer):longint;
var lt,i:longint;
begin
    lt:=1;
    i:=1;
    for i:=1 to m do
        lt:=lt*x;
    luythua:=lt;
end;
(*****************************************************)
function sochuso(b:integer):integer;
var i:integer;
begin
    i:=1;
    while b div luythua(10,i) >1 do
        i:=i+1;
    sochuso:=i;
end;
(*****************************************************)
function tong(b:integer):integer;
var s,scs,t,tam:integer;
begin
    scs:=sochuso(b);
    for s:=scs-1 downto 0 do
        begin
            a[s]:=b div luythua(10,s);
            b:=b mod luythua(10,s);
        end;
    t:=0;
    for s:=scs-1 downto 0 do
    t:=t+luythua(a[s],scs);
    tong:=t;
end;
(******************************************************)
function kiemtra(b:integer):boolean;
var
    ams:boolean;
begin
    tong(b);

    if b=tong(b) then ams:=true
    else ams:=false;
    kiemtra:=ams;
end;
(*******************************************************)
procedure output;
var fo:text;
begin
    assign(fo,outp);
    rewrite(fo);
    if kiemtra(n)=true then writeln(fo,'yes')
    else writeln(fo,'no');
    close(fo);
end;
(*********************************************************)
begin
    input;
    kiemtra(n);
    output;
end.
b2

Mã:
const inp='ggthua.inp';
      outp='ggthua.out';
var n:byte;
(*****************************************************)
procedure input;
var fi:text;
begin
    assign(fi,inp);
    reset(fi);
    read(fi,n);
    close(fi);
end;
(******************************************************)
function giaithuachan(n:byte):word;
var gt:word;
begin
    if n=2 then gt:=2
    else
        gt:=giaithuachan(n-2)*n;
    giaithuachan:=gt;
end;
(*****************************************************)
function giaithuale(n:byte):word;
var gt:word;
begin
    if n=1 then gt:=1
    else
        gt:=giaithuale(n-2)*n;
    giaithuale:=gt;
end;
(******************************************************)
procedure output;
var fo:text;
begin
    assign(fo,outp);
    rewrite(fo);
    if n mod 2=0 then write(fo,giaithuachan(n))
    else write(fo,giaithuale(n));
    close(fo);
end;
(******************************************************)
begin
    input;
    output;
end.
b3

Mã:
const inp='pt2.inp';
      outp='pt2.out';
var a,b,c,x1,x2,delta:real;
(*********************************************************)
procedure input;
var fi:text;
begin
    assign(fi,inp);
    reset(fi);
    read(fi,a,b,c);
    close(fi);
end;
(*********************************************************)
procedure giai(a,b,c:real);
begin
    delta:=b*b-4*a*c;
    if delta =0 then x1:=-b/2*a
    else
        if delta >0 then
            begin
                x1:=(-b+sqrt(delta))/(2*a);
                x2:=(-b-sqrt(delta))/(2*a);
            end;
end;
(*********************************************************)
procedure output;
var fo:text;
begin
    assign(fo,outp);
    rewrite(fo);
    if delta=0 then write(fo,x1)
    else
        if delta>0 then writeln(fo,x1,' ',x2)
        else write(fo,'phuong trinh vo nghiem');
    close(fi);
end;
(*********************************************************)
begin
    input;
    giai(a,b,c);
    output;
end.
b4

Mã:
const inp='matrix.inp';
      outp='matrix.out';
var a:array[1..100]of integer;
    n:integer;
(***************************************************)
procedure input;
var fi:text;
    i:integer;
begin
    assign(fi,inp);
    reset(fi);
    read(fi,n);
    for i:=1 to n do
        read(fi,a[i]);
    close(fi);
end;
(***************************************************)
function kiemtra(m:integer):boolean;
var j:integer;
    nt:boolean;
begin
    nt:=true;
    j:=1;
    if m=2 then nt:=true
    else
        if m=1 then nt:=false
        else
            while (j<sqrt(m)) and (nt=true) do
                begin
                    j:=j+1;
                    if m mod j = 0 then            
nt:=false;
                end;
    kiemtra:=nt;
end;
(***************************************************)
procedure output;
var fo:text;
    i:integer;
begin
    assign(fo,outp);
    rewrite(fo);
    for i :=1 to n do
        if kiemtra(a[i]) = true then write(fo,a[i],' ');
    close(fo);
end;
(***************************************************)
begin
    input;
    output;
end.
b5

Mã:
Program tinh;
Uses crt;
Var  n,t:integer; f1,f2:text;
Const  inp='ggthua.inp';
           Outp='ggthua.outp';
Procedure  input(inp:tring);
Begin
Assign(f1,inp);
Reset(f1);
Readln(f1,n);
Close(f1);
End;
Procedure output(outp:string);
Begin
Assign(f2,outp);
Rewrite(f2);
Writeln((f2,t);
Close(f2);
End;
Begin
Input; 
i:=1; t:=1;
If (n mod 2 <>0) then 
Begin
While (I mod 2<>0) and (I mod (n+2) <> 0) do 
Begin
I:=i+2;
T:=t*I;
End;
End
Else
Begin
While (I mod 2=0) and (I mod (n+2)<>0) do
Begin
I:=i+2;
T:=t*I;
End;
End;
Output;
End.