во первых твоя функция криво считает. простое число - это число которое делиться на себя и на единицу. вот функция которая правильно считает:
Код:
function IsSimp(i:integer):boolean;
var
j:integer;
begin
for j := 2 to i do
if ((i mod j)=0) then result:=true
else result:=false;
end;
во вторых: после "result:=" - функция не прекращает работу.