O documento discute subalgoritmos (funções) em JavaScript, explicando porque são uma boa prática ao centralizar código comum e facilitar manutenção. Descreve como declarar funções com parâmetros e valores de retorno, e como invocá-las para executar tarefas específicas.
2. Subalgoritmos
• Porque não devemos repetir o mesmo algoritmo/código em diferentes
locais do programa?
• quantidade de código escrito aumenta;
• alterações no algoritmo implica alterar todas as existências do código.
• Porque é uma boa prática centralizar rotinas em subalgoritmos?
• cada algoritmo só é escrito uma vez;
• diminui a dimensão da aplicação;
• facilita operações de alteração e/ou manutenção do código;
• pode minimizar alguns erros de programação.
3. Subalgoritmos - O que são?
• Subalgoritmos são algoritmos dentro de algoritmos que compreendem um
conjunto de instruções dedicadas à resolução de uma tarefa ou problema.
• são identificados por um nome único que é definido na sua declaração;
• são invocados através do seu nome único;
• Conceptualmente, podem-se distinguir dois tipos de subalgoritmos:
• procedimentos: definem um conjunto de instruções a executar;
• funções: definem um conjunto de instruções a executar e retornam um
valor final.
4. Subalgoritmos: declaração em Javascript
identificador único lista de parâmetros necessários
do subalgoritmo/ para a execução do subalgoritmo/
função função (podem não existir)
function nomeFunção ([arg0, arg1,..., argN])
{
// código a executar
[return valor;]
}
valor a retornar pela
função (opcional)
7. Subalgoritmos e estratégias de programação
• Sem recurso a subalgoritmos – Programação convencional linear
• Cada processo é executado após o anterior;
• Não se distinguem alterações à linearidade do fluxo exceto pela utilização
de estruturas de decisão e repetição.
• Com recurso a subalgoritmos – Programação estruturada ou modular
• Programação por módulos baseada na divisão do problema em sub-
problemas;
• Cada módulo pensado para invocação a partir de múltiplos locais do
programa.
8. Subalgoritmos: mais quais?
A aplicação dos subalgoritmos é facilitada se adotada a estratégia Top-
Down.
• O programador deve:
• Identificar as principais tarefas do programa;
• Desenvolver o programa principal e os métodos de controlo das sub-
rotinas;
• Desenvolver os algoritmos para as sub-rotinas:
• Identificar o nível de detalhe e divisão em sub-rotinas (ex. rotinas só para a entrada de dados, ...)
• Validar a execução;
• Otimizar para reutilização;
• Qual a possibilidade de divisão de tarefas entre programadores?
10. Tipos de subalgoritmos
• Intrínsecos
• nativos da própria linguagem de programação.
• Extrínsecos
• criados pelo programador
• NOTA: as frameworks disponibilizam bibliotecas de funções que permitem
ampliar as funções nativas de uma linguagem de programação.
• NOTA 2: apesar das diferenças conceptuais, a partir deste ponto irei utilizar apenas a designação “função” para
todos os tipos de subalgoritmos.
12. Como invocar
• Uma instrução direta no código
• helloWorld();
• Associar a um evento
• onload="iniciarQuadroJogo(); //evento de sistema
• onclick="clicarObjeto(); //eventos de ações do utilizador
• timerID = setInterval(“limparQuadroJogo()”, 2000); //eventos periódicos gerados
por timers
• clearInterval(timerID); //para terminar com um timer específico
• Callback
• uma função é invocada assincronamente quando uma determinada
operação terminar...