P.7.8.− En un conjunto se han almacenado los numeros primos... que visualice un mensaje relativo a si es primo o...

Anuncio
P.7.8.− En un conjunto se han almacenado los numeros primos menores de 100. Escriba un programa
que visualice un mensaje relativo a si es primo o no lo es un numero que se lee por teclado.
program conjuntoprimos;
uses crt;
const
n=100;
type
digitos= 1..n;
tconjunto=set of digitos;
var
primos:tconjunto;
numero:integer;
ch:char;
{Este procedimiento llena el conjunto primos,
con los numeros primos del 1 al 100}
procedure llenarconjunto (var p:tconjunto);
var
i,j,divisores:integer;
begin
p:=[1];
for i:=2 to n do
begin
divisores:=0; j:=2;
while (divisores<1) and (j<=(i div 2)) do
begin
if (i mod j)=0 then
1
divisores:=divisores +1
else
j:=j+1
end;
if divisores=0 then
p:=p + [i]
end
end;
{*****************************************************}
{este procedimiento lee el numero que queremos comprobar
si es o no primo}
procedure leernumero (var n:integer);
begin
repeat
clrscr;
write ('Introduzca numero para comprobaci¢n: ');
readln (n)
until (n=abs (n)) and (n=int(n))
end;
{****************************************************}
{PROGRAMA PRINCIPAL}
begin
llenarconjunto (primos);
repeat
clrscr;
leernumero (numero);
2
if numero in primos then
write ('El numero ',numero,' es primo')
else
write ('El numero ',numero,' no es primo');
readkey;
CLRSCR;
writeln ('¨DESEA CONTINUAR (S/N)');
ch:=upcase (readkey)
until (ch='N')
end.
{*******************************************************}
3
Descargar