Usuário com melhor resposta
Calculo de média com valor absoluto

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
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.aspxAqui 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;
- Editado Guilherme L. Santos terça-feira, 3 de junho de 2014 15:13 Mudança de sintaxe para Visual Basic .NET
- Sugerido como Resposta Ricardo Barbosa Cortes terça-feira, 3 de junho de 2014 19:46
- Marcado como Resposta Ricardo Barbosa Cortes quarta-feira, 4 de junho de 2014 11:28
-
Olá JonasMatos Camargo Correa,
Você pode utilizar o método Abs da classe Math:
http://msdn.microsoft.com/en-us/library/system.math.abs.aspxAqui 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
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 = media0End 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 SubPrivate 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 SubPrivate 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 Subnotem 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
-
Olá JonasMatos Camargo Correa,
Você pode utilizar o método Abs da classe Math:
http://msdn.microsoft.com/en-us/library/system.math.abs.aspxAqui 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;
- Editado Guilherme L. Santos terça-feira, 3 de junho de 2014 15:13 Mudança de sintaxe para Visual Basic .NET
- Sugerido como Resposta Ricardo Barbosa Cortes terça-feira, 3 de junho de 2014 19:46
- Marcado como Resposta Ricardo Barbosa Cortes quarta-feira, 4 de junho de 2014 11:28
-
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.
-
Olá JonasMatos Camargo Correa,
Você pode utilizar o método Abs da classe Math:
http://msdn.microsoft.com/en-us/library/system.math.abs.aspxAqui 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