Ir ao conteúdo

Posts recomendados

Postado

Estou fazendo matéria de programação na faculdade e eu não consegui entender essa questão que foi passada para desenvolver, será que alguém consegue me ajudar com ela?

 

" Escreva uma função em VBA que receba como parâmetro um inteiro n e retorne a soma dos n primeiros números da sequência de Fibonacci. Consulte sobre a sequência de Fibonacci em: Fibonacci "

 

se não for permitido pedir esse tipo de ajuda, peço desculpas.

  • Obrigado 1
Postado

@Gameiro Sua função deve ter um loop para gerar a sequencia enquanto acumula a soma dos N números, p.ex,

 

A = 1
Fibonacci = 1
For I = 1 To N
    Soma = Soma + Fibonacci
    Fibonacci = A + B
    B = A
    A = Fibonacci
Next I

 

  • Curtir 1
  • Amei 1
Postado
4 minutos atrás, Midori disse:

@Gameiro Sua função deve ter um loop para gerar a sequencia enquanto acumula a soma dos N números, p.ex,

 


A = 1
Fibonacci = 1
For I = 1 To N
    Soma = Soma + Fibonacci
    Fibonacci = A + B
    B = A
    A = Fibonacci
Next I

 

 

nossa ficou muito melhor do que o que eu estava fazendo,

Sub fibonacci ()
    dim num as integer
    dim cont as integer
    dim fn_1 as integer
    dim fn_2 as integer
    dim resultado as integer
 
    num = ImputBox ("Digite um numero")
    cont = 1
    fn_1 = 0
    fn_2 = 1

    while num >= cont
        if fn_1 < fn_2 then
            fn_1 = fn_1 + fn_2
        else
            fn_2 = fn_1 + fn_2    
        end if
    cont = cont + 1
    wend
    
    if fn_1 > fn_2 then
        resultado = fn_1
    else
        resultado = fn_2
    end if
    
    MsgBox ("O numero digitado é referente ao numero" &resultado " da soma dos fibonacci")
End Sub

 

eu estava tentando isso aqui, mas acredito que se eu substituir o While que fiz pelo For que você me ajudou, vai ficar muito melhor né

  • Curtir 1
Postado

@Gameiro O enunciado pede para criar uma função com parâmetro, então seu código deve ter a função e a sub que mostra o resultado,

 

Function SomaFibonacci(N As Integer) As Integer
    Dim Fibonacci   As Integer
    Dim Soma        As Integer
    Dim I           As Integer
    Dim A           As Integer
    Dim B           As Integer
    
    A = 1
    Fibonacci = 1
    For I = 1 To N
        Soma = Soma + Fibonacci
        Fibonacci = A + B
        B = A
        A = Fibonacci
    Next I
    SomaFibonacci = Soma
End Function

Sub Macro()
    Dim Num As Integer
    
    Num = InputBox("Digite um numero")
    MsgBox "Soma = " & SomaFibonacci(Num)
End Sub

 

  • Curtir 1
  • Amei 1
Postado
3 minutos atrás, Midori disse:

@Gameiro O enunciado pede para criar uma função com parâmetro, então seu código deve ter a função e a sub que mostra o resultado,

 


Function SomaFibonacci(N As Integer) As Integer
    Dim Fibonacci   As Integer
    Dim Soma        As Integer
    Dim I           As Integer
    Dim A           As Integer
    Dim B           As Integer
    
    A = 1
    Fibonacci = 1
    For I = 1 To N
        Soma = Soma + Fibonacci
        Fibonacci = A + B
        B = A
        A = Fibonacci
    Next I
    SomaFibonacci = Soma
End Function

Sub Macro()
    Dim Num As Integer
    
    Num = InputBox("Digite um numero")
    MsgBox "Soma = " & SomaFibonacci(Num)
End Sub

 

meu deus, você me salvou eu tava perdido demais mesmo, muito obrigado mesmo, salvou a noite. 

  • Curtir 1

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