Tuesday, July 31, 2012, 06:57 PM - Delphi
Programa para saber si un numero es primoUn numero es primo unicamente cuando solo puede ser dividido
exactamente por 2 numeros, estos son 1 y por si mismo
(el numero 1 no es primo)
Por lo que usaremos esta logica, dividiremos nuestro numero por todos
los numero mayores a uno y una unidad menor a si mismo con un proceso
repetitivo y controlaremos el resultado con una variable logica
del tipo "boolean"
}
program Project12;
{$APPTYPE CONSOLE}
uses
SysUtils;
var esprimo:boolean; //Variable tipo logica lo unico que puede
//almacenar es "falso" ò "verdadero"
// "0" "1"
num,i:integer;
begin
{ TODO -oUser -cConsole Main : Insert code here }
Write('ingrese un numero ');
i:=2; //esta variable es la que nos servira para contar
//y para hacer la division
readln(num);
esprimo:=true; //Vamos a iniciar la variable con verdadero
//es desir "es primo hasta que se pruebe lo contrario" XD
while i<num do //esto empieza a girar aumentando en uno la variable i
begin
if ((num mod i)=0)then //"i" empezara a dividir a "num"
begin //consecutivamente aumentando en 1
esprimo:=false; //este aumento lo controla "el while do"
//si encontramos un numero (i) que divida
//exactamente a nuestro numero (num)
//nuestra variable boolean "esprimo"
//almacenara "FALSE" (falso)
end;//termina condicion (no necesitamos else)
//por que nosotros hicimos un juicio anticipado
//dijimos que num era primo por lo que no hay mas necesidad
//de valorar true o verdad
i:=i+1; //NO olvidarse que en while debemos decirle que debe aumentar en 1
end;//termina repetitivo cuando "i" vale una unidad menor que "num"
if esprimo=true then //Despues de tantas vueltas
begin //hacemos la pregunta si es verdadero
writeln('el numero ',num,' SI es primo');//o falso, si es verdad decimos que
end //es primo sino decimos que no es primo
else
begin
writeln('el numero ',num,' NO es primo');
end;
readln;
end.