• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

visk0nde

[VB 2005] Formula Resolvente 2º Grau

17 mensagens neste tópico

boas pessoal

fiz search e nao encontrei..

tou a dar VB na escola, e o stor agora mandou nos uns trabalhos pa fazer em casa.

um deles, e fazer um programa que recebe 3 numeros , e com eles faca a formula resolvente das equacoes de 2 grau.

esta aqui

ja tenho o programa todo feito, mas a parte de meter esse calculo da me erro.. tou a cometer um erro qualquer na linha da formula..

mas se meter outra cena tipo resultado = (a+b+c) o prog funca na boa..

como e que ficara a linha entao po resultado?

eu tou a meter assim, e da erro:

resultado = (-b + Math.Sqrt((b * b) - (4 * a * c)) / (2 * a))

ta mal , ate porque antes do raiz quadrada pode ser + ou -... mas isso fica pa depois lol

se conseguísse fazer assim ja era bom :P

cumpts

EDIT:

só agora reparei na secção de duvida e ajuda.... move it :P

pronto ja ta movido :P agora ja podem ajudar lol

j/k

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem, quanto à tua dúvida...

Quadratic equation.

Calculas primeiro o discriminante ou o delta.

3fc7983ab93ee0dbf8cd2394e9b70854.png

687793cea19f7c125e787df1e70c550a.png

  • Se Δ > 0, a equação terá duas raízes reais e distintas.
  • Se Δ = 0 , a equação terá duas raízes reais e iguais.
  • Se Δ < 0\, a equação terá duas raízes complexas.

O resto vou deixar que aprendas sozinho. ;)

PS: Depois altera o título do tópico com a tag correspondente à versão do VB.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

brigado

agora tou a atrofiar com isto..

atnes tava a tentar fazer so com a parte (+) da raiz.. dps se conseguisse ia po 2 resultado..

mas isto ta me a dar difrente de com a maquina.. amanha com calma vejo

brigado e cumpts ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Meu, no teu código falta-te um parentesis antes da divisão.

Se vires bem, estás a dividir o 2a só pela raiz qudrada...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas

bem e assim

para quando o "delta" ta positivo, ate ja consegui calcular os 2 valores.

agora quando meto um  que da delta negativo, da bronca... ;)

btw, como meto para um numero decimal ficar com com X casas?

e q na escola ainda so usamos os integer... mas pa este exercicio fica melhor um com casas decimais.. (tou a usar o double)

[pre]

"se quiserem" dar vista de olhos lol Formula Resolvente Do Viskonde [/pre]

cumpts

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o delta nao pode ser negativo, pois quando poes sqrt num numero, esse tem que ser positivo, pois qq numero ao quadrado e positivo.

se o delta for negativo, a equacao e impossivel e pronto...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o delta nao pode ser negativo, pois quando poes sqrt num numero, esse tem que ser positivo, pois qq numero ao quadrado e positivo.

se o delta for negativo, a equacao e impossivel e pronto...

e pois e...

entao deve ser por isso xD

e q eu pa testar tava a meter ambos os termoso (a, b, c) negativos e delta dava negativo.. e assim claro q dava erro :D

agr testei com a maquina  e tb da erro..

portanto deve tar feito ;)

so aperfeicoar

thank you guys!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes fazer uma coisa do género:


Dim a as Integer
Dim b as Integer
Dim c as Integer
Dim result as Double
Dim binomio as Integer

'Vais buscar os valores de "a","b" e "c" a qualquer lado
...

'Verificas se o binómio discriminante é negativo, positivo ou 0
binomio = b^2 - 4*a*c

'Menor que 0
If binomio < 0 Then

Messagebox.show("Equação Impossível - Binómio discriminante é negativo")

'Igual a 0
ElseIf binomio = 0 Then

Messagebox.show( (-b + Math.Sqrt (binomio))/ (2 * a))

'Maior que 0
Else

Messagebox.show( (-b + Math.Sqrt (binomio))/ (2 * a))
Messagebox.show( (-b - Math.Sqrt (binomio))/ (2 * a))

End If

EDIT: Pelos vistos já tens isso bem xD. Anyway, ficas aqui com um exemplo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lol brigado ;)

lol  o forum mete cores sozinho?

EDIT: ok vi pelo quote que isto tem um tal "code Vbnet" mt fixe xD

e agora uma duvidas pa melhorar a apresentacao.

como dizer o numero de casas decimais a apresentar?

nas Messageboxs, como dou tipo um ENTER po texto ficar em duas linhas?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
EDIT: ok vi pelo quote que isto tem um tal "code Vbnet" mt fixe xD

Que podes usar usando (usar usando?  :hmm:) o GeSHi.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não sei se adicionando um "Controlchars.Crlf" ele muda de linha dentro da message box mas não custa tentar ;)

quanto às casa decimais, existe um método para formatar um número mas já não me lembro qual é e como se usa :/

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ya o controlchars.crlf deu ;)

bem visto que na escola nunca usamos os doubles, s calhar ainda  faço isto com integers...

mas de resto

ta pronto a enviar! :woot:

Obrigado :D

edit: ah podem encerrar ou assim.. n sei se e habito :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para arredondares o número com X casas decimais podes usar a função FormatNumber. Mas visto já teres isso feito ficas só com mais uma ideia ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hvn ya isso resulta fixe :P

por acaso antes de mandar ainda fui ao belo do search e econtrei isso :) portanto ja mandei isto bonitinho

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ou podes usar o Math.Round(). Em vez do "binomio = b^2 - 4*a*c" podes substituir o b^2 por Math.Pow(b,2). É só uma questão de aproveitares as classes do namespace Math.

Offtopic: Quem veio aqui parar... tudo bem visk0nde ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Quem veio aqui parar... tudo bem visk0nde ?

tudo optimo :) e por ai?

a ver s arranjo um ebook bacano desta lingua.. que isto na escola so duas vezes por semana nao da pica :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ta tudo em ordem :)

www.msdn.com

www.macoratti.net

Ve estes dois links, e ja tens muito com que te entreter :D

E ja agora, dá uma olhadela às edições da revista que tens lá conteúdo sobre VB  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora