Ну вот, вариант с фильтром:
Код:
Program Lab51;
procedure Poisk(an:string);
var
i:integer;
Frst,Lst:Char;
begin
i:=Length(an);
Frst:=an[1];
Lst:=an[i];
Writeln('Pervaya cifra = ',Frst);
Writeln('Poslednyaya cifra = ',Lst);
end;
var
s:string;
j,L:integer;
b:boolean;
begin
repeat
b:=TRUE;
Writeln('Cislo:');
Readln(s);
L:=Length(s);
for j:=1 to L do
if (Ord(s[j])<48) or (Ord(s[j])>57) then b:=FALSE;
if b=FALSE then writeln('Eto ne chislo, povtorite vvod!');
until b;
Writeln;
Poisk(s);
Readln
end.