Ir para conteúdo
Fórum Script Brasil
  • 0

Resolvedor de Expressões


allen

Pergunta

Opa Fórum Beleza !

Estou tendo uma cadeira na faculdade e o trabalho posto pelo professor foi de desenvolver um código que resolva expressões matemáticas. Ainda estou na parte que eu recebo os dados,guardo eles em um vetor ,porém acredito que está errado.Como sou iniciante em programação estou tendo bastante dificuldade

Private Sub Resolve_expressao()



Dim guarda_sinais(1000)
Dim guarda_numeros(1000)


valor_inserido = InputBox("Digite o Cálculo")


contador1 = 1
contador2 = 1


For laco1 = 1 To Len(valor_inserido)

If Mid$(valor_inserido, laco1, 1) = "+" Or Mid$(valor_inserido, laco1, 1) = "-" Or Mid$(valor_inserido, laco1, 1) = "*" Or Mid$(valor_inserido, laco1, 1) = "/" Then


guarda_numeros(contador1) = Val(Mid$(valor_inserido, 1 + k, laco1 - 1))


guarda_sinais(contador2) = Mid$(valor_inserido, laco1, 1)

k = laco1
contador1 = contador1 + 1
contador2 = contador2 + 1

End If

Next laco1



MsgBox (guarda_numeros(1))


MsgBox (guarda_sinais(2))


MsgBox (guarda_numeros(2))


End Sub

Os msgbox são apenas para mostrar como está indo.

Então o vetor tem que armazenar o que for número e letra para assim depois resolver os cálculos.Também não tenho idéia de como resolver os cálculos

Grato pela atenção

abraços

Editado por allen
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Na verdade creio que você esteja indo por um caminho certo. Só vale lembrar que as expressões nos parênteses mais internos são resolvidas primeiro, então creio que o ideal seria primeiro separá-las. Em relação a resolver os cálculos vai ser uma simples questão de somar dois termos se o operador for "+", subtrair se for "-", e assim por diante. Por isso que tendo tudo separado fica mais fácil.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Sim mas não esta funcionando, quando tem sinal na frente ele não interpreta ....

tem como alguém me mostrar um simples trecho lógico de como ia se comportar nos laços?Acho que facilitaria,pois não estou copnseguindo encontrar uma lógica funcional para o problema

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

allen, você tem nocao de pilhas e notacao polonesa?? se tiver, fica muito mais facil, já q pelo q sei, internamente os calculos são feitos assim mesmo (com o uso de pilhas e notacao polonesa ou notacao posfixa).

bom, nesse link tem um exemplo: http://www.microsoft.com/brasil/msdn/tecno...asic_stack.mspx qualquer duvida, poste.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...