• Viernes 8 de Noviembre de 2024, 11:48

Autor Tema:  Comprobar que un arbol es ponderado  (Leído 2287 veces)

lolita23

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Comprobar que un arbol es ponderado
« en: Martes 7 de Julio de 2009, 13:19 »
0
Hola, pues mi duda es sobre un ejercicio que tengo que hacer en el que me piden que mire si un arbol es ponderado.
Mi primera duda es sobre cuando un arbol es ponderado para poder empezar a hacerlo.
Si alguien me lo puede aclarar se lo agradeceria para poder empezar a escribir codigo.
Para realizar el ejercicio me dan esta cabecera:
PROCEDURE ComprobarPonderado(VAR Ponderado: Boolean; VAR Peso:Integer)

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Comprobar que un arbol es ponderado
« Respuesta #1 en: Miércoles 8 de Julio de 2009, 09:59 »
0
Cita de: "lolita23"
ues mi duda es sobre un ejercicio que tengo que hacer en el que me piden que mire si un arbol es ponderado.
Mi primera duda es sobre cuando un arbol es ponderado para poder empezar a hacerlo.
Dudo mucho que te digan "haz un programa que compruebe si un árbol es ponderado" y no te digan qué es un árbol ponderado... ¡A ver si atendemos en clase!  :lol: Y a falta de esto, aprende a buscar en Google  <_<

http://www.google.es/search?client=fire ... con+Google

Y desde luego, no te vamos a hacer la tarea  :P

lolita23

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Comprobar que un arbol es ponderado
« Respuesta #2 en: Miércoles 8 de Julio de 2009, 16:36 »
0
Bueno pues muchas gracias por contestar y por la información.
Una vez aclarado lo de Arbol Ponderado: es q la suma de los pesos de cada subarbol izq no suma más q el subarbol derecho.
Me puesto a la tarea, ahora si alguien me lo puede revisar.
MUCHAS GRACIAS.

Código: Pascal
  1. TYPE
  2.      tInfo=integer;
  3.      tArbol=^tNodo;
  4.      tNodo=record
  5.            Peso:tInfo;
  6.            iz,de:tArbol;
  7.       end;
  8. VAR
  9.     AB: tArbol;
  10.  
  11. {Hago un recorrido en Enorden y sumo el peso de los nodos}
  12. PROCEDURE Recorrido (Arbol:tArbol;Var Peso:integer);
  13. Begin
  14.      If (AB <> nil) then
  15.         Begin
  16.           Recorrido(Arbol^.iz,Peso);
  17.           Peso:=Peso+Arbol^.Peso;
  18.           Recorrido(Arbol^.de,Peso);
  19.         End;
  20. End;
  21.  
  22. PROCEDURE ComprobarPonderado (AB:Tarbol; VAR Ponderado:Boolean; VAR Peso:Integer)
  23. VAR 
  24.     X,SumaIzq,Sumador: Integer;
  25. BEGIN
  26.     If (AB=Nil) Then
  27.     Begin
  28.         Ponderado:=true
  29.         Peso:=0
  30.    End;{If}
  31.      Else Begin {AB<>Nil}
  32.        SumaIzq:=0;
  33.        sumaDer:=0;
  34.        Recorrido(Arbol^.iz,Sumaizq);{sumamos el subarbol izquierdo}
  35.        Recorrido(Arbol^.de,SumaDer);{sumamos el subarbol derecho}
  36.        x:=SumaDer-SumaIzq;
  37.       If (x <= 10) Then
  38.           Ponderado:=true
  39.       else
  40.          Ponderado:=False;
  41.    End;{Else}
  42. END;
  43.  
  44.  
  45.  

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Comprobar que un arbol es ponderado
« Respuesta #3 en: Miércoles 8 de Julio de 2009, 18:46 »
0
Me parece que está perfecto, sólo una cuestión:

Código: Pascal
  1. If (x <= 10) Then
  2.     Ponderado:=true
  3.  
¿Por qué? ¿No debería ser x=0?

Y ahora que lo dices ( :rolleyes: ), ¿por qué un procedimiento? En este caso sería más conveniente una función (EstaPonderado por ejemplo) que devuelva un boolean...

lolita23

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Comprobar que un arbol es ponderado
« Respuesta #4 en: Jueves 9 de Julio de 2009, 18:09 »
0
Ante todo muchas gracias.
Hice un procedimiento porq me dan la cabecera y me piden que sea un procedimiento, no por otra cosa.
Y lo de <=10, porq si la diferencia es igual o menor que 10 entre los 2 subarboles es ponderado sino no.
Gracias de nuevo.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Comprobar que un arbol es ponderado
« Respuesta #5 en: Sábado 11 de Julio de 2009, 15:53 »
0
Pues entonces está listo, ¿no? Yo lo veo más que bien  :beer: