Ir ao conteúdo
  • Cadastre-se

VisualG Comando faca não funcionando


Posts recomendados

  • 1 ano depois...
  • Membro VIP

Olá.

Postagem antiga... mas como cheguei aqui pelo Google, outros podem chegar :)

 

Desta forma...
 

Em 18/07/2017 às 16:39, VProgrammerBR disse:

Por que o Visualg não ler o comando FACA (faça) ??

 

Não deve está reconhecendo devido ao espaçamento.

 

Em 18/07/2017 às 16:39, VProgrammerBR disse:

enquanto(cont < 10)faca

 

Está tudo colado. Poderia usar por exemplo assim:

 enquanto (cont < 10) faca

 

;)

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@Luís Roberto C. da Silva, olá.

 

3 horas atrás, Luís Roberto C. da Silva disse:

Além do espaçamento o valor da variável cont não foi definido.

 

Esse "não definido" se refere a "não inicializado"?

 

Se sim, nesse caso, assim como Pascal, não precisava, ou seja, as variáveis globais (que são enxergadas por todo o programa, em contrate das variáveis locais que ficam dentro das funções) são inicializadas automaticamente, ou seja, assim que o VisuAlg define a variável para o Windows, ele também já define o valor padrão... que no caso de inteiro é 0.

 

obs.: não sei exatamente como fica para as variáveis locais no VisuAlg, mas pelo que eu lembro, o Pascal NÃO inicializa as variáveis dentro de funções, ou seja, fica com um "lixo" de memória (pode depender tb da versão do compilador Pascal, vá saber). Já no VisuAlg, testei aqui e me pareceu que inicializou (colocou 0), mas não tenho certeza se é coincidência ou se zera sozinho mesmo.

 

Para verificar isso, peguem o código corrigido:

algoritmo "exemplo"
var
   cont: inteiro
inicio
   enquanto (cont < 10) faca //só dei um espaço antes do '(' e outro depois do ')'
      escreva(cont)
      cont <- cont + 1
   fimenquanto
   escreva(cont)
fimalgoritmo

E vão pressionando F8. Assim que a variável é definida, já inicia com o valor 0.

 

Capturar.PNG

 

 

obs.: em algumas linguagens é necessário inicializar, ou seja, pode ser interessante já se acostumar com a prática. Poderia ficar algo assim:

algoritmo "exemplo"
var
   cont: inteiro
inicio
   cont <- 0 //define o valor inicial
   {enquanto (cont < 10) faca} //se é de 0 a 10, seria <=
   enquanto (cont <= 10) faca
      escreva(cont)
      cont <- cont + 1
   fimenquanto
   {escreva(cont)} //essa linha passa a ser desnecessária
fimalgoritmo

 

Se o objetivo fosse imprimir de 1 a 10, seria algo assim:

algoritmo "exemplo"
var
   cont: inteiro
inicio
   cont <- 1 //define o valor inicial
   enquanto (cont <= 10) faca
      escreva(cont)
      cont <- cont + 1
   fimenquanto
fimalgoritmo

ou assim:

algoritmo "exemplo"
var
   cont: inteiro
inicio
   para cont de 1 ate 10 faca
      escreva(cont)
   fimpara
fimalgoritmo

etc.

 

Percebam uma sutil diferença: ali onde coloquei "define o valor inicial", NÃO ESTÁ SERVINDO PARA INICIALIZAR, mas sim para "definir um novo valor". Entendem? a variável já está inicializada, apenas estou colocando um novo valor. Para ficar mais claro, poderia fazer isso:

algoritmo "exemplo"
var
   cont: inteiro
inicio
   cont <- cont+1 //dá para utilizar o próprio valor anterior pois a variável já está inicializada (no caso com 0)
   enquanto (cont <= 10) faca
      escreva(cont)
      cont <- cont + 1
   fimenquanto
fimalgoritmo

 

Se cont já não tivesse inicializado, seria natural que o compilador dissesse algo como "A variável cont não está inicializada" OU iria compilar normalmente, mas o conteúdo poderia ficar com um "valor aleatório", ou seja, ao declarar uma variável no computador, o programa apenas "reservaria o local da memória", mas não se preocupando em definir um "valor inicial", ficando ao cargo do programador.

 

 

@Luís Roberto C. da Silva, qualquer coisa é só complementar ou corrigir...

 

Att

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!