Ir ao conteúdo
  • Cadastre-se

VisualG Invalid Floating Point Operation no VisualG


Posts recomendados

Gostaria de entender esse erro "Invalid Floating Point Operation" no VisualG, e onde está o erro no seguinte código. Caso não queiram achar o erro, apenas explique o "Invalid Floating Point Operation", não acho em nenhum lugar.. 

 

 

Algoritmo "Informações pessoais"

Var
   idadesolteiro:vetor[0..4] de inteiro
   idadeviuva:vetor[0..4] de inteiro
   sexo:vetor [0..4] de caractere
   idade:vetor [0..4]de inteiro
   estcivil:vetor [0..4] de caractere
   salario:vetor [0..4] de real
   a:inteiro
   mediasalmas,mediasalfem,maior,menor,mediaidadefem,somasalmas,somasalfem:real
   solteiro, casado, viuvo, divorciado,f,m:caractere
   mas,fem,somaIdadeFem,menoridade,maioridade,pessoamaior,pessoamenor: inteiro

   c,d,s,v:inteiro
Inicio
   para a de 0 ate 4 faca
      Escreval("Qual o seu sexo: <F para feminino> ou <M para masculino>")
      Leia(sexo[a])
      Escreval("Qual o seu estado civil?(Solteiro, Casado, Viuvo, Divorciado)")
      leia(estcivil[a])
      //viuva mais nova e solteiro mais velho
      se ((estcivil[a]="viuvo")e(sexo[a]="f")) entao
         Escreval("Qual a sua idade? ")
         leia(idadeviuva[b])

         menoridade<-idadeviuva[0]
         para a de 0 ate 4 faca
            se ((idadeviuva[a]<menoridade)e (idadeviuva[a]>0)) entao
               menoridade<-idadeviuva[a]
            fimse
         fimpara
      senao
         se ((estcivil[a]="solteiro")e(sexo[a]="m")) entao
            Escreval("Qual a sua idade? ")
            leia (idadesolteiro[a])

            maioridade<-idadesolteiro[0]
            para a de 0 ate 4 faca
               se(idadesolteiro[a]>maioridade) entao
                  maioridade<-idadesolteiro[b]
               fimse
            fimpara
         senao
            Escreval("Qual a sua idade? ")
            Leia(idade[a])
         fimse
      fimse
      Escreval ("Qual o seu salário?")
      leia (salario[a])
      limpatela
      //quantidade de pessoas de cada sexo
      para a de 0 ate 4 faca
      se (sexo[a]= "m") entao
         mas<- mas+1
      senao
         fem<- fem+1
      fimse
      fimpara
      //media do salarios de cada sexo
      para a de 0 ate 4 faca
      se (sexo[a]="m") entao
         somasalmas<-somasalmas + salario[a]
      senao
         somasalfem<- mediasalfem+ salario[a]
         somaidadefem<-(somaidadefem + idade[a])
      fimse
      fimpara
      //Média salarial de cada sexo/qual o maior e menor salario
      mediasalmas<- (somasalmas/mas)
      mediasalfem<- (somasalfem/fem)
      maior <-salario[0]
      menor<- salario[0]
      para a de 0 ate 4 faca
      se (salario[a]>maior) entao
         maior<- salario[a]
         pessoamaior<-a
      fimse
      se (salario[a]<menor) entao
         menor<- salario[a]
         pessoamenor<-a
      fimse
      fimpara
      //media da idade feminina
      mediaidadefem<- (somaidadefem/fem)

      escolha(estcivil[a])
      caso("casado")
         c<-c+1
      caso("divorciado")
         d<-d+1
      caso("viuvo")
         v<-v+1
      caso("solteiro")
         s<-s+1
      fimescolha
   fimpara
   limpatela

   Escreval("----------------------------------------------")
   Escreval("Quantidade de pessoas: ")
   Escreval("Homens: ",mas)
   Escreval("Mulheres: ",fem)
   Escreval("----------------------------------------------")
   Escreval("A Média dos salários de cada sexo: ")
   Escreval("Média salarial dos homens: ",mediasalmas ,"R$")
   Escreval("Média salarial das mulheres: ",mediasalfem,"R$")
   Escreval("----------------------------------------------")
   Escreval("Pessoa com Maior e Menos salário: ")
   Escreval("Pessoa",a,"tem o maior salário, recebendo: ",maior,"R$")
   Escreval("Pessoa",a,"tem o menos salário, recebendo: ",menor,"R$")
   Escreval("----------------------------------------------")
   Escreval("A média de idade entre as mulheres é de: ",mediaidadefem)
   Escreval("----------------------------------------------")
   Escreval("A pessoa viúva mais nova, com:",menoridade,"anos")
   Escreval("A pessoa é o solteiro mais velho, com: ",maioridade,"anos")
   Escreval("----------------------------------------------")
   Escreval("A lista de estados civil tem a seguinte ordem:",c,d,s,v,"portanto:")

 

adicionado 7 minutos depois

Na linha 25 acabei mudando a variável de controle, ja coloquei novamente para "a", porém o problema persiste

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
16 horas atrás, devair1010 disse:

@João Cláudio Oliveira     esse algoritmo está incompleto ,   e esse erro que você disse , geralmente ocorre quando se faz uma divisão de zero por qualquer outro valor . pois é impossível dividir por zero  .

 

É o contrário moço... "quando se divide qualquer valor por zero" (e não zero por qualquer valor) 😆

 

Aproveitando para quem não conhece: quando se divide 0 por 0 dá uma INDETERMINAÇÃO, ou seja, não dar para identificar qual o resultado correto. Ex.:

 

0/0 = 22. Posso dizer que dá 22, pois 22*0 dá 0 (pela "prova real"). Logo, 22 seria UMA resposta válida... entretanto, poderia ser qualquer outro valor (dá para provar da mesma forma)... ou seja, não dá para "determinar" qual a resposta correta!. É algo "indeterminado". (obs.: em contexto mais avançado, a depender, poderiam-se achar um "limite", mas mesmo assim não um valor em si... afinal acharia "um limite").

 

Já se dividir qualquer outro número por 0 dá uma INDEFINIÇÃO, no caso, é algo sem sentido ("impossível"). Ex.:

 

6 / 0 = ???. Aí buga a po##@ toda... "Qual o número que se multiplicar por 0 vai dar 6?". Complicado né? No caso é uma "Indefinição">

 

 

E no caso de 0 dividido por qualquer outro número diferente de 0? simplesmente dá 0... não tem mistério.

 

 

 

Em relação à falha encontrada:

 

Em 17/04/2019 às 15:39, João Cláudio Oliveira disse:

Gostaria de entender esse erro "Invalid Floating Point Operation" no VisualG, e onde está o erro no seguinte código. Caso não queiram achar o erro, apenas explique o "Invalid Floating Point Operation", não acho em nenhum lugar..

 

Seria justamente o isso: em algum ponto do programa, está efetuando-se uma divisão por zero... Como sugerido mais acima, as divisões por zero são "atípicas"... e no caso, o processador buga.

 

Para evitar que esse erro (Invalid Floating Point Operation) ocorra, no caso, "dar pau por uma divisão por zero", você poderia "proteger a divisão utilizando uma estrutura de seleção". Ex.:

 

      se mas <> 0 entao
         mediaSalMas <- somaSalMas/mas
      fimSe
      se fem <> 0 entao
         mediaSalFem <- somaSalFem/fem
      fimSe

e

      se fem <> 0 entao
         mediaIdadeFem <- somaIdadeFem/fem
      fimSe

 

Desta forma já vai rodar... daí vai fazendo os novos teses.

 

 

No aguardo.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@João Cláudio Oliveira, alguns dicas:

 

[1] A estrutura da leitura dos dados é igual para qualquer "tipo de pessoa", ou seja, a variável que armazena a idade de uma viúva é a mesma que armazenaria a idade de um solteiro. Não precisa de um vetor para cada "tipo". Idade é Idade e pronto.

 

[2] OU você ler todos os dados primeiro e depois processa os dados OU você a medida que vai lendo uma pessoa, já vai efetuando cálculos. Para o primeiro caso você utiliza vetores mesmo, pois precisará ter cada dado individualizado e para assim conseguir processar depois; Já para o segundo caso, basta usar variáveis simples, pois após ler uma pessoa e processar seus dados, essas mesmas variáveis (que armazenam os dados de uma pessoa) podem ser reutilizados para próxima. As informações de cada pessoa não são mais utilizadas. Não faz sentido ter um vetor e mesmo assim já processar logo após ler a pessoa.

 

[3] No VisuAlg, assim como no Pascal, os vetores podem começar com 1 mesmo (ou outro número também). Veja, "você não precisa ir se acostumando a usar vetores começando com 0" ou algo do tipo... até porque, quando se adentrar em outras linguagens que limitam a começar com zero, você estará com as "técnicas de programação" mais maduras. Veja um exemplo que corrobora com isso aqui (que é baseado no mesmo conteúdo daqui). Em fim: no VisuAlg você tem a flexibilidade de escolher a faixa do vetor. No exemplo daqui, começando com 1 ficaria mais prático.

 

 

Para exemplificar e talvez servi de base para você corrigir o seu código de um modo geral, seguem uma base:

algoritmo "Informações pessoais"
const
   {MAX = 5} //máximo pessoas
   MAX = 2 //para facilitar os testes
var
   //DADOS DAS PESSOS
   sexos    :vetor [1..MAX] de caractere //gêneros
   idades   :vetor [1..MAX] de inteiro   //idades
   estCivis :vetor [1..MAX] de caractere //estados civis
   salarios :vetor [1..MAX] de real      //salarios brutos

   //VARIÁVEIS AUXILIARES
   i :inteiro //variável auxiliar para percorrer vetores
   
   //INFORMAÇÕES OBTIDAS
   qtdMas        :inteiro //quantidade de masculinos
   qtdFem        :inteiro //quantidade de femininos
   qtdSol        :inteiro //quantidade de solteiros
   qtdCas        :inteiro //quantidade de casados
   qtdViu        :inteiro //quantidade de viúvos
   qtdDiv        :inteiro //quantidade de divorciados
   mediaSalMas   :real    //média dos salários masculinos
   mediaSalFem   :real    //média dos salários femininos
   posMaiorSal   :inteiro //posição do maior salário
   posMenorSal   :inteiro //posição do menor salário
   maiorSal      :real    //maior salário
   menorSal      :real    //menor salário
   mediaIdadeFem :real    //média das idades femininas
   viuMenorIdade:inteiro //menor idade
   solMaiorIdade :inteiro //maior idade
   
inicio
   //LEITURA DOS DADOS
   para i de 1 ate MAX faca
      LimpaTela()
      escreval("   CADASTRO DADOS PESSOAIS   ")
      escreval()
      escreva ("SEXO ([M] ou [F]: ")
      leia(sexos[i])
      escreval("Solteiro, Casado, Viuvo ou Divorciado)")
      escreva ("ESTADO CIVIL    : ")
      leia(estCivis[i])
      escreva ("IDADE           : ")
      leia(idades[i])
      escreva ("SALARIO         : ")
      leia(salarios[i])
   fimPara
      
   //PROCESSAMENTO DOS DADOS
   para i de 1 ate MAX faca
      //falta implementar aqui
   fimPara

   //EXIBIR OS RESULTADOS
   LimpaTela()
   escreval("----------------------------------------------")
   escreval("Quantidade de pessoas por gênero")
   escreval("Homens  :", qtdMas)
   escreval("Mulheres:", qtdFem)
   escreval("----------------------------------------------")
   escreval("Média dos salários de cada gênero")
   escreval("Homens  : R$", mediaSalMas)
   escreval("Mulheres: R$", mediaSalFem)
   escreval("----------------------------------------------")
   escreval("Pessoas com Maior e Menor salário: ")
   escreval("Pessoa", posMaiorSal," : R$", maiorSal)
   escreval("Pessoa", posMenorSal," : R$", menorSal)
   escreval("----------------------------------------------")
   escreval("Média de idade entre as mulheres:", mediaIdadeFem)
   escreval("----------------------------------------------")
   escreval("Idade viúva mais nova    :", ViuMenorIdade," anos")
   escreval("Idade solteiro mais velho:", SolMaioridade," anos")
   escreval("----------------------------------------------")
   escreval("Quantidade por estado civil")
   escreval("Casado    :", qtdCas)
   escreval("Divorciado:", qtdDiv)
   escreval("Solteiro  :", qtdSol)
   escreval("Viúvo     :", qtdViu)
fimAlgoritmo

 

Perceba que nessa base está "lendo primeiro todos os dados", para só depois processar e exibir os resultados.

 

 

Caso queira "processar junto com a leitura dos dados", poderia ser algo assim:

algoritmo "Informações pessoais"
const
   {MAX = 5} //máximo pessoas
   MAX = 2 //para facilitar os testes
var
   //DADOS DAS PESSOS
   sexo    :caractere //gêneros
   idade   :inteiro   //idades
   estCivil:caractere //estados civis
   salario :real      //salarios brutos

   //VARIÁVEIS AUXILIARES
   i :inteiro //variável auxiliar para percorrer vetores

   //INFORMAÇÕES OBTIDAS
   qtdMas        :inteiro //quantidade de masculinos
   qtdFem        :inteiro //quantidade de femininos
   qtdSol        :inteiro //quantidade de solteiros
   qtdCas        :inteiro //quantidade de casados
   qtdViu        :inteiro //quantidade de viúvos
   qtdDiv        :inteiro //quantidade de divorciados
   mediaSalMas   :real    //média dos salários masculinos
   mediaSalFem   :real    //média dos salários femininos
   posMaiorSal   :inteiro //posição do maior salário
   posMenorSal   :inteiro //posição do menor salário
   maiorSal      :real    //maior salário
   menorSal      :real    //menor salário
   mediaIdadeFem :real    //média das idades femininas
   viuMenorIdade:inteiro //menor idade
   solMaiorIdade :inteiro //maior idade

inicio
   //LEITURA DOS DADOS
   para i de 1 ate MAX faca
      LimpaTela()
      escreval("   CADASTRO DADOS PESSOAIS   ")
      escreval()
      escreva ("SEXO ([M] ou [F]: ")
      leia(sexo)
      escreval("Solteiro, Casado, Viuvo ou Divorciado)")
      escreva ("ESTADO CIVIL    : ")
      leia(estCivil)
      escreva ("IDADE           : ")
      leia(idade)
      escreva ("SALARIO         : ")
      leia(salario)
      
      //PROCESSAMENTO DOS DADOS
      //falta implementar aqui
   fimPara


   //EXIBIR OS RESULTADOS
   LimpaTela()
   escreval("----------------------------------------------")
   escreval("Quantidade de pessoas por gênero")
   escreval("Homens  :", qtdMas)
   escreval("Mulheres:", qtdFem)
   escreval("----------------------------------------------")
   escreval("Média dos salários de cada gênero")
   escreval("Homens  : R$", mediaSalMas)
   escreval("Mulheres: R$", mediaSalFem)
   escreval("----------------------------------------------")
   escreval("Pessoas com Maior e Menor salário: ")
   escreval("Pessoa", posMaiorSal," : R$", maiorSal)
   escreval("Pessoa", posMenorSal," : R$", menorSal)
   escreval("----------------------------------------------")
   escreval("Média de idade entre as mulheres:", mediaIdadeFem)
   escreval("----------------------------------------------")
   escreval("Idade viúva mais nova    :", ViuMenorIdade," anos")
   escreval("Idade solteiro mais velho:", SolMaioridade," anos")
   escreval("----------------------------------------------")
   escreval("Quantidade por estado civil")
   escreval("Casado    :", qtdCas)
   escreval("Divorciado:", qtdDiv)
   escreval("Solteiro  :", qtdSol)
   escreval("Viúvo     :", qtdViu)
fimAlgoritmo


No aguardo.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@Simon Viegas Cara, muito obrigado mesmo. Demorei um pouco pra voltar aqui, pois consegui conversar com uma pessoa que disse o que significada o erro em questão, sobre os vetores, eu também acabei modificando e deixando apenas 1 para todas as idades, conclui o trabalho e ja entreguei. Mas fiquei muito grato com todas as dicas que você disponibilizou, realmente são coisas que eu preciso melhorar, para ir cada vez mais longe. Com certeza voltarei aqui, espero que você me ajude mais kkkkkk. Obrigado!!


Citação:

Spoiler
Em 20/04/2019 às 08:49, Simon Viegas disse:

@João Cláudio Oliveira, alguns dicas:

 

[1] A estrutura da leitura dos dados é igual para qualquer "tipo de pessoa", ou seja, a variável que armazena a idade de uma viúva é a mesma que armazenaria a idade de um solteiro. Não precisa de um vetor para cada "tipo". Idade é Idade e pronto.

 

[2] OU você ler todos os dados primeiro e depois processa os dados OU você a medida que vai lendo uma pessoa, já vai efetuando cálculos. Para o primeiro caso você utiliza vetores mesmo, pois precisará ter cada dado individualizado e para assim conseguir processar depois; Já para o segundo caso, basta usar variáveis simples, pois após ler uma pessoa e processar seus dados, essas mesmas variáveis (que armazenam os dados de uma pessoa) podem ser reutilizados para próxima. As informações de cada pessoa não são mais utilizadas. Não faz sentido ter um vetor e mesmo assim já processar logo após ler a pessoa.

 

[3] No VisuAlg, assim como no Pascal, os vetores podem começar com 1 mesmo (ou outro número também). Veja, "você não precisa ir se acostumando a usar vetores começando com 0" ou algo do tipo... até porque, quando se adentrar em outras linguagens que limitam a começar com zero, você estará com as "técnicas de programação" mais maduras. Veja um exemplo que corrobora com isso aqui (que é baseado no mesmo conteúdo daqui). Em fim: no VisuAlg você tem a flexibilidade de escolher a faixa do vetor. No exemplo daqui, começando com 1 ficaria mais prático.

 

 

Para exemplificar e talvez servi de base para você corrigir o seu código de um modo geral, seguem uma base:



algoritmo "Informações pessoais"
const
   {MAX = 5} //máximo pessoas
   MAX = 2 //para facilitar os testes
var
   //DADOS DAS PESSOS
   sexos    :vetor [1..MAX] de caractere //gêneros
   idades   :vetor [1..MAX] de inteiro   //idades
   estCivis :vetor [1..MAX] de caractere //estados civis
   salarios :vetor [1..MAX] de real      //salarios brutos

   //VARIÁVEIS AUXILIARES
   i :inteiro //variável auxiliar para percorrer vetores
   
   //INFORMAÇÕES OBTIDAS
   qtdMas        :inteiro //quantidade de masculinos
   qtdFem        :inteiro //quantidade de femininos
   qtdSol        :inteiro //quantidade de solteiros
   qtdCas        :inteiro //quantidade de casados
   qtdViu        :inteiro //quantidade de viúvos
   qtdDiv        :inteiro //quantidade de divorciados
   mediaSalMas   :real    //média dos salários masculinos
   mediaSalFem   :real    //média dos salários femininos
   posMaiorSal   :inteiro //posição do maior salário
   posMenorSal   :inteiro //posição do menor salário
   maiorSal      :real    //maior salário
   menorSal      :real    //menor salário
   mediaIdadeFem :real    //média das idades femininas
   viuMenorIdade:inteiro //menor idade
   solMaiorIdade :inteiro //maior idade
   
inicio
   //LEITURA DOS DADOS
   para i de 1 ate MAX faca
      LimpaTela()
      escreval("   CADASTRO DADOS PESSOAIS   ")
      escreval()
      escreva ("SEXO ([M] ou [F]: ")
      leia(sexos[i])
      escreval("Solteiro, Casado, Viuvo ou Divorciado)")
      escreva ("ESTADO CIVIL    : ")
      leia(estCivis[i])
      escreva ("IDADE           : ")
      leia(idades[i])
      escreva ("SALARIO         : ")
      leia(salarios[i])
   fimPara
      
   //PROCESSAMENTO DOS DADOS
   para i de 1 ate MAX faca
      //falta implementar aqui
   fimPara

   //EXIBIR OS RESULTADOS
   LimpaTela()
   escreval("----------------------------------------------")
   escreval("Quantidade de pessoas por gênero")
   escreval("Homens  :", qtdMas)
   escreval("Mulheres:", qtdFem)
   escreval("----------------------------------------------")
   escreval("Média dos salários de cada gênero")
   escreval("Homens  : R$", mediaSalMas)
   escreval("Mulheres: R$", mediaSalFem)
   escreval("----------------------------------------------")
   escreval("Pessoas com Maior e Menor salário: ")
   escreval("Pessoa", posMaiorSal," : R$", maiorSal)
   escreval("Pessoa", posMenorSal," : R$", menorSal)
   escreval("----------------------------------------------")
   escreval("Média de idade entre as mulheres:", mediaIdadeFem)
   escreval("----------------------------------------------")
   escreval("Idade viúva mais nova    :", ViuMenorIdade," anos")
   escreval("Idade solteiro mais velho:", SolMaioridade," anos")
   escreval("----------------------------------------------")
   escreval("Quantidade por estado civil")
   escreval("Casado    :", qtdCas)
   escreval("Divorciado:", qtdDiv)
   escreval("Solteiro  :", qtdSol)
   escreval("Viúvo     :", qtdViu)
fimAlgoritmo

 

Perceba que nessa base está "lendo primeiro todos os dados", para só depois processar e exibir os resultados.

 

 

Caso queira "processar junto com a leitura dos dados", poderia ser algo assim:



algoritmo "Informações pessoais"
const
   {MAX = 5} //máximo pessoas
   MAX = 2 //para facilitar os testes
var
   //DADOS DAS PESSOS
   sexo    :caractere //gêneros
   idade   :inteiro   //idades
   estCivil:caractere //estados civis
   salario :real      //salarios brutos

   //VARIÁVEIS AUXILIARES
   i :inteiro //variável auxiliar para percorrer vetores

   //INFORMAÇÕES OBTIDAS
   qtdMas        :inteiro //quantidade de masculinos
   qtdFem        :inteiro //quantidade de femininos
   qtdSol        :inteiro //quantidade de solteiros
   qtdCas        :inteiro //quantidade de casados
   qtdViu        :inteiro //quantidade de viúvos
   qtdDiv        :inteiro //quantidade de divorciados
   mediaSalMas   :real    //média dos salários masculinos
   mediaSalFem   :real    //média dos salários femininos
   posMaiorSal   :inteiro //posição do maior salário
   posMenorSal   :inteiro //posição do menor salário
   maiorSal      :real    //maior salário
   menorSal      :real    //menor salário
   mediaIdadeFem :real    //média das idades femininas
   viuMenorIdade:inteiro //menor idade
   solMaiorIdade :inteiro //maior idade

inicio
   //LEITURA DOS DADOS
   para i de 1 ate MAX faca
      LimpaTela()
      escreval("   CADASTRO DADOS PESSOAIS   ")
      escreval()
      escreva ("SEXO ([M] ou [F]: ")
      leia(sexo)
      escreval("Solteiro, Casado, Viuvo ou Divorciado)")
      escreva ("ESTADO CIVIL    : ")
      leia(estCivil)
      escreva ("IDADE           : ")
      leia(idade)
      escreva ("SALARIO         : ")
      leia(salario)
      
      //PROCESSAMENTO DOS DADOS
      //falta implementar aqui
   fimPara


   //EXIBIR OS RESULTADOS
   LimpaTela()
   escreval("----------------------------------------------")
   escreval("Quantidade de pessoas por gênero")
   escreval("Homens  :", qtdMas)
   escreval("Mulheres:", qtdFem)
   escreval("----------------------------------------------")
   escreval("Média dos salários de cada gênero")
   escreval("Homens  : R$", mediaSalMas)
   escreval("Mulheres: R$", mediaSalFem)
   escreval("----------------------------------------------")
   escreval("Pessoas com Maior e Menor salário: ")
   escreval("Pessoa", posMaiorSal," : R$", maiorSal)
   escreval("Pessoa", posMenorSal," : R$", menorSal)
   escreval("----------------------------------------------")
   escreval("Média de idade entre as mulheres:", mediaIdadeFem)
   escreval("----------------------------------------------")
   escreval("Idade viúva mais nova    :", ViuMenorIdade," anos")
   escreval("Idade solteiro mais velho:", SolMaioridade," anos")
   escreval("----------------------------------------------")
   escreval("Quantidade por estado civil")
   escreval("Casado    :", qtdCas)
   escreval("Divorciado:", qtdDiv)
   escreval("Solteiro  :", qtdSol)
   escreval("Viúvo     :", qtdViu)
fimAlgoritmo


No aguardo.

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!