Buscar

Funções e Modularidade em Programação

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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais