Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Guest GuiGa

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

Mensagens Recomendadas

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.

Editado por thoga31
GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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. ;)

Editado por thoga31
  • Voto 1

Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
passarito

Bom dia,

Só mais uma pequena achega.

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.