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

Loop


renantxrluiz

Pergunta

Olá,

Gostaria da ajuda de vocês pra resolver um problema. É o seguinte:

Estou desenvolvendo uma ferramenta na qual quero fazer um loop, a variável é o valor de x1, ela varia de 0,01 até h1 (h1 é um dado de entrada) incrementando 0,01 a cada tentativa, para cada valor de x1 são feitos algumas equações e resultam em um valor de R1, o critério a ser atendido é quando R1 for igual a zero.

Gostaria de saber quais funções são aplicáveis ao meu problema, pelo que andei lendo, posso utilizar o For Each para o loop, abaixo um rascunho do que pensei, mas ainda não obtive sucesso.

            Dim list As Integer
            For x1 = 0.01 To h1.Text
                For Each x1 As Decimal In list
                    '----equações que dependem de x1
                    Dim d11 = Val(h1.Text) - Val(cinf.Text) - x1
                    Dim d21 = x1 - Val(csup.Text)
                    Dim dn1 = (Val(h1.Text) / 2) - x1
                    Dim Sel1 = st1 - (Val(hm1.Text) * Val(ainf.Text) * d11) + (Val(hm1.Text) * Val(asup.Text) * d21)
                    Dim Iel1 = it1 + (Val(hm1.Text) * Val(ainf.Text) * (d11 ^ 2)) + (Val(hm1.Text) * Val(asup.Text) * (d21 ^ 2))
                    Dim No1 = (Val(aton.Text) / Sel1)
                    Dim Mo1 = (((Val(atom.Text) * 100) - (Val(aton.Text) * dn1)) / Iel1)
                    Dim R1 = ABS((No1 - Mo1)*1000)
                    '---- fim das equações, o valor a ser comparado é R1
                    Continue For
                    R1 > 0
                    Exit For
                    R1 = 0

 

Abraço.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Ao invés de usar "For" ou "For each" você pode usar "Do while ... Loop":

========================================================

Public Sub Testar()


    Dim x1 As Single
    Dim R1 As Single
    
    x1 = 0.01
    
    Do While x1 <= 1
        Debug.Print Format$(x1, "0.00")
        x1 = x1 + 0.01
    
        '* Equacoes aqui:
        '* ...
        '* R1 = ...
        
        If R1 = 0 Then Exit Do
        
    Loop

    MsgBox "OK"

End Sub

 

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...