Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Funções Modularidade, Subalgoritmos 1 Introdução Muitos problemas com soluções complexas podem ser divididos, sucessivamente em problemas menores, com lógica mais simples e de compreensão mais fácil. Em vez de escrever um algoritmo grande, escrevem-se vários algoritmos menores, os quais em conjunto resolvem o problema proposto. Modularidade é a técnica de programar desenvolvendo um programa a partir de pequenas partes ou módulos. “Dividir para conquistar” Um subalgoritmo é um trecho de código (bloco) contendo um conjunto de comandos com o objetivo de efetuar uma determinada tarefa. 2 Tipos de funções A utilização de um subalgoritmo (ou subrotina) afeta o fluxo de controle do programa. Quando ele é chamado, o controle passa para ele. Após a sua execução, o controle retorna ao ponto da chamada. Private Sub Dim x, y, resultado as Integer ... exibe_dados() ... resultado = fat(x) + pot(x,y) ... End sub Subrotina exibe_dados() Subrotina fat(x) Subrotina pot(x,y) 3 Introdução Uma subrotina é como uma “caixa preta”. O que devemos saber quando for utilizar uma subrotina: Seu nome e o que ela faz Suas entradas: o que deve ser passado para ela Suas saídas: o que ela deve retornar 4 Vantagens Subdivisão de programas complexos: facilita o entendimento, pois o código fica mais organizado. Facilita a estruturação lógica do programa: auxilia na detecção de erros e na documentação. Economia de código: quando o mesmo conjunto de comandos é executado em vários pontos do programa, geralmente sobre valores diferentes. Facilidade de manutenção: os erros são mais fáceis de isolar e corrigir, as alterações ficam limitadas ao módulo, ao invés de interferir em todo o programa. Reduz o tempo de desenvolvimento do programa: várias pessoas podem se encarregar de cada tarefa. Reutilização: construção de uma biblioteca. 5 Tipos de módulos Procedimento Sub Executam ações e não retornam nenhum valor Função Function Executam ações e retornam um único valor, do tipo especificado em sua declaração 6 Escopo de variáveis Representa a área do programa em que a variável pode ser utilizada. As variáveis podem ser classificadas em: Locais: São as variáveis declaradas dentro do corpo do módulo. São visíveis somente neste módulo. Os demais módulos não podem utilizar esta variável. Tempo de vida: duração da função Globais: São as variáveis declaradas fora dos módulos. Estas variáveis são visíveis por todos os módulos do programa. Tempo de vida: enquanto o programa estiver sendo executado 7 Parâmetros Os módulos podem se comunicar de duas formas: através das variáveis globais: não recomendável, evitar; através dos parâmetros existentes nos módulos. Os parâmetros são categorizados em: Parâmetros formais: São os parâmetros utilizados na definição do módulo. Devem ser variáveis e são tratadas como variáveis locais. Parâmetros reais: São os parâmetros utilizados na chamada do módulo. Podem ser tanto variáveis quanto valores. Os parâmetros reais são utilizados para inicializar os parâmetros formais. 8 Forma geral de um módulo Procedimento Private Sub <nome do procedimento>([parâmetros]) <declaração de variáveis> <comandos> End Sub Função Private Function <nome da função> ([parâmetros]) as <tipo retornado> <declaração de variáveis> <comandos> <nome da função> = <valor retornado> End Function 9 Exemplo Os parâmetros formais e reais devem se corresponder em: Número Tipo de dados Ordem Private Function Soma (ByVal x As Integer, ByVal y as Integer) as Integer Soma = x + y End Funcion Private Sub cmdCalcular_click() Dim a as Integer Dim b as Integer Dim result as Integer a = 3 b = 7 result = Soma (a, b) MsgBox result End Sub 10 Chamada de uma função Exemplo de Função: Formas de chamada (ativação) de uma função: Atribuindo o seu resultado a uma variável Em uma condição Private Function Soma (ByVal x As Integer, ByVal y as Integer) as Integer Soma = x + y End Funcion res = Soma(x, y) if ( Soma(x,y) > 10 ) 11 Exercício Analise o programa abaixo e mostre exatamente o que aparecerá na tela do computador. Private Function Triplica(ByVal x as Integer) as Integer Triplica = 3 * x End Function Private Function SomaQuadrado(ByVal x as Integer, ByVal y as Integer) as Integer SomaQuadrado = (x * x) + (y * y) End Function Private Sub cmdCalcular_Click() Dim x as Integer Dim y as Integer Dim z as Integer y = 15 x = y / 3; z = Triplica(2); y = SomaQuadrado(x,z); z = x + 1 - y + (3 * x) + Triplica(x); MsgBox x MsgBox y MsgBox z 12 X = 6, Y = 61, Z = -22 Exercícios 1) Faça uma função que recebe 3 valores inteiros e retorna a média dos valores lidos. 2) Faça uma função que recebe 1 valor inteiro e diz se ele é par ou não. Retorne “falso” para par e “verdadeiro” para impar 3) Faça uma função que recebe três números por parâmetro e retorna o maior deles. 13 Al
Compartilhar