Ir ao conteúdo

Posts recomendados

Postado

Estou começando na área de linguagem e tive um problema com "Floating point division by zero" ao ir explorando e conhecendo o código.

 

Se alguém puder ajudar fico grato.

 

algoritmo "Trabalhando com Tipos"

var

   n1, n2, n3, n4, n5, n6, n7, n8, soma, subtracao, multiplicacao : inteiro
   divisao : real
inicio
   Escreval ("Números Soma: ")
   Escreval ("Número:")
   leia(n1)
   Escreval ("Número: ")
   leia(n2)

   Escreval ("Números Subtração: ")
   Escreval ("Número: ")
   leia(n3)
   Escreval ("Número: ")
   leia(n4)

   Escreval ("Números Multiplicação: ")
   Escreval ("Número: ")
   leia(n5)
   Escreval ("Número: ")
   leia(n6)


   Escreval ("Números Divisão: ")
   Escreval ("Número: ")
   leia(n7)
   Escreval ("Número: ")
   leia(n7)
   soma <- n1 + n2
   subtracao <- n3 - n4
   multiplicacao <- n5 * n6
   divisao <- n7 / n8
   escreval ("Soma: ", soma)
   escreval("Subtração: ", subtracao)
   escreval("Multiplicação: ", multiplicacao)
   escreval("Divisão: ", divisao)
fimalgoritmo

 

  • Obrigado 1
Postado

@anyw     no seu código você leu dois números para uma mesma variáveL "n7" e a outra da divisão é o "n8 " ficou sem receber nenhum outro valor , senão aquele que foi inserido nela na hora em que foi criada , ou seja o valor zero , e não se pode dividir nenhum número por zero ,  e aí o visualG mostra esse erro e trava , sendo necessário fecha-lo e abrir novamente , e para resolver essa questão ,você pode colocar uma condição , que se o número for zero , então não faça a divisão .

Escreval ("Número: ")  
leia(n7)                // leu e inseriu na variaveL n7
Escreval ("Número: ")
leia(n7)                // leu e inseriu novamente na variaveL n7
soma <- n1 + n2
subtracao <- n3 - n4
multiplicacao <- n5 * n6
se n8 <> 0 entao  
  divisao <- n7 / n8    // essa variavel  n8  contem o valor zero
fimse
                        // pois esse valor foi inserido nela ao ser criada pelo compilador
                        // qualquer numero dividido por zero é erro
escreval ("Soma: ", soma)
escreval("Subtração: ", subtracao)
escreval("Multiplicação: ", multiplicacao)
escreval("Divisão: ", divisao)
fimalgoritmo

 

  • Obrigado 1
  • Membro VIP
Postado

Só complementando:

18 horas atrás, devair1010 disse:
qualquer numero dividido por zero é erro

 

Seria algo assim:

a divisão x/0 é indefinida ou impossível entre os números
e a divisão 0/0 é indeterminada


Para qualquer número real para x, diferente de zero, será indefinido, ou seja, "impossível". Já para 0/0 é "indeterminado", ou seja, pode ser qualquer valor, logo não dá para determinar. 


O VisualG (e computadores no geral) não sabem o que fazer quando precisa dividir por zero, daí dá pau

Fazendo isso:

19 horas atrás, devair1010 disse:
se n8 <> 0 entao  


Protegerá a divisão. Só executando com quando não tiver zero no denominador.
 

  • Obrigado 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!