none
Calculo de média com valor absoluto RRS feed

  • Pergunta


  • Como fazer a media das 4 textbox referente a linha do 0% indicar corretamente a media ? Nos valores usado como exemplo a media esta dando zero e nao é verdade pois deveria ser uma media de valor igual 1 .
    • Editado JonasMatos domingo, 8 de junho de 2014 08:51
    segunda-feira, 2 de junho de 2014 01:00

Respostas

  • Olá JonasMatos Camargo Correa,
    Você pode utilizar o método Abs da classe Math:
    http://msdn.microsoft.com/en-us/library/system.math.abs.aspx

    Aqui segue um exemplo,usando o overload Math.Abs(Int32):

    Dim numeroNegativo As Integer = -1000
    'numeroAbsoluto = 1000
    Dim numeroAbsoluto As Integer = Math.Abs(numeroNegativo)


    Tenha em mente que este método requer o .NET Framework 4.5.

    Outra solução é fazer manualmente usando o operador +,indicando que o número apontado deve ser positivo.

    Dim numeroNegativo As Integer = -1000
    'numeroAbsoluto = 1000
    Dim numeroAbsoluto As Integer = +numeroNegativo;


    terça-feira, 3 de junho de 2014 15:12
  • Olá JonasMatos Camargo Correa,
    Você pode utilizar o método Abs da classe Math:
    http://msdn.microsoft.com/en-us/library/system.math.abs.aspx

    Aqui segue um exemplo,usando o overload Math.Abs(Int32):

    Dim numeroNegativo As Integer = -1000
    'numeroAbsoluto = 1000
    Dim numeroAbsoluto As Integer = Math.Abs(numeroNegativo)


    Tenha em mente que este método requer o .NET Framework 4.5.

    Outra solução é fazer manualmente usando o operador +,indicando que o número apontado deve ser positivo.

    Dim numeroNegativo As Integer = -1000
    'numeroAbsoluto = 1000
    Dim numeroAbsoluto As Integer = +numeroNegativo;



    Em que lugar do meu código eu declaro essa variável dim numeroabsoluto ? Esse valor -1000 que você escreveu é só um exemplo né? Pois nao sabemos quais valores negativos irão aparecer. É uma variável.
    • Marcado como Resposta JonasMatos domingo, 8 de junho de 2014 08:46
    domingo, 8 de junho de 2014 08:46

Todas as Respostas

  • Não consegui escrever a pergunta abaixo da imagem. Então, vou escrever na resposta a minha duvida.

    Segue parte do codigo que faz a media:

    Private Sub TextBox9_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox9.LostFocus

            Dim media0 As Double
            media0 = Val(TextBox9.Text) / 1
            TextBox32.Text = media0

    End Sub

    Private Sub TextBox18_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox18.LostFocus

            Dim media0 As Double
            media0 = (Val(TextBox9.Text) + Val(TextBox18.Text)) / 2
            TextBox32.Text = media0
    End Sub

    Private Sub TextBox28_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox28.LostFocus

            Dim media0 As Double
            media0 = (Val(TextBox9.Text) + Val(TextBox18.Text) + Val(TextBox28.Text)) / 3
            TextBox32.Text = media0
    End Sub

    Private Sub TextBox23_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox23.LostFocus

            Dim media0 As Double
            Dim varian0, varian1, varian2, varian3 As Double
            media0 = (Val(TextBox9.Text) + Val(TextBox18.Text) + Val(TextBox28.Text) + Val(TextBox23.Text)) / 4
            TextBox32.Text = media0
            TextBox37.Text = media0 - Val(TextBox1.Text)
            varian0 = (Val(TextBox9.Text) - media0) ^ 2
            varian1 = (Val(TextBox18.Text) - media0) ^ 2
            varian2 = (Val(TextBox28.Text) - media0) ^ 2
            varian3 = (Val(TextBox23.Text) - media0) ^ 2
            TextBox42.Text = (varian0 + varian1 + varian2 + varian3) / 4
    End Sub

    notem que estão separados na PrivateSub com a função LOSTFOCUS, fiz assim para aparecer a media assim que inserir o valor nas primeiras textbox.

    o problema é que a média dos valores (1, -1, 1 e -1) não pode ser 0. pois estou usando esse textbox para inidicar a media de erros e quando afirmo que ocorreu quatro valores de erro que são 1, -1, 1 e -1 então a media de erros deveria ser valor = 1.

    Onde e como colocar ABS nesses codigos que estou usando?

    Obrigado.

    Jonas

    segunda-feira, 2 de junho de 2014 01:16
  • Olá JonasMatos Camargo Correa,
    Você pode utilizar o método Abs da classe Math:
    http://msdn.microsoft.com/en-us/library/system.math.abs.aspx

    Aqui segue um exemplo,usando o overload Math.Abs(Int32):

    Dim numeroNegativo As Integer = -1000
    'numeroAbsoluto = 1000
    Dim numeroAbsoluto As Integer = Math.Abs(numeroNegativo)


    Tenha em mente que este método requer o .NET Framework 4.5.

    Outra solução é fazer manualmente usando o operador +,indicando que o número apontado deve ser positivo.

    Dim numeroNegativo As Integer = -1000
    'numeroAbsoluto = 1000
    Dim numeroAbsoluto As Integer = +numeroNegativo;


    terça-feira, 3 de junho de 2014 15:12
  • Guilherme, creio que eu escrevo demais e acabo nao deixando claro minha dificuldade, vou tentar em uma frase explicar minha duvida. Como criar um código que faça a media das quatro variáveis : 1, -1, 1 e -1 ser = 1 e nao ser = 0 ??????????? Esses 4 valores são variáveis tipo double.
    quinta-feira, 5 de junho de 2014 23:58
  • Olá JonasMatos Camargo Correa,
    Você pode utilizar o método Abs da classe Math:
    http://msdn.microsoft.com/en-us/library/system.math.abs.aspx

    Aqui segue um exemplo,usando o overload Math.Abs(Int32):

    Dim numeroNegativo As Integer = -1000
    'numeroAbsoluto = 1000
    Dim numeroAbsoluto As Integer = Math.Abs(numeroNegativo)


    Tenha em mente que este método requer o .NET Framework 4.5.

    Outra solução é fazer manualmente usando o operador +,indicando que o número apontado deve ser positivo.

    Dim numeroNegativo As Integer = -1000
    'numeroAbsoluto = 1000
    Dim numeroAbsoluto As Integer = +numeroNegativo;



    Em que lugar do meu código eu declaro essa variável dim numeroabsoluto ? Esse valor -1000 que você escreveu é só um exemplo né? Pois nao sabemos quais valores negativos irão aparecer. É uma variável.
    • Marcado como Resposta JonasMatos domingo, 8 de junho de 2014 08:46
    domingo, 8 de junho de 2014 08:46