Ir ao conteúdo

VisualG Preciso saber a sintaxe da estrutura "Faça-Enquanto" para um exercício


Ir à solução Resolvido por Simon Viegas,

Posts recomendados

Postado

Quero fazer o seguinte exercício em Faça-Enquanto, porém não encontro informações suficientes para entender a sintaxe dessa estrutura: 

PASSO 06 – REPETIÇÃO COM FAÇA ENQUANTO

61) Crie um programa que mostre na tela a seguinte contagem, usando a estrutura “faça enquanto” 0 3 6 9 12 15 18 21 24 27 30 Acabou! 

 

Qual é a sintaxe dessa estrutura?

 

 

 

 

  • Obrigado 1
Postado

Acredito que o objetivo seria fazer um loop (faça-enquanto) que continue exibindo os números em questão (múltiplos de 3, de 0 a 30), e no final do programa, exiba a mensagem "Acabou!". Agora vou deixar você pensar sozinho em como isso ficaria.

  • Curtir 1
  • Amei 1
Postado

@NaieleF   @NaieleF   na verdade nesse exercício tem uma pegadinha , pois no visualG não existe esse comando como escrito com o "Faca antes do Enquanto"  , como em outras linguagens , como na linguagem C , então aquele enunciado é com o enquanto antes do Faca ,  e no final precisar do "fimenquanto" ,  e escrever os valores incrementando a variável de 3 em 3., e depois que você fizer um código poste aqui para vermos como está e em podemos ajudar .

  • Curtir 2
  • Membro VIP
Postado
Em 05/09/2024 às 12:01, NaieleF disse:

Qual é a sintaxe dessa estrutura?

 

@NaieleF, se for para VisualG, uma resposta curta seria:

 

repita
  <instruções a serem executadas repetidamente ATÉ a expressão booleana retornar VERDADEIRO>
ate (<expressão booleana>)

 

De qualquer sorte, a questão inicial seria justamente essa: qual a linguagem* de programação que esse exercício está relacionado?

 

Aí é só dar um google. Exemplo:

 

"laços de repetição portugol studio"

ou

"laços de repetição visualg"

ou

"laços de repetição javascript"

etc.

 

Dá uma revisada em cada um dos laços de repetição da linguagem. Os básicos são 3... e analisa exemplos de cada um...

 

Em Portugol Studio algo como:

faca {
    <instruções a serem executadas repetidamente ENQUANTO a expressão booleana retornar VERDADEIRO>
} enquanto (<expressão booleana>)

 

Se prestar a atenção verás que o repita é o correspondente do faca-enquanto (do-while) de outras* linguagens (como a contida no próprio Portugol Studio). É praticamente a mesma coisa, entretanto muda que a condição usada no ate será a negação do que seria usado no enquanto. (Quando estudar e testar uma e outra entenderá bem isso.)

  • Curtir 1
  • Obrigado 1
Postado

@devair1010 Deve ser isso, pois no VisualG não existe essa estrutura. Fiz dessa forma: 

Algoritmo "Exercicio.61"
var
    C: inteiro
inicio
    C <- 0
    Enquanto C <= 30 faca
        Escreva (C," ")
        C <- C + 3
    FimEnquanto
    Escreva ("Acabou!")
fimalgoritmo

 

  • Curtir 1
  • Obrigado 1
  • Membro VIP
  • Solução
Postado
Em 10/09/2024 às 10:27, NaieleF disse:

pois no VisualG não existe essa estrutura

 

@NaieleF, justamente. Provavelmente o exercício que postou seria voltado para outra "linguagem de programação", como a utilizada no Portugol Studio, que é um Portugol também, mas que é diferente da utilizada no VisualG.

 

Seria dessa lista de exercícios abaixo? 

 

Exercícios-de-Algoritmos-1-100.pdf

Fonte: https://www.cursoemvideo.com/wp-content/uploads/2020/10/Exercícios-de-Algoritmos-1-100.pdf

 

Se sim, lá cita o Portugol Studio mesmo...

 

Logo, caso queira utilizar o VisualG, utilizaria o repita, que é essencialmente a mesma coisa de um faca-enquanto (a diferença entre um e outro eu cito na minha postagem anterior).

 

 

Poderia ficar com algo como:

 

algoritmo "Exercicio.61"
//PASSO 06 – REPETIÇÃO COM FAÇA ENQUANTO
//61) Crie um programa que mostre na tela a seguinte contagem, usando a
//estrutura “faça enquanto” 0 3 6 9 12 15 18 21 24 27 30 Acabou!
var
   C: inteiro
inicio
   C <- 0
   
   repita
      escreva (C)
      C <- C + 3
   ate (C > 30)
   
   escrevaL(" Acabou!")
fimAlgoritmo

 

Resultado:

 

image.png.7f1c66053b6e19c928c16fe3392f699e.png

 

Veja que se trata apenas da questão da escolha de uma sintaxe ("conjunto de regras que definem como escrever um código de programação de forma que o computador o compreenda"), ou seja, o VisualG seria "uma versão em português da linguagem de programação Pascal", onde no Pascal usam-se "while-do" e "repeat-until", ai no VisualG foi traduzido para "enquanto-faca" e "repita-ate" respectivamente. 😉

 

 

 

 

ADENDO:

 

Estrutura correta para o VisualG:

   repita
      escreva (C)
      C <- C + 3
   ate (C > 30)

 

Possível estrutura caso o VisualG seguisse um mesmo padrão do Portugol Studio:

 

   faca
      escreva (C)
      C <- C + 3
   enquanto (C <= 30)

 

Veja que a condição do enquanto é a negação da condição do até... o que antes era "<=", passou a ser ">"... e vice-versa. 

 

Poderia fazer assim, oh!:

 

algoritmo "Exercicio.61"
//PASSO 06 – REPETIÇÃO COM FAÇA ENQUANTO
//61) Crie um programa que mostre na tela a seguinte contagem, usando a
//estrutura “faça enquanto”
//0 3 6 9 12 15 18 21 24 27 30 Acabou!
var
   C: inteiro
inicio
   C <- 0
   
   repita
      escreva (C)
      C <- C + 3
   ate (não (C <= 30))
   
   escrevaL(" Acabou!")
fimAlgoritmo

 

 

 

 

ADENDO 2:

 

Uma outra característica curiosa do VisualG é que ela insere automaticamente um espaço em branco antes de imprimir valores do tipo inteiro, veja:

image.png.6c149049fc8b3b247dae84f89896c50e.png

 

Ou seja: o VisualG inseriu um espaço à esquerda, e você inseriu um espaço manualmente à direita, ficando assim com um espaço à esquerda lá no início, e com 2 espaços entre cada um dos números. (Está visualmente bagunçado... quando tiver contato com um tal de CSS você vai entender bem!!! kkkkkkkkk)

 

No meu código eu retirei o " ". Veja a diferença:

image.png.1540e1ee757bc94b72e973359f193e16.png

 

 

Uma forma de remover esses "espaços automáticos" seria utilizando uma formação com ":x", onde "x" seria o valor da quantidade de caracteres que quer reservar na impressão, exemplo:

 

   repita
      escreva (C:1, " ")
      C <- C + 3
   ate (C > 30))

 

Resultado:

 

image.png.4561f522ed2d8997bb6bff36eff7d76f.png

 

Nessa formatação, não tem espaço extra... Daí precisa novamente inserir o " ", caso contrário os números ficariam colados.

 

Agora ficou colado à esquerda e com apenas um espaço entre cada número.

  • Obrigado 1

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!