Jump to content
Guest GuiGa

[Pergunta] Função dentro de Função

Recommended Posts

Guest GuiGa

Olá pessoal.

Tenho uma dúvida antiga a sanar.

No pascal, utilizar funções ou procedimentos dentro de outras funções ou procedimentos é indevido frente às boas práticas de desenvolvimento de estruturas de dados?

Exemplo:

Program Programa;

 Function Sub_Programa;

   Procedure Sub_Sub_Programa;
   Begin
     //Sub_Sub_Programa
   end;

 Begin
 //Sub_Programa
 End;

Begin
//Programa
end.

Aguardo respostas.

Edited by thoga31
GeSHi

Share this post


Link to post
Share on other sites
thoga31

Vê isto: Procedimentos e Funções encadeados.

Não, não é má prática. Antes pelo contrário. Se tu tens um procedimento, imaginemos, que necessita repetidas vezes de um dado que pode ser dado por uma função, e se essa função não é necessária em mais lado algum, então implementas essa função dentro do procedimento.

Não é uma má prática: é antes uma excelente prática.

Considerar-se-á uma má prática se implementares essa função encadeada com outros procedimentos e funções - nesse caso implementa-la uma vez só fora de qualquer procedimento ou função, já que é necessária mais vezes.

btw, neste caso não é uma questão de estruturação de dados, mas sim estruturação procedimental. Estruturação de dados é outra coisa. ;)

Edited by thoga31
  • Vote 1

Knowledge is free!

Share this post


Link to post
Share on other sites
passarito

Bom dia,

Só mais uma pequena achega.

Este tipo de processo é chamado de RECURSIVIDADE, são portanto funções ou procedimentos recursivos.

Share this post


Link to post
Share on other sites
HappyHippyHippo

Não, pelo menos sempre chamei a esse processo dessa forma.

Depois "googlei" um pouco, pois podia estar errado, mas não me parece!

Vê aqui: http://pt.wikipedia.org/wiki/Recursividade

errado, o conceito de recursividade é uma função chamar a si mesma, o que não é o caso.

o que é apresentado é nested functions


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
passarito

errado, o conceito de recursividade é uma função chamar a si mesma, o que não é o caso.

o que é apresentado é nested functions

Exacto!

Fui levado em erro quando vi o nome da função e procedimento deles próprios.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.