Neste artigo vou procurar mostrar o caminho das pedras para a construção de uma função no
OpenOffice.org Calc, vou utilizar um conteúdo de álgebra que é uma situação matemática bem simples e que vai servir para ilustrar todo o artigo. Trata-se do cálculo das raízes de uma equação do segundo grau, aplicando a fórmula de
Bhaskara.
Temos à nossa disposição um editor de macros que vem junto com o pacote OpenOffice.org Calc e que funciona com uma linguagem de programação muito simples, o
Basic, mas que produz grandes resultados quando utilizada com direcionamento adequado. Vou mostrar como se cria uma função a partir de um macro comando, em um nível bem inicial.
Construir um macro comando pode ser uma tarefa fácil se você possuir uma boa lógica na hora de programar e saber bem aonde quer chegar. Estes macros comandos são muito funcionais nas tarefas corriqueiras que necessitam de uma intensa repetição de comandos. Vamos compreender o que é uma função e um procedimento o decorrer do exercício.
Muitos utilizam o termo "uma" macro, eu particularmente discordo e uso o termo "um" macro, pois trata-se de "um" comando "grande" ou grupo de comandos executados em processo batch (lote).
Preparando o ambiente de desenvolvimento
Primeiramente vamos iniciar o OpenOffice.org Calc e gravar o nosso arquivo com o nome de BHASKARA, o que pode ser feito em uma planilha vazia ou em uma planilha que você esteja desenvolvendo, até chegar o momento da necessidade de construir uma função que você não encontrou no pacote fornecido.
Vamos lá então! Dê o comando:
FILE > SAVE > BHASKARA
Vamos agora acionar o editor de macros. Dê o comando:
TOOLS > MACROS > ORGANIZE MACROS > OPENOFFICE.ORG BASIC...
Veja o comando na figura baixo:
Iniciando a criação do módulo
Você deverá estar vendo uma janela parecida com a que está mostrada abaixo. Nesta janela, clique sobre o nome que você salvou o seu arquivo (observe à esquerda), então clique na opção "Standard". Agora clique no botão NEW, como mostra a figura abaixo:
Ao surgir a caixa de diálogo, digite o nome do módulo, no nosso caso use um nome sugestivo.
Digite:
ModuloBhaskara
Observe que você já está na janela de edição de procedimentos e funções, isto é, um ambiente de programação em linguagem Basic. Note também que o nome da função que criamos, expressa com muita clareza o que estamos fazendo. Um erro comum em programadores sem experiência é sair nomeando procedimentos e funções, variáveis e arquivos sem um certo rigor. Isto, mais tarde, causa sérias dores de cabeça. Bom, voltando ao nosso assunto!
Existe uma procedure (procedimento), a principal do programa, chamada Sub Main, não vamos entrar no detalhe desta Sub neste artigo. A nossa Function (função) ficará digitada abaixo dela, assim como qualquer outra função que desejarmos criar para nossa coleção. Observe a tela abaixo:
Vamos começar!
Primeiro entender o que desejamos fazer: CALCULAR RAÍZES DA EQUAÇÃO DO 2° GRAU POR BHASKARA.
O que vamos precisar?
Da fórmula:
De uma equação para testar:
Saber quem são os coeficientes e o termo independente: a, b e c respectivamente 1, 2 e -15, da equação acima. No seu editor Basic, já aberto, digite o código abaixo:
Se estiver difícil de ver, segue abaixo o código (aproveita, copia e cola! rsrs):
Function Bhaskara() As String
Dim doubleA, doubleB, doubleC, doubleDelta, doubleX1, doubleX2 As Double
doubleA = Val(InputBox("Digite o coeficiente A:"))
doubleB = Val(InputBox("Digite o coeficiente B:"))
doubleC = Val(InputBox("Digite o termo C:"))
doubleDelta=Val((doubleB*doubleB)-(4*doubleA*doubleC))
if doubleDelta < 0 then
print "A equação não tem solução real !"
exit function
endif
doubleX1=(-doubleB+sqr(doubleDelta))/2*doubleA
doubleX2=(-doubleB-sqr(doubleDelta))/2*doubleA
msgbox doubleX1
msgbox doubleX2
End function