Buscar

Programação Modular em VB.NET

Prévia do material em texto

Desenvolvimento 
de software
Fabiano Gonçalves
dos Santos
Aula 3
Programação Modular
• Os módulos são uma forma de compartimentar 
partes do código fonte de um programa, 
dividindo-o em trechos que estão ligados a 
funções e objetivos comuns 
• Dividir para conquistar
2
M
ó
d
u
lo
s
 b
á
s
ic
o
s
 o
fe
re
c
id
o
s
 
p
e
lo
 .
N
E
T
 F
ra
m
e
w
o
rk
3
Módulo Descrição
Constants Contém diversas constantes que são utilizadas para compatibilidade com código Visual 
Basic antigo.
ControlChars Contém constantes que representam caracteres de controle para impressão e exibição 
de texto.
Conversion Contém métodos para converter números decimais em outras bases, dígitos de 
números para sequências de caracteres, sequências de números e dados de um tipo 
para outro.
DateAndTime Contém membros que obtém a data ou hora atual, realizam cálculos de data, retornam 
uma data ou hora, configuram uma data ou hora e medem a duração de um processo.
ErrObject Contém informações sobre erros de tempo de execução e métodos para alertar ou 
eliminar uma mensagem de erro.
FileSystem Contém métodos que executam operações de arquivo, diretório ou pasta do sistema.
Financial Contém procedimentos que são usados para cálculos financeiros.
Globals Contém informações sobre a versão atual do mecanismo de execução de script.
Information Contém os membros que retornam, testam ou verificam informações como, por 
exemplo, o tamanho de uma matriz, os nomes de tipos de dados e assim por diante.
Interaction Contém membros que interagem com objetos, aplicativos e sistemas.
Strings Contém membros que executam operações em cadeia de caracteres, como pesquisar 
conteúdo em uma seqüência de caracteres, obter o comprimento de uma seqüência
de caracteres, reformatação e assim por diante.
VBMath Contém os métodos que realizam operações matemáticas.
Exemplo
4
Métodos
• Os termos Sub-rotina, Função e Método são 
praticamente sinônimos no contexto geral 
das linguagens de programação
• No Visual Basic há diferenças no uso dos 
três termos
• Os Métodos podem ser Funções ou Sub-
rotinas
• Os Métodos são utilizados para 
compartimentar código e devem estar 
contidos em Módulos e Classes.
5
Exemplo
6
Vantagens
• O uso da programação modular e a 
compartimentação de métodos pode trazer várias 
vantagens no desenvolvimento de software
–Eliminação de redundância de códigos
–Reaproveitamento dos métodos em outros 
aplicativos. 
–Mais organizado e legível, de mais fácil 
correção;
–Com a modularização, é possível que cada 
programador trabalhe em partes específicas do 
código
7
Sub-rotinas e Funções
• Funções e Sub-rotinas podem ser definidos, 
resumidamente, como um bloco de código que 
pode ser invocado dentro de outros blocos
8
E
x
e
m
p
lo
 d
e
 s
o
b
re
c
a
rg
a
 d
e
 
fu
n
ç
ã
o
9
Module1.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Module Module1
Sub Main()
Console.WriteLine(somador())
Console.WriteLine(somador(5))
Console.WriteLine(somador(5, 7))
Console.ReadLine()
End Sub
Function somador() As String
Return "A soma 0 + 0 é igual a 0"
End Function
Function somador(ByVal val1 As Integer) As String
Dim soma As Integer = val1 + val1
Return String.Format("A soma {0} + {1} é igual a {2}", val1, val1, soma)
End Function
Function somador(ByVal val1 As Integer, ByVal val2 As Integer) As String
Dim soma As Integer = val1 + val2
Return String.Format("A soma {0} + {1} é igual a {2}", val1, val2, soma)
End Function
End Module
E
n
c
a
d
e
a
m
e
n
to
 d
e
 F
u
n
c
õ
e
s
 e
 
S
u
b
-r
o
ti
n
a
s
10
Module1.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Module Module1
Function AreaQuadrado(ByVal Comprimento As Double)
'Calcula a área do quadrado
Return Comprimento * Comprimento
End Function
Function VolumeCubo(ByValComprimento As Double)
'Chama a função AreaQuadrado e com ela calcula o volume do cubo
Return AreaQuadrado(Comprimento) * Comprimento
End Function
Sub Main()
Console.WriteLine(VolumeCubo(3.0))
Console.ReadKey()
End Sub
End Module
E
s
c
o
p
o
 d
e
 V
a
ri
á
v
e
is
11
Module1.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Module Module1
Private Numero As Double
Sub Duplicar()
'Acessa número declarado foram da sub-rotina e o duplica
Numero = Numero * 2
End Sub
Sub Triplicar()
'Acessa número declarado foram da sub-rotina e o triplica
Numero = Numero * 3
End Sub
Sub Main()
Numero = 1
Duplicar()
Triplicar()
Console.WriteLine(Numero)
Console.ReadKey()
End Sub
End Module
A palavra "escopo", no contexto das 
linguagens de programação, significa 
limite, abrangência ou alcance. 
E
s
c
o
p
o
 d
e
 V
a
ri
á
v
e
is
12
Module1.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Module Module1
Private Numero As Double
Sub Duplicar()
'Acessa número declarado foram da sub-rotina e o duplica
Numero = Numero * 2
End Sub
Sub Triplicar()
'Acessa número declarado foram da sub-rotina e o triplica
Numero = Numero * 3
End Sub
Sub Main()
Numero = 1
Duplicar()
Triplicar()
Console.WriteLine(Numero)
Console.ReadKey()
End Sub
End Module
Console
6
E
s
c
o
p
o
 d
e
 M
é
to
d
o
s
13
exemplo.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Module Temperatura
Public Function CParaF(ByVal temp_celsius As Decimal)
Dim temp_fahrenheit As Decimal
temp_fahrenheit = temp_celsius * 1.8 + 32
Return temp_fahrenheit
End Function
Public Function FParaC(ByRef temp_fahrenheit As Decimal)
Dim temp_celsius As Decimal
temp_celsius = (temp_fahrenheit - 32) / 1.8
Return temp_celsius
End Function
End Module
Module Module1
Sub Main()
Dim temp, temp_convertida As Decimal
Console.WriteLine("Digite uma temperatura em graus Celsius:")
temp = Console.ReadLine()
temp = Convert.ToDecimal(temp)
temp_convertida = Temperatura.CParaF(temp)
Console.WriteLine("A temperatura digitada equivale a {0} Fahrenheit.", temp_convertida)
Console.ReadKey()
End Sub
End Module
Desenvolvimento 
de software
Fabiano Gonçalves
dos Santos
Atividade 3
14
Vamos praticar
15
©
 A
lp
h
a
s
p
ir
it 
| 
D
re
a
m
s
tim
e
.c
o
m

Continue navegando