Ir ao conteúdo

VisualG Tem algum bug no Visualg?


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

Eu tenho que fazer um código para fazer uma ordenação.

Depois de pesquisar cheguei a esta rotina, mas o Visualg não roda pois emite uma mensagem que é esperado o "então, mas o comando esta lá.

A variável cartas está no escopo global como vetor de 1..6

Esta foi a rotina que escrevi

procedimento "ordena_as_cartas" (n:inteiro)
var
   i, j, aux:inteiro

inicio
   para j de 6 ate 0 passo -1 faca
      para i de 0 ate j-1 passo 1 faca
         se cartas[i] > cartas[i+1] então
            aux <- cartas[i]
            cartas[i] <- cartas[i+1]
            cartas[i+1] <- aux
         fimse
      fimpara
   fimpara
fimprocedimento

 

Se alguém puder ajudar ou corrigir agradeço.

  • Obrigado 1
  • Solução
Postado

@Fabricio Benedito Rogado    o visualG  da versão 3.0 .6.5 não tem bug  ,  porém ele precisa  de melhorias ,  pois ele nem sempre  informa  o erro exato ,  mas diz apenas que foi encontrado um erro , e o usuário é que precisa descobrir qual erro realmente existe , e nesse caso o erro é por que não existe uma posição zero nesse seu vetor cartas , pois ele foi declarado com 6 posições e que começam a partir de 1 , e  outra coisa é que no visualG as palavras chaves dos comados não podem tem acentuação ,  e seu código pode ser modificado  para algumas coisa parecido com esse aqui :

Algoritmo "não bug"
// Data atual  : 10/01/2023
Var
  cartas     : vetor[1..6] de inteiro
  contador,i : inteiro
procedimento ordena_as_cartas ( n : inteiro )
var
  i , j , aux : inteiro
inicio
  escreval("Valor De N  = " , n )
  para j de 6 ate 1 passo -1 faca
    para i de 1 ate j-1 passo 1 faca
      se cartas[i]   >  cartas[i+1] então
         aux         <-   cartas[i]
         cartas[i]   <- cartas[i+1]
         cartas[i+1] <-         aux
      fimse
    fimpara
  fimpara
fimprocedimento
Inicio
  escreval("Antes Da Ordenação")
  escreval
  repita
    contador := contador + 1
    cartas[contador] := randi( 100 )
    escreval("posição ",contador," = ", cartas[contador] )
  ate contador > 5
  ordena_as_cartas( 6 )
  escreval
  escreval("Depois Da Ordenação")      
  para i de 1 ate 6 faca
    escreval("posição ",i," = ", cartas[i] )
  fimpara
Fimalgoritmo

 

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!