Jump to content

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


Guest GuiGa
 Share

Recommended Posts

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
Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • 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.