• Prezados usuários,

    Por questões de segurança, a partir de 22/04/2024 os usuários só conseguirão logar no fórum se estiverem com a "Verificação em duas etapas" habilitada em seu perfil.

    Para habilitar a "Verificação em duas etapas" entre em sua conta e "Click" em seu nick name na parte superior da página, aparecerá opções de gestão de sua conta, entre em "Senha e segurança", a primeira opção será para habilitar a "Verificação em duas etapas".

    Clicando alí vai pedir a sua senha de acesso ao fórum, e depois vai para as opções de verificação, que serão as seguintes:

    ***Código de verificação via aplicativo*** >>>Isso permite que você gere um código de verificação usando um aplicativo em seu telefone.

    ***Email de confirmação*** >>>Isso enviará um código por e-mail para verificar seu login.

    ***Códigos alternativos*** >>>Esses códigos podem ser usados para fazer login se você não tiver acesso a outros métodos de verificação.

    Existe as 3 opções acima, e para continuar acessando o fórum a partir de 22/04/2024 você deverá habilitar uma das 03 opções.

    Tópico para tirar dúvidas>>>>https://forum.adrenaline.com.br/threads/obrigatoriedade-da-verificacao-em-duas-etapas-a-partir-de-24-04-2024-duvidas.712290/

    Atencionamente,

    Administração do Fórum Adrenaline

Duvida sobre algoritmos

slitaz159

know-it-all Member
Registrado
Bom, estou precisando resolver esse algoritmo abaixo (português estruturado) e apesar de parecer simples, não consigo pensar numa solução para resolve-lo. :poker:


Ler um valor N e imprimir todos os valores inteiros entre 1 (inclusive) e N (inclusive).
Caso o valor informado não seja maior que 0, deverá ser lido um novo valor para N.

Se alguém puder ajudar com a resposta, agradeço. :joia:
 
Ler um valor N e imprimir todos os valores inteiros entre 1 (inclusive) e N (inclusive).
Caso o valor informado não seja maior que 0, deverá ser lido um novo valor para N.

--

Primeiro pense: "o que é um valor inteiro?"
Depois, faça a iteração entre 1 e N, verificando se cada número é inteiro e colocando na tela aqueles que são

A segunda linha é apenas para validar a entrada de N, pois deve ser maior que 0...
Isso aí nem de dúvida de algoritmo deveria ser chamada...
 
Ler um valor N e imprimir todos os valores inteiros entre 1 (inclusive) e N (inclusive).
Caso o valor informado não seja maior que 0, deverá ser lido um novo valor para N.

--

Primeiro pense: "o que é um valor inteiro?"
Depois, faça a iteração entre 1 e N, verificando se cada número é inteiro e colocando na tela aqueles que são

A segunda linha é apenas para validar a entrada de N, pois deve ser maior que 0...
Isso aí nem de dúvida de algoritmo deveria ser chamada...

E como faço propriamente para ele imprimir os números entre 1 e x, em português estruturado?
 
Código:
     numero = 1
     while true;
           print: informe valor;
           if valor >= 0;
               for i = 0, valor, i++ ;
                   numero += i;
                   print numero;
            break;
 
Última edição:
Código:
     numero = 1
     while true;
           print: informe valor;
           if valor >= 0;
               for i = 0, valor, i++ ;
                   numero += i;
                   print numero;
            break;

Valeu cara, ajudou muito. :joia:

Tava tentando fazer sem estrutura de repetição, por isso não conseguia. :haha:
 
Vocês podem me ajudar a resolver outro problema?

Escrever um algoritmo que gera os 30 primeiros termos da série de Fibonacci e escreve
os termos gerados com a mensagem: “É primo” ou “Não é primo” conforme o caso
 
Vocês podem me ajudar a resolver outro problema?

Escrever um algoritmo que gera os 30 primeiros termos da série de Fibonacci e escreve
os termos gerados com a mensagem: “É primo” ou “Não é primo” conforme o caso
:challenge:
Código:
inicio

termoA = 1 :int
termoB = 1 :int
resultado= 1 :int

para i = 1, i <=30, i++ then
          se resultado / 2 retornar integer entao
                   escreva: resultado + ': é par'
          se nao
                   escreva: resultado + ': é impar'
          fimse

          resultado = termoA + termoB
          termoA = termoB
          termoB = resultado
fimpara

fim

Considerações:
O segredo é a atribuição dentro do loop.
Portugol é uma coisa escrota...
Você precisa fazer isso sozinho. (Pedir ajuda não é errado, porém, não pode apenas copiar o algoritimo, tem que aprender e elaborar o seus).
 
Acho que o problema do OP é na definição da coisa.

Você sabe o que é um número inteiro e como defini-lo?
Você sabe o que é sequencia de fibonacci e como é o padrão dela?

Se você souber isso, você monta o algoritmo.
 
:challenge:
Código:
inicio

termoA = 1 :int
termoB = 1 :int
resultado= 1 :int

para i = 1, i <=30, i++ then
          se resultado / 2 retornar integer entao
                   escreva: resultado + ': é par'
          se nao
                   escreva: resultado + ': é impar'
          fimse

          resultado = termoA + termoB
          termoA = termoB
          termoB = resultado
fimpara

fim

Considerações:
O segredo é a atribuição dentro do loop.
Portugol é uma coisa escrota...
Você precisa fazer isso sozinho. (Pedir ajuda não é errado, porém, não pode apenas copiar o algoritimo, tem que aprender e elaborar o seus).

Sim, estou tentando fazer sozinho. Apenas pergunto os que não tenho ideia alguma de como começar. Agradeço pela ajuda de todos.
 
Sim, estou tentando fazer sozinho. Apenas pergunto os que não tenho ideia alguma de como começar. Agradeço pela ajuda de todos.

Sobre o numero primo
já resolveu?
 
Sim, estou tentando fazer sozinho. Apenas pergunto os que não tenho ideia alguma de como começar. Agradeço pela ajuda de todos.

Mas você está conseguindo fazer os exercícios?
Tem data para entrega(se for trabalho de faculdade/escola)?

Se não tiver data de entrega, não desista de resolver o exercício durante muito tempo. Você tem que REALMENTE tentar antes de perguntar como resolver.
 
Não, se quiser postar, fique a vontade hehe

Existem varias maneiras de se fazer esta verificação, irei tentar te explicar da forma que acho mais fácil...

O que é um numero primo?? é um numero que é divisível apenas por 1 e ele mesmo. Por exemplo o 2 só é divisível por 1 e por ele mesmo. Logo o 2 é primo.

Já o 6 não é primo, pois ele é divisível por 1,2,3 e Ele mesmo. Então o 6 não é primo.

Repare que os números divisíveis nunca serão maiores que o próprio numero. No exemplo anterior o divisíveis de 6 são 1,2,3,6.

Se o numero por acaso fosse 8, teríamos 1,2,4,8. Ou seja Nunca serão maiores que o numero.

Então tudo o que você tem a fazer é verificar a quantidade de divisores menores ou igual ao numero fornecido. Se a quantidade de divisores for maior do que 2, então este numero não é primo. Caso contrário ele é será primo.

No caso um exemplo de algorítimo ficaria assim:

Código:
contador = 0;
for i = 1, numero + 1, i++ ;     
         if numero % i == 0;            
                  contador += 1;
if contador == 2;     
        print " é primo";
else;     
        print "Não é primo";

Preste atenção que na parte "if contador == 2" e a parte "else" está fora do laço. Se ela estiver dentro do laço não irá funcionar.

A parte de Fibonacci vou deixar você fazer, pois seria muita moleza eu postar o algoritmo inteiro pra você :seferrou:.

Boa sorte e espero que tenha ajudado
 
Última edição:
O cara nem tentou :facepalm:

:br:
 
Fiz um algoritmo para a sequencia Fibonacci aqui. Não sei escrever em portugol, então eu deixei aqui só a lógica mesmo. Fiz em C para testar e está funcionando corretamente. Não é a melhor explicação do mundo, mas acho que da pra entender.

atual = 0, anterior = 1, i = 0
Enquanto i < valor digitado, faça {
aux = atual // grava o valor atual em uma variável auxiliar
atual = anterior + atual
anterior = aux // agora a variável anterior recebe o valor da variável atual equivalente antes da operação anterior, dessa forma ela está preparada para o próximo fluxo.
}
 
Agradeço a todos que me ajudaram. Agora estou fazendo exercícios em C e preciso de ajuda com esse abaixo, que já tentei resolver e não faço a mínima ideia de como começar:

"6 – Números com quatro algarismos podem possuir uma característica interessante, se somarmos os primeiros dois algarismos com os dois últimos e elevarmos este novo numero ao
quadrado ele resultará no numero de quatro algarismos original. Esta propriedade é verificada
no numero 3025, cuja soma resulta em 55, e 55² = 3025. Crie um algoritmo que verifique se um
número qualquer (de quatro algarismos) possui essa propriedade. "

Se alguém puder dar uma luz, agradeço. :joia:
 

Users who are viewing this thread

Voltar
Topo