estudiante pescando
Publicado por Sergio (1 intervención) el 13/11/2005 16:06:24
Hola
Estoy realizando una practica que consta de de dos subprogramas, uno de los cuales es una funcion que no me sale correctamente.
Lo que me piden es una función booleana separada de practica2 llamada Es_Primo con un parámetro natural que devolverá True si el valor pasado como parámetro es un número primo y False en caso contrario.
Pero al entregarlo en el porgrama de Gestion Automatica de Practicas de mi asignatura,, que te lo compila y te lo ejecute me da los siguientes errores :
Fallo en la función Es_Primo.
Con 9.
Con 15.
Con 25.
Con 49.
Con 95.
Con 121.
Con 169.
Con 189.
9 sé, que no me lo dectecta como primo con los demas numeros me da un CONSTRAINT_ERROR ¿Cual es el fallo?
He aqui mi codigo de la función ES_Primo
separate(Practica2)
function Es_Primo(N: in Natural) return Boolean is --Comienzo de la funcion ES_Primo
begin
If N >= 2 then
for num in 2..n-1 loop --loop que busca los divisores de N
if n mod num = 0 then
return False;
else
return True;
end if;
end loop;
end if;
if N = 1 or N = 2 then -- 1 y 2 siempre son primos
return True;
else
return False;
end if;
end Es_Primo; --Fin de la funcion Es_Primo
Otra error que me devulve el programa de Gestion Automatica de Practicas es que "indentado es incorrecto" ¿a que se refiere? ¿a la tabulacion?
Gracias anticipdas.
Estoy realizando una practica que consta de de dos subprogramas, uno de los cuales es una funcion que no me sale correctamente.
Lo que me piden es una función booleana separada de practica2 llamada Es_Primo con un parámetro natural que devolverá True si el valor pasado como parámetro es un número primo y False en caso contrario.
Pero al entregarlo en el porgrama de Gestion Automatica de Practicas de mi asignatura,, que te lo compila y te lo ejecute me da los siguientes errores :
Fallo en la función Es_Primo.
Con 9.
Con 15.
Con 25.
Con 49.
Con 95.
Con 121.
Con 169.
Con 189.
9 sé, que no me lo dectecta como primo con los demas numeros me da un CONSTRAINT_ERROR ¿Cual es el fallo?
He aqui mi codigo de la función ES_Primo
separate(Practica2)
function Es_Primo(N: in Natural) return Boolean is --Comienzo de la funcion ES_Primo
begin
If N >= 2 then
for num in 2..n-1 loop --loop que busca los divisores de N
if n mod num = 0 then
return False;
else
return True;
end if;
end loop;
end if;
if N = 1 or N = 2 then -- 1 y 2 siempre son primos
return True;
else
return False;
end if;
end Es_Primo; --Fin de la funcion Es_Primo
Otra error que me devulve el programa de Gestion Automatica de Practicas es que "indentado es incorrecto" ¿a que se refiere? ¿a la tabulacion?
Gracias anticipdas.
Valora esta pregunta
0