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

Versión 1
estrellaestrellaestrellaestrellaestrella(19)

Publicado el 11 de Julio del 2002gráfica de visualizaciones de la versión: Versión 1
45.415 visualizaciones desde el 11 de Julio del 2002
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: [email protected].com y [email protected].com.mx');
 WRITELN;
end.



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

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
Cris
25 de Septiembre del 2020
estrellaestrellaestrellaestrellaestrella
¿porqué dividido 2?
se hace parte entera de la raiz y es bastante más rápido. siempre se puede mejorar algo.
Responder
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
vago
20 de Junio del 2018
estrellaestrellaestrellaestrellaestrella
vago con V es deficiente tambien...
Responder
22 de Julio del 2002
estrellaestrellaestrellaestrellaestrella
Muy bueno
Responder
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
Cris
25 de Septiembre del 2020
estrellaestrellaestrellaestrellaestrella
se puede hacer parte entera de la raiz del numero a evaluar y es más rápido aún, siempre hay algo que mejorar. No entiendo porqué tantas críticas.
Responder
7 de Octubre del 2002
estrellaestrellaestrellaestrellaestrella
Ha realizado una valoración positiva de este curso.
Responder
5 de Noviembre del 2002
estrellaestrellaestrellaestrellaestrella
Esta muy bueno.Funciona perfectamente.
Responder
8 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
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
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
5 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
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
2 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
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
Cris
25 de Septiembre del 2020
estrellaestrellaestrellaestrellaestrella
sería hasta sqrt(num) y mismo si no sabes mucho de mates y querés acortar solamente hasta la mitad el +1 te re sobre y sería Num div 2, porque las variables se declaran como enteras en éste caso.
Responder
Cris
25 de Septiembre del 2020
estrellaestrellaestrellaestrellaestrella
Está bien aunque con un poco de matemáticas se puede mejorar bastante
Responder

Comentar la versión: Versión 1

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

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s260