lucasgs13 0 Denunciar post Postado Outubro 22, 2014 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
CITH 4 Denunciar post Postado Outubro 23, 2014 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
lucasgs13 0 Denunciar post Postado Outubro 23, 2014 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
baveli 0 Denunciar post Postado Outubro 28, 2014 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