Buscar

Desenvolvendo um Algoritmo para o Método da Falsa Posição através do VBA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Ministério da Educação 
Universidade Tecnológica Federal do Paraná 
Departamento Acadêmico de Matemática 
Disciplina: Cálculo Numérico 
ProfªAngelaOlandoski Barboza 
Aula de Laboratório nº 1 
Método da Posição Falsa para encontrar 
raízes de funções com uma variável 
 
Objetivo: 
Nesta aula vamos desenvolver um aplicativo computacional usando Visual Basic for 
application (VBA) do Excel 2007 para resolver o algoritmo do Método da Posição Falsa. 
 
1) Inicie o aplicativo Microsoft Excel 2007. Você verá a tela à seguir. Se você ainda 
não está visualizando a guia “Desenvolvedor”, terá que habilitá-la para poder 
acessar o VBA; 
 
 
2) Pressione o ícone no canto esquerdo superior da janela do Excel. Você verá 
a caixa de diálogo a seguir. 
 
 
 
 
3) Pressione o botão “Opções do Excel” e você terá a nova caixa de diálogo a seguir. 
 
 
 
4) Dê um clique na opção “Mostrar guia Desenvolvedor na Faixa de Opções” e 
pressione o botão “OK”. Você então poderá observar a guia do desenvolvedor na 
barra de menus como mostra a figura a seguir. 
 
 
 
5) Clique na guia “Desenvolvedor”. Você poderá visualizar as opções do 
desenvolvedor. 
 
 
6) Para que você não tenha problemas em abrir pastas que contenham programas 
desenvolvidos em VBA, você terá que alterar a opção de segurança de macro. 
Pressione então o ícone . Você terá a seguinte caixa de diálogo. 
 
 
7) Escolha a opção “Habilitar todas as macros” e clique em “OK”. 
 
8) Feche o aplicativo Excel 2007 para que sua configuração seja aceita e em seguida 
abra novamente o Excel. Em seguida, clique na guia “Desenvolvedor”. 
 
9) Para abrir o VBA, pressione o ícone . Você veráa janela do VBA mostrada na 
figura a seguir. 
 
 
 
 
 
 
 
10) Na janela do Microsoft Visual Basic, no menu Inserir, escolha UserForm, conforme 
indica a figura; 
 
 
 
11) A próxima tela encontrada é a mostrada na seguinte figura com indicação dos 
objetos rótulo, caixa de texto e botão de comando; 
 
 
 
12) Vamos inserir 6rótulos (Label), 6 caixas de texto (TextBox) e dois botões de 
comando (CommandButton).As caixas são para os dados de entrada: função a, b, 
TOL eN0 e para o dado de saída p. Estas caixas e os botões, serão inseridos na 
janela UserForm1. Para fazer a inserção de um rótulo, posicione o cursor do mouse 
sobre o rótulo, indicado na figura acima, clique no botão esquerdo do mouse e 
arraste para a janela do Form e então solte o botão do mouse. O procedimento é 
igual para a inserção de caixas de texto e botões de comando. Quando inserimos o 
primeiro rótulo, podemos observar que dentro do mesmo vem escrito “Label1”. 
Para trocar o que vem escrito, usamos a janela Propriedades (Properties). Na linha 
onde temos a propriedade “Caption”, escrevemos na linha ao lado direito o que 
desejarmos. Quando você desejar fazer alteração de propriedades de algum 
objeto (Rótulo, Caixa de Texto, Botões, etc.) em primeiro lugar clique com o 
mouse sobre este objeto para marcá-lo. Nos seis rótulos, escreveremos 
“Função”,“a”, “b”, “TOL”, “N0” e “p”, respectivamente. As caixas de texto, por 
enquanto, deverão ser deixadas em branco.Para os botões o processo é semelhante. 
Tente deixar o UserForm1 como mostra a figura. 
Label ou 
Rótulo 
TextBox ou 
Caixa de Texto 
Command Button ou 
Botão de Comando 
13) Para mudar o nome“UserForm1” para “Método da Posição Falsa”, clique na parte 
azul do UserForm1, em seguida clique na propriedade “Caption” na janela 
“Properties” eentão faça a alteração. Seu UserForm deverá estar semelhante ao 
mostrado na figura a seguir. A interface com o usuário é este UserForm que 
acabamos de construir. Os passos seguintes, irãodescrever como construir o módulo 
para o funcionamento do nosso aplicativo. 
 
 
 
14) Antes de continuarmos, vamos salvar a pasta do Excel. Para retornar à janela das 
planilhas, clique no ícone do Excel que está no canto esquerdo superior da tela 
como mostra a figura a seguir. 
 
 
 
 
 
 
 
 
15) Crie na pasta “Meus documentos” uma pasta onde você irá salvar seu aplicativo. 
Clique então no ícone . Você verá a caixa de mensagem a seguir. Para que você 
possa salvar seu arquivo com o projeto VBA, você terá que escolher a opção 
“Não”. 
 
 
 
 
 
 
 
16) Na caixa de diálogo “Salvar como”, clique na seta de opções de “Salvar como 
tipo”. Escolha a opção “Pasta de Trabalho Habilitada para Macro do Excel”. Veja 
as indicações na figura a seguir. Em seguida escolha um nome para sua pasta e 
salve-a no local escolhido por você. 
 
 
 
17) Antes de retornarmos à janela do VBA, vamos digitar na “Plan1” os dados, 
conforme mostra a figura. 
 
 
18) Agora, vamos começar a desenvolver as rotinas para os botões de comando que 
inserimos. Primeiramente, vamos fazer o botão”Sair” funcionar. Volte ao VBA 
usando o ícone . Em seguida, dê um duplo clique com o botão esquerdo do 
mouse sobre o botão Sair. Você terá a janela de códigos mostrada na figura a 
seguir: 
 
 
19) A rotina que desejamos que seja executada ao pressionarmos esse botão, deverá 
estar escrita entre essas duas linhas. A primeira linha indica o início da rotina e o 
nome desta, que no nosso caso é “CommandButton2”. O comando “Click” indica 
que esta rotina será executada quando pressionarmos esse botão. Entre estas duas 
linhas escreva:“End” que é o comando que encerra o aplicativo. Ficará como 
mostra a figura.Para voltar a visualizar o UserForm, clique no ícone indicado pelo 
balão na figura. 
 
 
 
20) Vamos agora verificar se o botão “Sair”já está funcionando. Para tanto, pressione 
na barra de ferramentas o botão “start”. O projeto é então executado. 
Pressione o botão sair. A execução é então encerrada. 
 
21) Para facilitar os testes durante a execução, vamos digitar nas caixas de texto,dados 
para a execução do aplicativo. Digite-os como mostra a figura. Para digitar, basta 
clicar sobre a caixa, esperar uns instantes e clicar novamente. O cursor se 
posicionará dentro da caixa, esperando a digitação. 
 
Para visualizar o 
UserForm 
 
 
 
 
22) Vamos agora escrever o código para o botão “Executar”: (as explicações sobre o 
que cada parte do programa irá fazer aparecerão como comentários no próprio 
código). 
Obs.: a primeira e última linhas (em cor verde) do código já aparecem quando 
clicamos duplo no botão Executar. Não incluí-las novamente. 
 
Private Sub CommandButton1_Click() 
 
'Declaração das variáveis 
Dim a As Double 
Dim b As Double 
Dim TOL As Double 
Dim N As Integer 
Dim p As Double 
Dim FA As Double 
Dim FB As Double 
Dim FP As Double 
Dim Função As String 
Dim FunçãoA As String 
Dim FunçãoB As String 
Dim FunçãoP As String 
 
'Limpar a plan1 
Worksheets("Plan1").Range("B2:G500000").Clear 
 
'Para carregar os dados no programa, iremos utilizar as caixas de texto 
 
Função = "=" &TextBox1.Text 
a = TextBox2.Text 
Cells(2, 2) = a 
b = TextBox3.Text 
Cells(2, 4) = b 
TOL = TextBox4.Text 
N = TextBox5.Text 
 
'Passo 1:Vamos calcular o valor de f(a) e f(b) 
 
'Cálculo de f(a) 
FunçãoA = Função 
FunçãoA = Replace(FunçãoA, "exp", "y") 
FunçãoA = Replace(FunçãoA, "x", a) 
FunçãoA = Replace(FunçãoA, "y", "exp") 
FunçãoA = Replace(FunçãoA, ",", ".") 
Cells(2, 3).Formula = FunçãoA 
FA = Cells(2, 3) 
 
'Cálculo de f(b) 
FunçãoB = Função 
FunçãoB = Replace(FunçãoB, "exp", "y") 
FunçãoB = Replace(FunçãoB, "x", b) 
FunçãoB = Replace(FunçãoB, "y", "exp") 
FunçãoB = Replace(FunçãoB, ",", ".") 
Cells(2, 5).Formula= FunçãoB 
FB = Cells(2, 5) 
 
'Vamos testar se f(a).f(b) < 0 e colocar uma mensagem caso não seja verdadeiro 
If FA * FB > 0 Then 
MsgBox "f(a).f(b)>0 - Fornecer outros valores para a e b" 
End 
End If 
 
'Iniciar o valor do contador i 
i = 1 
 
'Passo 2: Enquanto i<=No execute os passos 3-6 
Do While i <= N 
 
'Passo 3: 
 p = (a * FB - b * FA) / (FB - FA) 
 Cells(i + 1, 6) = p 
 FunçãoP = Função 
 FunçãoP = Replace(FunçãoP, "exp", "y") 
 FunçãoP = Replace(FunçãoP, "x", p) 
 FunçãoP = Replace(FunçãoP, "y", "exp") 
 FunçãoP = Replace(FunçãoP, ",", ".") 
 Cells(i + 1, 7).Formula = FunçãoP 
 FP = Cells(i + 1, 7) 
 
'Passo 4: 
 If FP = 0 Or Abs(FP) < TOL Then 
TextBox6.Text = p 
MsgBox "Procedimento efetuado com sucesso" 'Caixa de mensagem 
Exit Do 
 Else 
 
'Passo 5: 
 i = i + 1 
 
 
'Passo 6: 
 If FA * FP > 0 Then 
 a = p 
FA = FP 
Cells(i + 1, 2) = a 
Cells(i + 1, 3) = FA 
Cells(i + 1, 4) = Cells(i, 4) 
Cells(i + 1, 5) = Cells(i, 5) 
Else 
 b = p 
 FB = FP 
Cells(i + 1, 3) = b 
Cells(i, 3) = b 
Cells(i + 1, 2) = Cells(i, 2) 
Cells(i + 1, 2) = Cells(i, 3) 
EndIf 
 EndIf 
Loop 
 
'Passo 7 
If i > N Then 
MsgBox "Solução não encontrada" 'Caixa de mensagem 
EndIf 
 
End Sub 
 
23) Os resultados para o primeiro exemplo devem ser como os mostrados na figura a 
seguir. 
 
 
 
24) Agora tente resolver utilizando os seguintes dados: 
função ; 
intervalo: [ ]; 
tolerância: 0,00000001 
N0: 10000 
Você deverá encontrar os resultados na “Plan1” conforme mostrado na figura. 
 
 
 
 
25) Finalmente, resolva para os seguintes dados: 
Função 
 Intervalo: [ ] 
tolerância: 0,00000001 
N0: 10000 
Os resultados devem ser:

Continue navegando