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:
| PrivateFunction 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 mensalDim 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 AsDouble 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 Facebook    Compartilhe no Twitter
 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