Home › Fóruns › Programação Básica › Exercicio 079
Marcado: Ajuda quanto a lógica
- Este tópico contém 6 respostas, 3 vozes e foi atualizado pela última vez 1 semana atrás por Tutora Jessica.
-
AutorPosts
-
-
25 de fevereiro de 2024 às 09:35 #132556Pablo Ricardo MarzzaniParticipante
Estou tendo uma dificuldade em resolver o exercício da forma que o professor solicitou, não sei qual parte da minha lógica esta errada.
Segue ela:programa { inclua biblioteca Util --> ut funcao inteiro fibonacci(inteiro n){ inteiro c = 2 inteiro p = 0, p1 = 1, p2 = 0 enquanto ( c <= n){ se(c == 2){ escreva(p+" -> "+p1) ut.aguarde(50) } senao{ escreva(" -> "+p2) ut.aguarde(50) } p2 = p+p1 p = p1 p1 = p2 c++ } retorne p } funcao inicio() { inteiro tot = 0 escreva("Digite o numero de termo: ") leia(tot) escreva("Sequencia de Fibonacci: "+fibonacci(tot)) } }
O resultado está saindo assim:
-
25 de fevereiro de 2024 às 09:36 #132557Pablo Ricardo MarzzaniParticipante
Só uma correção, era pra ser retorne p2 e não retorne p
-
26 de fevereiro de 2024 às 10:22 #132591Tutora JessicaModerador
Olá Pablo, testei com p2 e esta funcionando corretamente.
O resultado que postou não apareceu pra mim, poderia nos enviar pelo discord caso ainda não tiver resolvido?
Lhe aguardo, bons estudos 🖖🏻 -
12 de novembro de 2024 às 11:52 #146651Renata CoelhoParticipante
Olá! Preciso de uma explicação neste exercício da sequência de Fibonacci, em relação a variável fib.
Uma vez que declaro a variável como cadeia “0 -> 1 -> “, e no decorreo do laço a vari+avel sempre está a receber este valor mais os valor de a3.
Não era pra ser exibido o “0” e “1” várias vezes? No Portugol não consigo ver o que se passa dentro de da variável fib. Desde já obrigada.programa
{
funcao cadeia fibonacci(inteiro qt){
inteiro a1, a2, a3
a1=0
a2=1
cadeia fib = “0 -> 1 -> ”para(inteiro i=3; i<=qt; i++){ //O 1º e o 2º elemento eu já sei
a3 = a1 + a2
fib = fib + a3 + ” -> ”
a1 = a2
a2 = a3
}
retorne fib + “fim!\n”
}funcao inicio()
{
inteiro tot=0
escreva(“Números de termos: “)
leia(tot)
escreva(“Sequência de Fibonacci: “,fibonacci(tot))
}
} -
13 de novembro de 2024 às 09:52 #146710Tutora JessicaModerador
Ola Renata,
Para entender melhor você precisar ler linha a linha do seu código, quando você inicia a sua variável fib recebe o valor de : “0 -> 1 -> ”, após ela recebe ela mesma + o valor de a3 , o valor de a3 é : a1 + a2 (que são 0 e 1).Seria essa a sua duvida?
No seu terminal após iniciar o código esta aparecendo algum erro? Me envie por aqui ou pelo nosso discord como fica o resultado final no seu terminal.
Bons estudos 🖖🏼
-
13 de novembro de 2024 às 12:33 #146717Renata CoelhoParticipante
A cada volta do laço fib recebe ela mesma, “0 -> 1 -> ”, mas no resultado só aparece uma vez. Não deveria aparecer toda vez que o loop acontece, por ex: 0 -> 1 -> a3 -> 0 -> 1 -> a3 …
-
-
13 de novembro de 2024 às 16:17 #146740Tutora JessicaModerador
Como o programa lê linha por linha tambem, inverte a posição da leitura da variável fib, dessa forma:
funcao cadeia fibonacci(inteiro qt){
cadeia fib = “0 -> 1 -> ”
inteiro a1, a2, a3
a1=0
a2=1Faça essa inversão e veja se funciona da forma correta.
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.