Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-08-2010
Abaco Abaco is offline
Miembro
 
Registrado: ago 2010
Posts: 16
Poder: 0
Abaco Va por buen camino
Hola caro, lo primero disculparme por los errores, quizas son muy tontos...
Mira me sigue dando error...
No se que se me escapa, estos son los errores que me saltan :

Cita:
[Warning] Unit1.pas(41): Return value of function 'IsPerfectNumber' might be undefined
[Error] Unit1.pas(51): Declaration expected but end of file found
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
Muchisimas gracias de verdad...
Responder Con Cita
  #2  
Antiguo 26-08-2010
Abaco Abaco is offline
Miembro
 
Registrado: ago 2010
Posts: 16
Poder: 0
Abaco Va por buen camino
Es suficiente informacion para resolverme la duda?
Responder Con Cita
  #3  
Antiguo 26-08-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
Pues no se de donde sale el error, a mi no me genera ninguno, lo unico es que simplemente no envia el 'Hola' al edit ya que para que se de; la funcion tiene que generar el factor boleano y este la unica manera en que puede cumplirlo es en la ultima condicion.
Para que la condicion if i = lnumber then se cumpla tiene que i := i + x;, al no darle valor a i nunca se cumple.
Por esta razon la logica 'De novato' me dice que si se da valor a i se cumple con la condicion, pero, siempre lo hara, en tal caso la funcion no haria nada importante, simplemente hace una comparacion logica, algo que hace una variable sin problemas.
Es lo que veo al hacer esta pruebita interesante de practica.
Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 26-08-2010 a las 03:25:19.
Responder Con Cita
  #4  
Antiguo 26-08-2010
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Hola

Código Delphi [-]

function IsPerfectNumber(lNumber:Integer):Boolean;
var
  i : Integer;
  x : Integer;
begin
//Inicializamos el resultado de la función para evitar el aviso de no definida
  Result := false; 
  if lnumber > 0 then
    begin
      for x := 1 to lnumber do
        begin
          if (lnumber mod x) = 0 then
             i := i + x;
        end;
      if i = lnumber then
       Result := true; //Cambia el nombre de la función por la palabra reservada Result
    end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  if IsPerfectNumber(6) = true then 
     edit1.Text:= 'hola';
end; //Agrega ésta linea

end.

saludos
Responder Con Cita
  #5  
Antiguo 26-08-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
Amigo y que hace esto
No genera errores pero no hace el efecto.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #6  
Antiguo 26-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Lo que tanto temia se volvio realidad....

!! NO EXISTEN LOS NUMEROS PERFECTOS !!!

Saludos.
Responder Con Cita
  #7  
Antiguo 26-08-2010
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Lo que tanto temia se volvio realidad....

!! NO EXISTEN LOS NUMEROS PERFECTOS !!!

Saludos.


saludos
Responder Con Cita
  #8  
Antiguo 26-08-2010
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por Caral Ver Mensaje
Hola
Amigo y que hace esto
No genera errores pero no hace el efecto.
Saludos


saludos

Última edición por egostar fecha: 26-08-2010 a las 03:47:16. Razón: Si sabe :D
Responder Con Cita
  #9  
Antiguo 26-08-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
Si, lo se, pero en el ejemplo que pusiste no generaba ningún dato ya que i no contenía valor alguno.
Estoy probando los códigos para aprender algo mas.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #10  
Antiguo 26-08-2010
Abaco Abaco is offline
Miembro
 
Registrado: ago 2010
Posts: 16
Poder: 0
Abaco Va por buen camino
Graciaaaaas, ahora no da error, peeeeeeero...
Deberia devolver true con 6...
Mira asi hago en vb:

Código:
Private Sub Form_Load()
    MsgBox IsPerfectNumber(6)
End Sub

Public Function IsPerfectNumber(ByVal lNumber As Long) As Boolean
Dim x                       As Long
Dim i                       As Long
    For x = 1 To lNumber - 1
        If (lNumber Mod x = 0) Then i = i + x
    Next
    If i = lNumber Then IsPerfectNumber = True
End Function
Me podrias ayudar un pco mas?
Muchas gracias
Responder Con Cita
  #11  
Antiguo 26-08-2010
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por Abaco Ver Mensaje
Graciaaaaas, ahora no da error, peeeeeeero...
Deberia devolver true con 6...
Mira asi hago en vb:

Código:
Private Sub Form_Load()
    MsgBox IsPerfectNumber(6)
End Sub

Public Function IsPerfectNumber(ByVal lNumber As Long) As Boolean
Dim x                       As Long
Dim i                       As Long
    For x = 1 To lNumber - 1
        If (lNumber Mod x = 0) Then i = i + x
    Next
    If i = lNumber Then IsPerfectNumber = True
End Function
Me podrias ayudar un pco mas?
Muchas gracias
Hola

Código Delphi [-]

function IsPerfectNumber(lNumber:Integer):Boolean;
var
  i : Integer;
  x : Integer;
begin
//Inicializamos I en 0
  I := 0;
//Inicializamos el resultado de la función para evitar el aviso de no definida
  Result := false;
  if lnumber > 0 then
    begin
      for x := 1 to lnumber - 1 do //Te faltó restarle 1 a lnumber
        begin
          if (lnumber mod x) = 0 then
             i := i + x;
        end;
      if i = lnumber then
       Result := true; //Cambia el nombre de la función por la palabra reservada Result
    end;
end;

saludos
Responder Con Cita
  #12  
Antiguo 26-08-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
Es una funcion sencilla de entender y mira que soy malo con las funciones.
Saludos
PD: Que feo es Visual Basico.
__________________
Siempre Novato
Responder Con Cita
  #13  
Antiguo 26-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

Mi vida no tendría sentido sín números perfectos, así que teclee un poco:
Código Delphi [-]
function NumeroPerfecto( Num: Integer): Boolean;
var
 con,ac: Integer;
begin
  Result:= False;
  con:= 1;
  ac:= 0;
  while con < Num do
  begin
    if Num mod con = 0 then
      ac:= ac + con;
    Inc(con)
  end;
  if ac = Num then
    Result:= True;
end;

Saludos.

Última edición por ecfisa fecha: 26-08-2010 a las 04:27:28.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Una consulta sencilla codicia Varios 3 21-12-2009 04:54:06
Pagina web, sencilla Caral HTML, Javascript y otros 6 16-05-2007 10:48:21
Consulta Sencilla SQL + Delphi Maury Manosalva SQL 4 08-09-2005 11:17:47
pregunta sencilla valentine Varios 7 17-06-2004 21:17:40
Pregunta Sencilla jorge_mosquera Gráficos 1 19-03-2004 03:39:20


La franja horaria es GMT +2. Ahora son las 16:47:33.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi