Dando os primeiros passos - Escrevendo Código VB.NET - IV
Dando sequência aos artigos da série - Dando os primeiros passos - Escrevendo Código VB.NET - neste artigo vou mostrar uma aplicação prática de toda a teoria vista até agora . Vamos criar uma aplicação no VB.NET usando alguns dos conceitos expostos e mostrar como podemos juntar as partes para criar algo de útil. Para que você se situe a série de artigos é :
Dando os primeiros passos - Escrevendo Código VB.NET - I - variáveis e constantes
Dando os primeiros passos - Escrevendo Código VB.NET - II - operadores e funções básicas
Dando os primeiros passos - Escrevendo Código VB.NET - III - sub-rotinas e funções
Nossa aplicação irá realizar um cálculo matemático envolvendo valores monetários.
Vamos criar um programa para calcular o Valor Futuro de uma determinada aplicação financeira em um determinado período a uma taxa de juros definida.
O problema é básico , temos que criar uma função que receba como informação :
o valor inicial
os valores dos depósitos mensais
a taxa de juros
e o período da aplicação
O resultado deve ser o Valor Futuro da aplicação para as condições definidas.
Se você nem sabe por onde começar eu vou lhe dar uma dica : felizmente o VB.NET já tem uma função para calcular o Valor Futuro : FV .
A sintaxe da função FV é a seguinte :
Function FV( _
ByVal Rate As Double, _
ByVal NPer As Double, _
ByVal Pmt As Double, _
Optional ByVal PV As Double = 0, _
Optional ByVal Due As DueDate = DueDate.EndOfPeriod) As Double
|
Onde:
|
Para ter uma visão da funcionalidade do aplicativo vamos escrever como deverá ser o fluxo de dados do aplicativo usando alguns dados como exemplo :
|
Se começarmos o investimento com R$ 10.000,00 e investirmos R$ 200,00 por mês por 10 anos a uma taxa de 5% ao ano Iremos ter um valor futuro de : ?????
|
A fórmula usada por FV é a seguinte :
FV = DepositoMensal * ((( 1 + TaxaMensal) ^ Periodo -1 ) / TaxaMensal ) + ValorInicial * ( 1+ TaxaMensal) ^ Periodo |
Perceba que a fórmula usa quatro variáveis que vamos ter que definir em nossa aplicação . Primeiro vamos criar uma aplicação do tipo Console por ser mais simples , depois iremos criar a mesma aplicação usando os Windows Forms. Vamos ao trabalho:
1 - Inicie um novo projeto no Visual Studio.NET com as seguintes características (sinta-se a vontade para alterar a seu gosto.)
2 - Altere o
nome do modulo para
ModVF.vb.(Clique com o botão direito do mouse
sobre o nome e selecione Renomear) Veja ao lado a janela - Solution Explorer - e o módulo preparado para receber o código da nossa aplicação - ValorFuturo1 |
Como já mostramos acima temos que definir quatro variáveis para armazenar os dados que vamos informar para a aplicação calcular o valor futuro usando a forma já descrita.
Private dbTaxaAnual As Double = 0 Private iAnos As Integer = 0 Private decValorInicial As Double = 0 Private decDepositoMensal AS Double = 0 |
Declaramos as quatro
variáveis como privadas (Private) desta forma
elas serão visíveis somente dentro do módulo. - No início de cada nome de cada uma das variáveis usei um prefixo para identificar qual o tipo da variável (esta é uma boa prática de programação), assim :
Com exceção da variável iAnos que foi definida como sendo do tipo inteiro as demais foram definidas como sendo do tipo Double. Todas as variáveis foram iniciadas com valor igual a 0. |
Eu poderia colocar todo o código da aplicação na rotina Main , mas isto não seria muito aconselhável pois iríamos gerar um código difícil de ler e manter. Vamos criar sub-rotinas para cada uma das funcionalidades que vamos precisar na nossa aplicação.
Qual seriam elas ????
Você pode ter uma ideia melhor que a minha , mas eu dividi a aplicação em 3 partes, abaixo cada uma delas e a seguir uma sugestão de nome para a rotina associada:
Entrada de dados - AlimentaVF
Calculo do Valor Futuro - CalculaVF
Exibição do resultado - MostraVF
Nosso código inicial teria então a seguinte estrutura :
Explicando o código acima:
Estamos usando uma variável do tipo Double - decResultado - que irá armazenar o resultado
Criamos duas sub-rotinas : AlimentaVF() que irá receber os valores e MostraVF() que irá exibir o resultado
Criamos a função CalculaVF(dbTaxaAnual, iAnos, decDepositoMensal, decValorInicial) que irá calcular o Valor Futuro. Perceba que a função usa quatro parâmetros que serão usados no calculo da operação.
2- A próxima etapa será criar o código para cada uma das sub-rotinas e da função usada na aplicação. Vamos começar com a sub-rotina AlimentaVF() :
- Vamos definir a rotina AlimetaVF() como sendo private ; como ela é uma sub-rotina nenhum valor será retornado. Abaixo temos uma sugestão para o código desta sub-rotina:
Private
Sub
AlimentaVF()
'escreve uma linha no console Console.WriteLine() 'recebe os valores e armazena em cada variável decValorInicial = CDec(ObtemDados("Valor Inicial = ")) dbTaxaAnual = CDbl(ObtemDados("Taxa Anual = ")) decDepositoMensal = CDec(ObtemDados("Deposito Mensal = ")) iAnos = CInt(ObtemDados("Periodo do Investimento = "))
End Sub |
Explicação do código:
- Criamos a função - ObtemDados(msg) - que irá receber o valor informado pelo usuário. O valor retornado será armazenado em cada variável já definida no início do módulo. O parâmetro passado para a função é a mensagem que irá aparecer para usuário ao digitar o valor. A seguir o código da função ObtemDados(msg) :
Private
Function ObtemDados(ByVal
msg As
String)
As
String
Console.WriteLine(msg) Return Console.ReadLine End Function |
A função ObtemDados recebe o parâmetro - msg - e exibe a mensagem usando a método - Console.Writeline.
Após informar o valor e teclar ENTER o valor é retornado via método Console.Readline. Observe que definimos o tipo de retorno da função ObtemDados como String.
3- Vamos agora ao código da função - CalculaVF() -. Esta função usa 4 parâmetros e devolve o resultado do Valor Futuro. Abaixo o código:
Private Function CalculaVF(ByVal TaxaAnual As Double, ByVal Anos As Integer, ByVal DepositoMensal As Double, ByVal ValorInicial As Double) As Double
'Vamos pegar a taxa anual e dividir por 1200 para obtermos o percentual mensal Dim decTaxaMensal As Double = CDec(TaxaAnual / 1200)
'Vamos calcular o numero de meses Dim iMeses As Integer = (Anos * 12)
'A seguir vamos declarar uma variável temporária e a variável que vai armazenar o valor de retorno Dim decTemp As Double Dim decRetorno As Double'vamos usar a variável temporaria e a variavel de retorno decTemp = CDec((1 + decTaxaMensal) ^ iMeses) decRetorno = CDec(DepositoMensal * ((decTemp - 1) / decTaxaMensal) + (ValorInicial * decTemp)) Return decRetorno
End Function |
Na função CalculaVF() usamos os parâmetros recebidos para efetuar os cálculos e retorna o valor futuro. O retorno da função é do tipo Double. A seguir vamos exibir o valor do resultado usando a função : MostraVF(decResultado) :
Private
Sub MostraVF(ByVal
resultado As Double)
Console.WriteLine() Console.WriteLine(" Com um valor incial de {0:c} ", decValorInicial) Console.WriteLine(" e depositos mensais de {0:c} ", decDepositoMensal) Console.WriteLine(" por um periodo de {0} anos ", iAnos) Console.WriteLine(" a uma taxa de {0}% no período ", dbTaxaAnual) Console.WriteLine() Console.WriteLine(" Você terá como um valor futuro de : {0:c}", resultado) Console.ReadLine() End Sub |
A função recebe o resultado e usando o método Console.Writeline , exibe o resultado no console . Perceba que formatamos a saída usando os parâmetros de formatação para o console. (Leia o artigo : VB.NET - Formatando a saída do console. ). O valor das variáveis irá substituir os parâmetros {0:c} e {0} em cada posição. ( {0:c} significa : formato de moeda local)
Vamos executar a aplicação para ver o resultado final :
Gostou ???
Embora muito simples, você já usou muitos dos conceitos explanados nos artigos anteriores.
Não perca a continuação dos artigos da série - VB.NET - Primeiros passos - onde iremos falar de orientação a objetos, classes, e as características OOP presentes no VB.NET, tudo isto em VB.NET - Primeiros passos - Conceitos - V , até lá... !!!
Veja os Destaques e novidades do SUPER DVD VB (sempre atualizado) : clique e confira ! Quer migrar para o VB .NET ? Veja mais sistemas completos para a plataforma .NET no Super DVD .NET , confira... Quer aprender C# ?? Chegou o Super DVD C# com exclusivo material de suporte e vídeo aulas com curso básico sobre C# Veja também os cursos em Vídeo Aulas : |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Visual Basic .NET - aquecendo as turbinas