Ir ao conteúdo

Posts recomendados

Postado

Preciso de ajuda com esse algoritmo, a contagem de números positivos e negativos esta dando errado alguem pode ajudar a arrumar

 

algoritmo "semnome"
// Função :
// Autor :
// Data : 27/04/2018
// Seção de Declarações
var
contneg,contpos,n,i,p,x:inteiro
inicio
// Seção de Comandos
contpos <- 0
contneg <- 0
para x:=1 ate 10 faca
   escreva ("Digite o valor")
   leia(n)
   se n mod 2=0 então
      p <- p +1
   senao
      i <- i +1
   fimse
fimpara
se (n>0) então
   contpos <- contpos + 1
senao
   se (n<0)então
      contneg <- contneg + 1
   fimse
fimse
escreval (" Quantidade de numeros par:",p)
escreval (" Quantidade de numeros impares:",i)
escreval (" Quantidade de numeros positivos:",contpos)
escreval (" Quantidade de numeros negativos:",contneg)
fimalgoritmo

 

  • Obrigado 1
Postado

@Gabriel Barbosa_640999     você colocou a contagem de negativos e positivos fora do loop  e precisa ficar dentro ,  então seu código com algumas modificações ficaria assim  :

Algoritmo "contar numeros"
var
  contneg,contpos,n,i,p,x:inteiro
inicio
  contpos <- 0
  contneg <- 0
  para x:=1 ate 10 faca
    escreva ("Digite o valor ")
    leia(n)
    se n mod 2=0 ENTÃO
      p <- p +1
    senao
      i <- i +1
    fimse
    se (n>=0) ENTÃO
      contpos <- contpos + 1
    senao
      contneg <- contneg + 1
    fimse
  fimpara
  escreval (" Quantidade de numeros par --------:",p)
  escreval (" Quantidade de numeros impares ----:",i)
  escreval (" Quantidade de numeros positivos --:",contpos)
  escreval (" Quantidade de numeros negativos --:",contneg)
Fimalgoritmo

 

  • Curtir 2
Postado

versao 2 , na real eu to perdido nao sei onde eu errei. essa é a questao para esse algoritmo:

faca um numero que receba 10 valores inteiros e que indique: quantos sao pares,quantos sao impares, quantos sao positivos e quantos sao negativos

  • Obrigado 1
  • Membro VIP
Postado

Olá.

 

1#

7 horas atrás, th3xcalibur disse:

Preciso de ajuda com esse algoritmo, a contagem de números positivos e negativos esta dando errado alguem pode ajudar a arrumar

A pergunta central: que erro? ou seja, era preciso relatar o que ocorria.

 

 

6 horas atrás, th3xcalibur disse:

Nao estou conseguindo arrumar o erro de contagem de numeros positivos e negativos ta dando errado nessa parte nao sai de 1

No caso a resposta está sempre dando 1, é isso?? independente do números de negativos que cadastrou?

 

 

 

2#

Testes usando VisuAlg 2.0. Apenas peguei o código do @devair1010 e rodei.

Digite o valor -2
Digite o valor 4
Digite o valor 5
Digite o valor 5
Digite o valor 5
Digite o valor -1
Digite o valor 4
Digite o valor 4
Digite o valor 4
Digite o valor 4
 Quantidade de numeros par --------: 6
 Quantidade de numeros impares ----: 4
 Quantidade de numeros positivos --: 8
 Quantidade de numeros negativos --: 2

*** Fim da execução.
*** Feche esta janela para retornar ao Visualg.

Inseri 2 negativos, e a resposta deu 2. Me parece correto.

 

Início da execução
Digite o valor 1
Digite o valor -5
Digite o valor -4
Digite o valor -11
Digite o valor -2
Digite o valor -1
Digite o valor -3
Digite o valor -8
Digite o valor -7
Digite o valor -7
 Quantidade de numeros par --------: 3
 Quantidade de numeros impares ----: 7
 Quantidade de numeros positivos --: 1
 Quantidade de numeros negativos --: 9

Fim da execução.

Inseri 9, e deu 9.

 

Será que está inserindo os números negativos de forma correta?

 

 

 

3#

Aproveitando, segue algumas sugestões de ajustes finos:
obs.: comentários no próprio código.

algoritmo "contar numeros"
var
   contNeg,contPos,n,i,p,x:inteiro
inicio
p <- 0 //faltou iniciar o contador de pares
i <- 0 //faltou iniciar o contador de ímpares
contpos <- 0
contneg <- 0
{para x:=1 ate 10 faca} //sintaxe incorreta (obs.: funciona, mas não é a padrão) [1]
para x de 1 ate 10 faca
   escreva ("Digite o valor: ")
   leia(n)
   se n mod 2=0 ENTÃO //considerando que 0 par [2]; e que negativos também tem paridade (Conjunto dos Inteiros")[3]
      p <- p+1
   senao
      i <- i+1
   fimSe
   se (n>=0) ENTÃO
      contPos <- contPos+1
   senao
      contNeg <- contNeg+1
   fimSe
fimPara
escreval (" Quantidade de numeros par --------:",p)
escreval (" Quantidade de numeros impares ----:",i)
escreval (" Quantidade de numeros positivos --:",contpos)
escreval (" Quantidade de numeros negativos --:",contneg)
fimAlgoritmo

obs.: código feito a partir da versão 3.6.0.5.

 

 

4#

Demonstração de estrutura para facilitar os testes.

Então, a proposta é utilizar dos recursos do comando ALEATORIO.  Ele fará meio que o "papel do usuário digitar números aleatórios", ou seja, ao ativar o comando, onde tem "leia()", automaticamente o Visualg vai preencher com um número aleatório... de acordo com o estipulado. Ex.:

algoritmo "contar numeros"
var
   contNeg,contPos,n,i,p,x:inteiro
inicio
p <- 0 //faltou iniciar o contador de pares
i <- 0 //faltou iniciar o contador de ímpares
contpos <- 0
contneg <- 0
ALEATORIO -5, 10 //gera números aleatórios nos "leia()" [4]
para x de 1 ate 10 faca
   escreva ("Digite o valor: ")
   leia(n)
   se n mod 2=0 ENTÃO
      p <- p+1
   senao
      i <- i+1
   fimSe
   se (n>=0) ENTÃO
      contPos <- contPos+1
   senao
      contNeg <- contNeg+1
   fimSe
fimPara
ALEATORIO OFF //desativa o "gerador de números aleatórios"
escreval (" Quantidade de numeros par --------:",p)
escreval (" Quantidade de numeros impares ----:",i)
escreval (" Quantidade de numeros positivos --:",contpos)
escreval (" Quantidade de numeros negativos --:",contneg)
fimAlgoritmo

 

 

***

 

 

No aguardo.

 

 

Referências:

1. http://www.apoioinformatica.inf.br/produtos/item/14-comandos-de-repeticao#para

2. https://pt.wikipedia.org/wiki/Paridade_do_zero#Por_que_zero_é_par?

3. https://pt.wikipedia.org/wiki/Números_pares_e_ímpares#Definição

4. www.apoioinformatica.inf.br/produtos/item/21-outros-comandos

  • Obrigado 1
  • Membro VIP
Postado

1#

@th3xcalibur, sobre:

2 horas atrás, th3xcalibur disse:

Obrigado acho que o erro era no meu visualg então, porque testei código dele e a contagem de números negativos não ia

 

Dele quem? está indo agora? Em quais versões deu erro e quais erros deram, ou o que aconteceu em cada uma das versões?

 

Veja, o que estou tentando levantar é que antes de tudo é necessário primeiro entender o problema, para só depois tentar analisar as causas (ets), para só depois tirar conclusões.

 

As possibilidades podem ser diversas... inclusive está digitando números negativos de forma errada.

 

 

 

2#

@Boko Moko, sobre:

3 horas atrás, Boko Moko disse:

Por essas e outras que eu acho visualg uma fraude. 
Infelizmente, é uma praga. Tá em tudo quanto é escola ruim de computação.

Não entendi... por quê uma fraude?

Eu particularmente nem entendi ainda o que aconteceu.. mas o contexto, por enquanto, não vi culpa alguma no coitado do Visualg, rs.

 

Eu acho que o Visualg tem lá as suas limitações, mas precisamos ser justos com o bichinho. De um modo geral vejo que o Visuagl está ajudando, e muito, a popularizar o envolvimento com a programação.

 

 

***

 

No aguardo.

 

  • Amei 1
Postado
5 horas atrás, Simon Viegas disse:

Não entendi... por quê uma fraude?

Eu particularmente nem entendi ainda o que aconteceu.. mas o contexto, por enquanto, não vi culpa alguma no coitado do Visualg, rs.

Porque não é uma linguagem completa. Tem tantas limitações, não é software suportado por comunidade e a linguagem é pobre, sem expansibilidade.
Por muito menos esforço se pode usar Python, que tem tudo que o visualg tem, é mais leve, mais rápido inclusive e funciona em vários ambientes, linux, windows, mac, funciona para web, pode programar até sistema operacional e é fácil de programar.
Se quiser, em orientação a objeto. É expansível e é suportada pela comunidade.


O visualG seria um projeto interessante de uma cadeira de curso de introdução a compiladores. E olhe lá.
Diria que foi uma experiencia que fugiu do laboratório.

 

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