Ir ao conteúdo
  • Cadastre-se

VisualG Como fazer esse exercicio de iniciante no VisualG?


Posts recomendados

Eu estou fazendo um curso grátis na internet mas não tenho nenhuma resolução para tentar resolver esse exercício acima

 

Esse algoritmo abaixo é uma base que eu tenho que é um pouco parecida com essa questão da pergunta acima, mas eu estou me confundindo muito sobre o que eu tenho que de fato mudar nessa base abaixo para que eu consiga resolver a questão acima

algoritmo "semnome"
// Função :
// Autor :
// Data : 12/09/2018
// Seção de Declarações
var
   valor, x : inteiro

inicio
   escreval ("digite um valor")
   leia(valor)

   para x de 0 ate valor faca
      escreval (valor - x)
   fimpara
fimalgoritmo

 

adicionado 3 minutos depois

Eu só quero saber como eu resolvo essa questao acima corretamente pra eu poder resolver outra que é bem parecida com essa acima

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

  • Membro VIP

Olá.

 

Ex.:

algoritmo "FCdH"
// Função     : Criar um programa que imprima na tela os números de 0 a 10 em
//              ordem crescente.
// Autor      : Otonashi Oliveira
// Colaboração: Fórum do Clube do Hardware
// Data       : 12/09/2018
var
   num :inteiro
inicio
para num de 10 ate 0 passo -1 faca
   escreva(num," ")
fimPara
fimAlgoritmo

 

Outro exemplo:

algoritmo "FCdH"
// Função     : Criar um programa que imprima na tela os números de 0 a 10 em
//              ordem crescente.
// Autor      : Otonashi Oliveira
// Colaboração:
// Data       : 12/09/2018
inicio
escreva(10," ",9," ",8," ",7," ",6," ",5," ",4," ",3," ",2," ",1," ",0)
fimAlgoritmo

 

Outro:

algoritmo "FCdH"
// Função     : Criar um programa que imprima na tela os números de 0 a 10 em
//              ordem crescente.
// Autor      : Otonashi Oliveira
// Colaboração:
// Data       : 12/09/2018
var
   i :inteiro
inicio
para i de 0 ate 10 faca
   escreva(10-i," ")
fimPara
fimAlgoritmo

 

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

Muito Obrigado mesmo

 

Tenho só uma duvida. Ao testar no meu VisualG pra ver se sua resolução estava correta, eu percebi que ela estava em decrescente. Tudo bem, eu tentei com meus conhecimentos resolver o problema e achei essa resolução que deu certo em ordem crescente

algoritmo "semnome"
// Função :
// Autor :
// Data : 12/09/2018
// Seção de Declarações 
var
   num :inteiro
inicio
para num de 0 ate 10 passo >1 faca
   escreva(num," ")
fimPara
fimalgoritmo

 

Ela esta correta, certo? Eu tentei colocar ( <1) pra ver se dava certo mas quando eu apertava f9 para ver se saia ''decrescente'' nao dava nenhum resultado no VisualG, sendo que só o seu que você colocou (-1) dava certo. Enfim, só fiquei com essa duvida 

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

  • Membro VIP

1#

Sobre:

56 minutos atrás, Otonashi Oliveira disse:

Tenho só uma duvida. Ao testar no meu VisualG pra ver se sua resolução estava correta, eu percebi que ela estava em decrescente. Tudo bem, eu tentei com meus conhecimentos resolver o problema e achei essa resolução que deu certo em ordem crescente 

 

Não sei de onde eu achei "decrescente", rs. Falha minha.

 

 

 

2#

58 minutos atrás, Otonashi Oliveira disse:

Ela esta correta, certo? Eu tentei colocar ( <1) pra ver se dava certo mas quando eu apertava f9 para ver se saia ''decrescente'' nao dava nenhum resultado no VisualG, sendo que só o seu que você colocou (-1) dava certo. Enfim, só fiquei com essa duvida 

 

Porque usar< ou > ?

 

Então, a parte que está editando é do comando para, correto? Dê uma pesquisa na sintaxe desse comando para o Visualg e tente corrigir.

 

 

 

***

 

No aguardo.

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

Obrigado por ter avisado que não estava correto, isso me ajuda a buscar a resposta certa.

Procurei e tentei corrigir.

Veja se esta correto

algoritmo "semnome"
// Função :
// Autor :
// Data : 13/09/2018
// Seção de Declarações 
var
  i : inteiro
  
inicio
  para i de 0 ate 10 faca
  escreva(0+i, " ")
  fimpara
fimalgoritmo

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

OIá.

 

O código está certo. Apenas alguns detalhes:

 

1#

Cuidado com a indentação. Assim como fez com os outros códigos, como o escreval() está dentro do para, ele deve ficar um dente pra frente.

 

 

 

2#

0 é o elemento neutro da adição, logo não precisa usá-lo. Um número inicial antes não é necessário pois o valor do i já se inicia com o valor desejado.

algoritmo "FCdH"
var
   i : inteiro
inicio
para i de 0 ate 10 faca
   escreva(i," ")
fiPara
fimAlgoritmo

 

Em um dos meus exemplos anteriores, que estava achando que era decrescente, daí eu usei:

para i de 0 ate 10 faca
   escreva(10-i," ")
fimPara

Nesse caso, em vez de configurar o para para ir decrementando a variável (já que essa opção/lógica já foi usada em outra código), optei por ir incrementando... aí, para compensar, usei "fórmula" 10-1.

 

Então... todos os três códigos anteriores estão fazendo a mesma coisa de modo eficaz. Foram apenas maneiras diferentes de fazer a mesma coisa... Cada código tem as suas características. Por exemplo, o segundo código é bem simples e direto... mas se está estudando "laços de repetições", não faz muito sentido não usar um laço (para, repita ou enquanto), ou seja, os exercícios tendem a ser propostos com foco para exercitar o que está estando no momento.

 

 

***

 

Adendo:

Já estudou enquanto e repita? Como sugestão, poderia fazer esse mesmo exercício utilizar outro tipo de laço (substituir o para). Algo como:

  • 1.1- Criar um outro programa que imprima na tela os números de 0 a 10 em ordem crescente utilizando o comando enquanto.
  • 1.2- Criar um outro programa que imprima na tela os números de 0 a 10 em ordem crescente utilizando o comando repita.

 

 

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

Oi

 

Agradeço a atenção dada a um iniciante nesse curso que estou fazendo.

 

Entao, eu estou fazendo esse e mais dois exercicios para eu ir pro proximo estudo que é o comando Enquanto, sendo que só esse que você citou, o Repita, acho que nao tem no curso gratis que estou fazendo

 

Mas vou deixar essas duas questões que você citou acima anotadas no caderno aqui pra mais pra frente eu tentar resolve-las depois de estudar o assunto

 

agradeço a ajuda

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