1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Função Recursiva

Discussão em 'Programação' iniciada por pfcs, 12 de Maio de 2008. (Respostas: 3; Visualizações: 730)

  1. Boa tarde,

    Tendo uma tabela com este aspecto:

    Produto BOM
    001 002
    002 003
    002 004
    002 005
    003 006
    003 007
    003 008
    004 009
    005 010
    005 011

    Alguém conhece alguma função que ao indicar um Produto, liste todas as BOM's onde esse produto é usado?

    Exemplo: Neste caso ao introduzir o produto 001, iria lista as BOM's 002, 003, 004 e 005 (estas 3 associadas à 002), 006, 007, 008 (associdas à 003), a 009 (vinda da 004) e as 010 e 011 (vindas da 005)..

    A maior dificuldade com que me estou a deparar é o facto de ser apenas uma tabela..
    Julgo que seja necessário criar uma função recursiva... não??

    Obrigado

    P.S.: não posso usar whiles dentro de whiles porque nunca sei quantos níveis irei ter!!
     
  2. MPalhas

    MPalhas Power Member

    e isso em que linguagem?
    a tabela está numa base de dados? num array?

    podes explicar melhor o exemplo? acho que não percebi bem esse

    e em principio deve dar para fazer com um while, porque deve haver uma maneira (dependendo da linguagem e da estrutura que estás a usar) de contar o numero de registos da tabela
     
  3. saunde

    saunde Power Member

    Depende da linguagem e das estruturas de dados que estás a usar... se fôr em C# podes construir um Dictionary, em que a chave é produto e o value uma lista com as BOOM a ele associadas, por exemplo.
     

  4. Hum, deixa me cá ver, o 001 é "pai" do 002 que por sua vez é "pai" do 003, 004, 005?

    se for assim funciona quase como um backoffice de uma pagina de internet, logo, sim, a função recursiva é a melhor solução visto que poupas muitas linhas de codigo, e torna o programa mais leve...
     

Partilhar esta Página