Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lucasgs13

Visualg - Laços de Repetição

Recommended Posts

Olá pessoal ! :bye:
Tenho aqui comigo um exercício de Laços de Repetição, que não consegui entender muito bem a lógica dele e venho pedir ajuda para vocês.
  • Fazer um programa em que pergunte ao usuário um número, e então apresente em tela todos os números que sejam ímpares que estejam entre o número 1 e o número digitado pelo usuário. Exemplo o usuário digitou o número 20, o programa deverá exibir 1, 3, 5, 7, 9, 11, 13, 15, 17, 19.
Por enquanto eu fiz isso...
algoritmo "Impares"
var
  iAtual,iLimite : Inteiro
inicio
   Escreva("Digite um número: ")
   Leia(iLimite)
   Escreva("Números impares entre 1 e ", iLimite, ":")
   iAtual := 1
   Enquanto iAtual < iLimite Faca
     <incremento>iAtual
     Se (iAtual mod 2 <> 0) entao
       Escreva(" ", iAtual)
   fimEnquanto
fimalgoritmo

Sei que somente uma parte da lógica está certa, mas não tenho a minima ideia de como fazer... Se puderem me ajudar, agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Lucas, o problema da sua lógica é simples. Você esqueceu de colocar " fimse " pra fechar a estrutura condicional, e pra incrementar a variável " iAtual " coloca assim " iAtual:= iAtual+1 " no lugar de " <incremento>iAtual ", pra atribuir 1 à variável a cada repetição. Espero ter ajudado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Lucas, o problema da sua lógica é simples. Você esqueceu de colocar " fimse " pra fechar a estrutura condicional, e pra incrementar a variável " iAtual " coloca assim " iAtual:= iAtual+1 " no lugar de " <incremento>iAtual ", pra atribuir 1 à variável a cada repetição. Espero ter ajudado :)

 

Obrigado CITH ! Foi exatamente como tu disse. No final das contas o código ficou assim:

algoritmo "Impares"
var
  iAtual,iLimite : Inteiro
inicio
   Escreva("Digite um número: ")
   Leia(iLimite)
   Escreva("Números impares entre 1 e ", iLimite, ":")
   iAtual := 1
   Enquanto iAtual < iLimite Faca
     iAtual:=iAtual+1
     Se (iAtual mod 2 <> 0) entao
       Escreva(" ", iAtual)
     fimSe
   fimEnquanto
fimalgoritmo 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este é bem mais simples

 

algoritmo "Intervalo_Impares"

// Função : Perguntar ao usuário um número e apresentar todos os números ímpares

// entre 1 e o número digitado pelo usuário.

// Autor : Al Cruz

// Data : 27/10/2014

// Seção de Declarações

var

N: inteiro

inicio

Escreva("Digite um número: ")

Leia(N)

Para N de 1 ate N Faca

Se (N % 2 = 1) Entao

Escreva(N)

FimSe

FimPara

fimalgoritmo

 

 

.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.