sino me equivoco el concepto de numeros primos y compuestos , los primos creo q eran los q se dividian por si mismo solamente :P y los compuestos se puede mas de 2 veces, aca te escribi el .pas, saludos y cualquier cosa me avisas o si tienen mas problemas manden mail a ver si lo podemos solucionar ,saludos
Program pruebas;
uses crt;
{ Procedimiento }
procedure num_primo(num:integer);
var
cant_div,i:integer;
aux:integer;
begin
cant_div:=0;
for i:=2 to 9 do begin
aux:=num mod i;
IF( aux = 0 )then
cant_div:=cant_div+1;
end;
If(cant_div=1)then
writeln('el numero ',num,' es primo')
else
writeln('el numero ',num,' es compuesto');
end;
{Programa Principal}
var
num:integer;
begin
writeln('ingrese el numero: ');
readln(num);
while(num<>0)do begin
num_primo(num);
writeln;
writeln('ingrese otro numero distinto a 0: ');
readln(num);
end;
readkey;
end.