Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Jacqueline Santos

VisualG Problema com visualg dando "Invalid floating point operation"

Recommended Posts

Gente comecei a estudar programação faz uma semana e estava fazendo uns exercícios, mas esse da fórmula de bhaskara está dando "Invalid floating point operation" na hora de executar, como não estou conseguindo achar o erro queria pedir ajuda de vocês. Desde já agradeço.

IMG_20171022_170005397_HDR.jpg

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Jacqueline Santos     ele está dando esse erro por que,   o visualg não consegue calcular raiz quadrada de números negativos,  então no seu código você precisa colocar essa instrução :

rz:=raizq(abs(delta))

para que,  se o número for negativo ele faz o cálculo como se fosse positivo mesmo ou seja ele ignora o sinal que esteja antes do número .   então seu código ficaria assim :

algoritmo "bhaskara"
var
  a,b,c,x1,x2,yv,xv,delta,rz : real
inicio
  escreva("informe o valor de a ")
  leia(a)
  escreva("informe o valor de b ")
  leia(b)
  escreva("informe o valor de c ")
  leia(c)
  delta <- b^2 - 4*a*c
  rz:=raizq(abs(delta))
  x1 := (-b)+rz/2*a
  x2 := (-b)-rz/2*a
  escreval("-----------------------------")
  escreval("o valor de delta é: ",delta)
  escreval("-----------------------------")
  escreval("o valor de x1 e x2 é: ",x1,x2)
  escreval("----------------------------")
  escreval("parabola")
  yv := ((delta)/4*a)
  xv := ((-b)-2*a)
  escreval("o valor do vértice é: ",yv)
  escreval("o valor do vértice é: ",xv)
fimalgoritmo

assim ele compila e mostra os resultados normalmente, no entanto estou sem tempo para calcular o resultado para ver se está certo, veja aí se confere.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá a todos.

 

@Jacqueline Santos, por favor, edite sua postagem anterior e substitua a imagem do código pelo texto do código, ou seja, basta copiar o algoritmo do Visualg, clicar no botão CODE (<>) e colar o código. Dessa forma, fica mais fácil, para nós contribuidores, analisar o código e/ou testar no compilador.

 

 

 

@devair1010 e @Jacqueline Santos, alguns pontos:

 

Em 22/10/2017 às 22:12, devair1010 disse:

@Jacqueline Santos ele está dando esse erro por que,  o visualg não consegue calcular raiz quadrada de números negativos

Creio que seja isso mesmo, mas veja, para o mundo dos reais de fato não existe raiz quadrada de número negativo, ou seja, o que pode está errado é o algoritmo, não a conta.

 

Em 22/10/2017 às 22:12, devair1010 disse:

[...] então no seu código você precisa colocar essa instrução :


rz:=raizq(abs(delta))

para que,  se o número for negativo ele faz o cálculo como se fosse positivo mesmo ou seja ele ignora o sinal que esteja antes do número .


Vejam, a fórmula de Bhaskara utiliza a "raiz de Delta", não "a raiz do módulo de Delta". Vai acabar sendo uma conta diferente e poderá resultar uma resposta incorreta.

 

O foco geral do problema está na "Fórmula de Bhaskara", correto?. Já o "problema citado" consta na parte do cálculo da Discriminante (Delta), veja uma definição sobre ela:

Citação

Discriminante é a expressão presente dentro da raiz na fórmula de Bhaskara. É comumente representado pela letra grega Δ (Delta) e recebe esse nome pelo fato de discriminar os resultados de uma equação da seguinte maneira:

 

Δ < 0, então a equação não possui resultados reais;
Δ = 0, então a equação possui apenas um resultado real ou possui dois resultados iguais (essas duas afirmações são equivalentes);
Δ > 0, então a equação possui dois resultados distintos reais.

 

Portanto, para calcular as raízes de uma equação do segundo grau, primeiramente calcule o valor numérico de Δ.

Fonte: http://brasilescola.uol.com.br/matematica/formula-bhaskara.htm

 

Logo, é necessário verificar o valor de Delta antes de efetuar a conta e tomar a devidas providência para cada caso. (poderia usar se para cada possibilidade)

 

 

No aguardo.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×