Baixe o app para aproveitar ainda mais
Prévia do material em texto
Estrutura de Dados 1 UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 2 Modularização Estrutura de Dados 2 Por que MODULARIZAR? • Programas cada vez maiores: – Aumento da complexidade; – Repetição de trechos de código. • Como atacar um problema de cada vez? – “dividir-para-conquistar”: dividir problemas em subproblemas menores e mais tratáveis, e se ainda for muito complexa, dividi-se em subproblemas ainda menores e assim sucessivamente. Como evitar repetições? Modularização Estrutura de Dados 3 MODULARIZAÇÃO Procedimentos e Funções • São subprogramas: – Um subprograma não pode ser executado diretamente. – Ele precisa ser "invocado" ou "chamado" pelo programa principal. – Esta chamada desvia o fluxo de controle para o subprograma – Um subprograma pode invocar outro subprograma e assim sucessivamente. – Podem ser parametrizados, auxiliando reaproveitamento. Funções e Procedimentos • Diferenças – Procedimentos são estruturas que agrupam um conjunto de comandos, que são executados quando o procedimento é chamado; – Funções são procedimentos que retornam um valor ao seu término • Vantagens – Evitam que os blocos do programa fiquem grandes demais e mais difíceis de ler e entender; – Ajudam a organizar o programa; – Permitem reaproveitamento de códigos construídos anteriormente; – Evitam repetição de trechos de códigos, minimizando erros e facilitando alterações. Funções e Procedimentos • Funções – Sintaxe de uma função: static tipo_de_retorno nome_da_função (com ou sem parâmetros) { corpo_da_função return (valor de retorno); } • Procedimentos – Sintaxe de um procedimento: static void nome_da_função (com ou sem parâmetros) { código; } Funções e Procedimentos • O tipo-de-retorno é o tipo de variável que a função vai retornar. • A declaração de parâmetros é uma lista com a seguinte forma geral: tipo var1, tipo var2, ... , tipo varN • O tipo deve ser especificado para cada uma das N variáveis de entrada. É na declaração de parâmetros que informamos ao compilador quais serão as entradas da função. • O corpo da função é onde as entradas são processadas, saídas são geradas, etc. • O comando return tem a seguinte forma geral: return valor_de_retorno; • Quando se chega a uma declaração return a função é encerrada imediatamente e, se o valor de retorno é informado, a função retorna este valor. O valor de retorno fornecido tem que ser compatível com o tipo de retorno declarado para a função. • static – Um método estático, indica que não precisa ser instaciado para ser utilizado (orientação a objetos). Estrutura de Dados 7 Passagem de Parâmetros • Passagem por valor: – Passagem do conteúdo da variável – Parâmetro do mesmo tipo da variável – Independência entre variáveis e parâmetros – Valores das variáveis são copiados para os parâmetros – Mudanças em parâmetros não afetam as variáveis • Passagem por referência: – Passagem do endereço da variável – Parâmetro do tipo apontador – Dependência entre variáveis e parâmetros – Parâmetros apontam para o conteúdo das variáveis – Mudanças em parâmetros refletem nas variáveis
Compartilhar