Ingeniero en Informática


Números primos


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

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);

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.

{*******************************************************}




Descargar
Enviado por:Eduardo Donderis
Idioma: castellano
País: España

Te va a interesar