Código de Pascal/Turbo Pascal - Cálculo de un número primo

Cálculo de un número primográfica de visualizaciones


Pascal/Turbo Pascal

estrellaestrellaestrellaestrellaestrella(14)
Publicado el 11 de Julio del 2002 por Victor Manuel Evaristo Salinas
30.672 visualizaciones desde el 11 de Julio del 2002. Una media de 42 por semana
Programa que determina si un número N es primo. (Un número primo sólo puede ser divisible por el mismo y la unidad...compilado en Borland Pascal para Windows Versión 7.0

Versión 1
estrellaestrellaestrellaestrellaestrella(14)

Publicado el 11 de Julio del 2002gráfica de visualizaciones de la versión: Versión 1
30.673 visualizaciones desde el 11 de Julio del 2002. Una media de 42 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{ Programa que determina si un número N es primo. (Un número primo sólo
  puede ser divisible por el mismo y la unidad...compilado en
  en Borland Pascal para Windows Version 7.0}
Program primos;
uses wincrt;
var
  primo  :boolean;
  num,divisor:integer;
Begin
   primo:=true;
   divisor:=2;
   WRITELN('<===Programa que Determina si un Número es Primo o No===>');
   WRITELN; WRITELN;
   write('Introduzca un número===> '); readln(num);
   WRITELN;WRITELN;
   while (divisor<num) and primo do
   begin
     if num mod divisor = 0 then
          primo:=false;
     divisor:=divisor+1
   end;
 if primo = true then
    writeln(num,' Es número Primo...')
 else
    writeln(num,' No es un número Primo...');
 writeln;
 WRITELN;
 WRITELN('Diseñado por: Victor Manuel Evaristo Salinas');
 WRITELN;
 WRITELN;
 WRITELN('E-mail: victor_mes@hotmail.com y vmanuel_es@yahoo.com.mx');
 WRITELN;
end.



Comentarios sobre la versión: Versión 1 (14)

alberto
11 de Julio del 2002
estrellaestrellaestrellaestrellaestrella
El algoritmo utilizado es bastante mejorable en cuanto a tiempo en la determinación de si un número es primo o no sin añadir escesiva complicación al código:
En vez de dividir entre todos los numeros inferiores a el se divide esclusivamente entre 2 y todos los numeros impares inferiores a la raiz cuadrada del número a comprobar.
Responder
omsimu
12 de Julio del 2002
estrellaestrellaestrellaestrellaestrella
El código no es malo.... "!!! ES PERVERSO !!!" ya que posee un bago y deficiente análisis matemático que solo deja entredicho la poca investigación y creatividad del programador.
Responder
byone
22 de Julio del 2002
estrellaestrellaestrellaestrellaestrella
Muy bueno
Responder
JOSE L.PEREZ
22 de Julio del 2002
estrellaestrellaestrellaestrellaestrella
Debe mejorar su eficiencia, en lo referente a el tiempo de ejecución,ya
que para determinar si el número es primo no hace falta dividirlo entre
todos los valores menores que él.

Se puede dividir entre 2 y todos los menores a la raiz cuadrada del número a evaluar.

Responder
Ricardo Puertas
07 de Octubre del 2002
estrellaestrellaestrellaestrellaestrella
Ha realizado una valoración positiva de este curso.
Responder
christian Chacana
05 de Noviembre del 2002
estrellaestrellaestrellaestrellaestrella
Esta muy bueno.Funciona perfectamente.
Responder
Henry Javier
08 de Octubre del 2003
estrellaestrellaestrellaestrellaestrella
Hola Victor manuel, tu programa es exelente pero sería mejor si calcula mas de un número, por ejemplo utilizando una matriz o un vector, y corrige el problema de estar ingresando cada vez al programa para realizar cálculos nuevos.
Responder
Carolina
16 de Octubre del 2004
estrellaestrellaestrellaestrellaestrella
Gracias victor!!!! me salvaste la vida, te debo un 20% de mi nota en Introduccion a la programacion
Responder
Frank Rafael
31 de Enero del 2006
estrellaestrellaestrellaestrellaestrella
A simple vista parece eficaz, pero por ejemplo si le introducimos el número 2147483647(máximo de longint en TP7.0) que es primo, en primer lugar daría un error producido en tiempo de ejecución, pues el autor declaró la variable donde lee el número de tipo integer(aprox 65000), y si se hubiera declarado longint se demoraría mucho tiempo en determinar si es primo o no. Si se hace un análisis matemático más profundo del problema se descrube que con comprobar los divisore desde 2 hasta la parte entera de la raíz cuadrada del número es mucho más rápido. Tener encuenta este algoritmo es muy importante para la resolución de problemas de naturaleza matemática.
Responder
Frank Rafael
05 de Febrero del 2006
estrellaestrellaestrellaestrellaestrella
En el comentario de abajo donde dice que el tipo integer de pascal es aproximadamente 65000 debería decir aproximadamente 32000 más exacto 32767.
Responder
Natália
11 de Julio del 2007
estrellaestrellaestrellaestrellaestrella
Há um problema, o programa mostra como resultado que o número 1 é primo, porém não é.
Mas de qualquer forma é criativo. Um professor de introdução a computação aqui do Brasil usou o programa em uma prova nossa.
Responder
Gustavo
02 de Octubre del 2007
estrellaestrellaestrellaestrellaestrella
Yo lo implemente en prolog y resulto de maravilla.
La lógica es simple y efectiva, y no sé si exista una manera más eficiente de
obtener la meta pero busqué sólo un poco y no encontre más formas de obtener
si un N número es primo o no. Al menos no hay tal fórmula.
Funciona.
Responder
reyna
17 de Junio del 2009
estrellaestrellaestrellaestrellaestrella
o waooo jamas me imagine encontrar esto por aqui
eres sumamente inteligente por eso te kelooooo
eres un amorzoteee graciasss
Responder
pERICO DE LOS pALOTES
16 de Septiembre del 2016
estrellaestrellaestrellaestrellaestrella
El programa es valido, pero se puede reducir sensiblemente el tiempo de computación
1. Comprobar si es par, ergo ---> no es primo, FIN
2. En otro caso, comenzar a dividir por 3, y sumar de dos en dos en el bucle hasta (num/2)+1.

Solo con esto, se reduce a la cuarta parte el numero de operaciones.

Hay otros trucos que reducen aun mucho mas el numero de operaciones para saber si un numero es primo o no.

Si fuese tu profre, un 5 raspao y serio aviso de que debe mejorar. En caso de alumno universitario , un suspenso como una catedral.
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s260