Lógica de Programação - Recursividade - 30

Поделиться
HTML-код
  • Опубликовано: 6 фев 2025
  • Lógica de Programação - Recursividade - 30
    Neste vídeo vamos mostrar como funciona a Recursividade em Lógica de Programação, e criar dois exemplos de aplicação de funções recursivas: função fatorial e fibonacci.
    Este curso é muito útil para estudantes de todos os níveis, desde cursos técnicos em informática até faculdade de tecnologia, como análise de sistemas, sistemas de informação, ciências da computação, tecnologia em bancos de dados e outros
    Atenção: Lancei uma versão completa e atualizada de meu curso de Lógica de Programação, na plataforma da Udemy, a qual fornece certificado após o aluno concluir o curso, além de download de TODAS as apresentações usadas nas aulas, mais arquivos com listas de exercícios resolvidos, em PDF.
    Link com preço promocional: bit.ly/3QKPn22
    Seja membro deste canal e ganhe benefícios:
    / @bosontreinamentos
    Outras formas de contribuição:
    www.bosontreina...
    Por Fábio dos Reis
    Bóson Treinamentos: www.bosontreina...
    Facebook: / bosontreinamentos
    Pinterest: / bosontreina
    Twitter: / bosontreina
    Instagram: / bosontreinamentos
    LInkedin: / f%c3%a1bio-dos-reis-06...
    Outros projetos do autor:
    Diário do Naturalista: www.diariodonat...
  • НаукаНаука

Комментарии • 91

  • @bosontreinamentos
    @bosontreinamentos  2 года назад +6

    Atenção: Lancei uma versão completa e atualizada de meu curso de Lógica de Programação, na plataforma da Udemy, a qual fornece certificado após o aluno concluir o curso, além de download de TODAS as apresentações usadas nas aulas, mais arquivos com listas de exercícios resolvidos, em PDF.
    Link com preço promocional: bit.ly/3QKPn22

  • @thiagofontes
    @thiagofontes 4 года назад +5

    Estava complicado entender pela apostila da faculdade, sempre venho aqui pensando que vai "complementar", mas na verdade aprendo mais aqui! haha

  • @ProgramadorSagaz
    @ProgramadorSagaz 6 лет назад +45

    Muito obrigado pelo vídeo, Fábio! Recursividade não é um tema fácil de explicar para os alunos, mas você apresentou muito bem!

    • @bosontreinamentos
      @bosontreinamentos  6 лет назад +4

      Muito obrigado amigo!

    • @yagoti2034
      @yagoti2034 6 лет назад

      Olho só que tá por aqui hehehe, sou seu inscrito :)

    • @eladioleal
      @eladioleal 4 года назад

      Caramba o Sargaz por aqui mano

  • @luan18447
    @luan18447 10 месяцев назад

    Obrigado pelo conteúdo Fabio, assisto o seu canal desde de 2016, quando iniciei na programação no meu curso técnico de informática, atualmente estou cursando o mestrado e volto para ver as suas aulas.

  • @andersonnascimento9864
    @andersonnascimento9864 3 года назад

    Melhor explicação sobre recursividade que eu já vi.
    Finalmente aprendi como funciona essas funcões recursivas.
    Essa imagem sobre o funcionamento foi fantástica, bem como as explicações iniciais.

  • @lucas68676
    @lucas68676 2 года назад +1

    Sou aluno de analise de sistemas e me ajudou bastante. Obrigado !!!

  • @gustavomachado943
    @gustavomachado943 3 года назад +1

    nao acho que meras palavras podem descrever o quanto que eu estou aliviado em finalmente entender funcao recursiva, vc esta de parabens professor! muito obrigado

  • @ricardobaltazar833
    @ricardobaltazar833 5 лет назад +4

    Fàbio, você é um verdadeiro mestre. Muito obrigado pelo curso de Lògica de Programação.

  • @MatheusdaRochaSena
    @MatheusdaRochaSena Год назад

    Valeu mesmo Fabio, pelo excelente vídeo, excelente didática, eu já conhecia o exemplo do fatorial, mas o da sequência de Fibonacci realmente fez minha mente explodir, pois as chamadas da função aumentam de forma exponencial, isso eu demorei para entender. Vou compartilhar o vídeo e o canal para tentar retribuir a ajuda.

  • @joaoazevedo902
    @joaoazevedo902 5 лет назад +2

    Tava com muita dificuldade de entender o funcionamento da recursividade, mas com seu video acabei entendendo (E olha que pesquisei bastante sobre o assunto). Muito Obrigado =D

  • @caroliarasil
    @caroliarasil 6 лет назад +11

    Primeiro vídeo que me fez entender recursividade hahaha GRATIDÃO

  • @mayconalvesl4156
    @mayconalvesl4156 2 года назад

    Muito obrigado pelo trabalho professor Fábio, suas aulas são muito claras e sua didática nos ajuda a compreender de uma maneira mais fácil e direta os assuntos.

  • @lurianleticia417
    @lurianleticia417 2 года назад

    Parabéns, você explica muito bem. Vou voltar a ver alguns vídeos de funções para melhorar o entendimento nessa matéria que estou vendo agora no segundo semestre da faculdade. Suas aulas estão me ajudando a entender melhor.

  • @ndombelebaptista4739
    @ndombelebaptista4739 5 лет назад

    Olá! acabei de ver aqui um potente material em que gostei bastante só estou a começar, vou até ao fim mais contudo agradeço pelo esforço e dedicação

  • @clogazul8742
    @clogazul8742 3 года назад

    Sim, apresentação excelente

  • @jefersonkleinkauf5458
    @jefersonkleinkauf5458 3 года назад

    Estou olhando justamente por isso estou tendo está matéria na faculdade em estrutura de dados, em análise e desenvolvimento de sistemas

  • @gilbertojunior1712
    @gilbertojunior1712 6 лет назад +1

    Assisti um vídeo seu por acaso sobre SCP e decidi me inscrever.
    A sua didática é absurda, consegue explicar conceitos complexos de forma clara e objetiva.
    Parabéns pelo canal e todo o sucesso!

  • @alessandrasampaio296
    @alessandrasampaio296 Год назад

    que ótimo vídeo, muito obrigada!

  • @matheusfelipe1107
    @matheusfelipe1107 5 лет назад +1

    Fábio, você tem uma didática incrível, meus parabéns!!!
    Continue sendo esse excelente professor

  • @kaueh
    @kaueh 11 месяцев назад

    Excepcional!

  • @tedyaquino6885
    @tedyaquino6885 4 года назад +1

    Parabéns pelas aulas, tenha certeza que você tem ajudado muita gente.
    Muito obrigado!

    •  2 года назад

      Obrigado Tedy!

  • @priscyllarodrigues6214
    @priscyllarodrigues6214 3 года назад

    Ganhou uma inscrita.

  • @vicentelopes2908
    @vicentelopes2908 4 года назад

    Muito Top, Obrigado por esse vídeo, me ajudou muito numa prova de Algoritmo e Estrutura de Dados. Vlw

  • @elnegonjz
    @elnegonjz 4 года назад +2

    Explicação muito bem elucidada. Melhor que meu professor de estrutura de dados rsrs. Obrigado e parabéns pelo trabalho.

    •  2 года назад

      Muito obrigado Joe!

  • @rensopa
    @rensopa Год назад

    Perfeito!!!

  • @naoreparaabagunca2022
    @naoreparaabagunca2022 Год назад

    Excelente conteúdo. 08:43

  • @priscyllarodrigues6214
    @priscyllarodrigues6214 3 года назад

    Adorei!!

  • @elohimkifuekele
    @elohimkifuekele 3 года назад

    Excelente conteúdo

  • @lademirbechara4197
    @lademirbechara4197 3 года назад

    Muito bom!

  •  4 года назад +1

    Prof, gostei imenso dos conteudos. Parabens!

  • @elsonfurtado4772
    @elsonfurtado4772 6 лет назад

    Professor, fantástico vou revisar depois. Obrigado!

  • @engebras-engenhariabrasili9977
    @engebras-engenhariabrasili9977 6 лет назад

    Parabéns Xará. Bem primorosa as suas explicações. Valeu!!!

  • @weltoncarlos3387
    @weltoncarlos3387 5 месяцев назад

    poderia fazer uma aula de recursividade em cauda

  • @Guiotjj
    @Guiotjj 6 лет назад +1

    muitíssimo obrigado

  • @Moraidos
    @Moraidos 3 года назад

    finalmente entendi o que é fibonacci

  • @rsmrsm2000
    @rsmrsm2000 5 лет назад

    Mais um vídeo excelente

  • @ednilsonzolatto2421
    @ednilsonzolatto2421 5 лет назад

    Gratidao Gratidão

  • @felipehenriquepeixotoneto9464
    @felipehenriquepeixotoneto9464 Год назад

    Essa solução que fiz em python é valida?
    def fibo(seq, i=0, lista=list()):
    if i == 0:
    lista.append(0)
    return fibo( seq, i+1)
    if i == 1:
    lista.append(1)
    return fibo(seq, i+1)
    if i < seq:
    lista.append(lista[-1] + lista[-2])
    return fibo(seq, i+1)
    if i == seq:
    return lista
    print(fibo(10))
    Ela funciona, mas não sei se é válida. No caso ela retorna a lista da sequencia de fibbo e não somente o numero que a pessoa quer calcular.

  • @joaocandido710
    @joaocandido710 4 года назад

    Aula de função

  • @evangelho_sa
    @evangelho_sa 3 года назад +1

    Ótimo vídeo... Parabéns sempre pela qualidade!!! Só não entendi como ocorre o cálculo no visualG, onde fica salvo o valor dos cálculos de cada "iteração"... Desculpas, mas já agradeço a ajuda, abraço!!

  • @Rodrigo102able
    @Rodrigo102able 6 лет назад

    Confesso que não consigo pensar além desses dois exemplos: Fatorial e Fibonacci...até daria aula kkkkk, o problema é na hora de fazer os exercícios, pois me falta percepção para buscar os casos base e propor execução da função. Mas vamos lá!

  • @Fallaciuos
    @Fallaciuos 6 лет назад

    Ótimo conteudo parabéns!!!!

  • @afonsomarcelino9499
    @afonsomarcelino9499 2 года назад

    Quando o valor de n for negativo, neste caso n=-5? Como seria?

  • @NaCaRoLL
    @NaCaRoLL 3 года назад

    tem algum material de slide ou artigo disponibilizado sobre recursividade?

  • @VanderleiRobertoMoretto
    @VanderleiRobertoMoretto 4 года назад +1

    Uma dúvida: dentro da função tem uma segundo var (entre funcao e inicio) - não entendi muito bem a utilidade lógica disso!

    • @henriquebortoletto2379
      @henriquebortoletto2379 4 года назад +3

      Essa seção de (var) quando fica dentro de um procedimento ou função são variáveis declaradas dentro do escopo de função, ou seja, são somente acessíveis dentro
      da função. Isso tem relação com escopo global x escopo local.
      Escopo global -> Todas variáveis que tem escopo global podem ser acessadas em qualquer parte do algoritmo, até mesmo uma função pode chamar uma variável global no sistema.
      Escopo local -> São variáveis que somente podem ser acessadas dentro de uma função, por isso existe a declaração de variáveis dentro de uma função. Caso quiser recuperar alguma informação dessa variável nesse escopo para o programa principal gerará um erro.
      Exemplo:
      algoritmo "semnome"
      // Função :
      // Autor :
      // Data : 02/06/2020
      // Seção de Declarações
      var
      nome: caractere
      funcao nomeCompleto(n: caractere): caractere
      var
      sobrenome: caractere
      inicio
      sobrenome

    • @LuanCRVG
      @LuanCRVG 4 года назад

      É pra vc declarar variávels que locais à função, ela só vai funcionar na função. Nesse caso não há nenhuma variável declarada. Amigo Henriqeu explicou muito bem,.

  • @bitcoiner7
    @bitcoiner7 4 года назад

    usando ai a *recursividade* ,
    no exemplo do fibonacci,
    eu poderia usar
    *fibonacci ( (x-1) + (x-2) )*
    ao inves de
    fibinacci (x-1) + fibinacci (x-2) ??

    • @epantaleao
      @epantaleao 4 года назад +1

      Não, a recursividade não é transitiva. Se fosse, ajudaria muito!

  • @ricellig3
    @ricellig3 6 лет назад

    Professor, já tem a aula parte 2 de configuração de VLAN??

  • @batatarugal
    @batatarugal 2 года назад

    Não falou que o fatorial de 1 era definido numa hora crítica

  • @thiagocassiano19
    @thiagocassiano19 6 лет назад

    Olá professor, tem alguma aula explicado todos os protocolos de redes do modelo OSI? Se sim me mande o link por favor. Gostaria de ver

    • @bosontreinamentos
      @bosontreinamentos  6 лет назад

      Olá Thiago! Temos esse vídeo aqui que fala sobre o modelo OSI:
      ruclips.net/video/rkKTGpqizZU/видео.html
      Abraço!

  • @fagnerbarbosa7465
    @fagnerbarbosa7465 6 лет назад

    Quantos vídeo aulas de logica de programação você pretende postar?

    • @bosontreinamentos
      @bosontreinamentos  6 лет назад +2

      A lista está quase terminando, cerca de uns 4 ou 5 vídeos ainda. Mas depois vem a lista de Estruturas de Dados, que será continuação desse curso. Essa lista terá mais algumas dezenas de vídeos.

  • @igorsoaresdesouza100
    @igorsoaresdesouza100 5 лет назад

    Boa tarde professor poderia me responder q tipo de estrutura de programaçao seria essa ?
    Enquanto (condição) Faça
    (bloco de código)
    Fim Enquanto
    ( a )Recursiva. ( b )Sequencial. ( c )Condicional. ( d )Repetição.

  • @LucasSantos-js7wy
    @LucasSantos-js7wy 2 года назад

    Esse assunto é muito difícil

  • @mayconantonio3357
    @mayconantonio3357 6 лет назад +2

    Like

  • @dsdcp
    @dsdcp 4 года назад

    Duvida:
    fibonacci(x-1) + fibonacci(x-2)
    eu entro com o valor de 15, entao x terá o valor de 15
    fibonacci(15-1)+ fibonacci(15-2) = 27

    • @epantaleao
      @epantaleao 4 года назад +1

      Daniel, fibonacci(14) não é 14, é uma chamada da função. Você precisa continuar resolvendo, fazendo novas chamadas, agora com x valendo 14 e 13. Algo assim:
      fibonacci(15)=
      fibonacci(14)+fibonacci(13)=
      fibonacci(13) + fibonacci(12)+fibonacci(12)+fibonacci(11)=
      fibonacci(12)+fibonacci(11)+fibonacci(11)+fibonacci(10)+fibonacci(11)+fibonacci(10)+fibonacci(10)+fibonacci(9)= ...
      e por aí vai, até chegar na base. Para 15, o resultado é 610.

    • @dsdcp
      @dsdcp 4 года назад

      @@epantaleao assiti outro conteúdo e entendi, mas é essa a ideia mesmo. obrigado

    • @joaopedrobelo2313
      @joaopedrobelo2313 2 года назад

      @@epantaleao obrigada eliana graças a você tirei minha dúvida pra mim fibonacci funcionava exatamente como daniel disse se não fosse você dizendo e eu indo procurar logo em seguida não iria entender nada kkkkk

  • @codificaFacil93
    @codificaFacil93 8 месяцев назад

    Ou seja recursividade é divir para conquistar

  • @brasiliano3201
    @brasiliano3201 8 месяцев назад

    Entendi NADA! Vou ter que assistir essa aula de novo e ler algum texto sobre. Acho recursividade complicadíssima

  • @1919Reid
    @1919Reid Год назад

    function fatorialComRecurssividade(n) {
    if (n === 0) return 1
    return n * fatorialComRecurssividade(n - 1)

    }
    console.log(fatorialComRecurssividade(5))
    /*
    NOTA!!! EU SO ESCREVI "n = 3", por exemplo, para lembrar que o numero se refere a "n".
    ordem dos acontecimentos->
    5 * ((n = 5)-1) presta a a atenção na primeira vez "n" vale 5, ok;
    4 * ((n = 4)-1) na segunda vez "n" vale 4 os dois "n" tanto o do calculo de multiplicação quanto o do "n"-1;
    3 * ((n = 3)-1) depois vale 3
    2 * ((n = 2)-1) depois vale 2
    1 * ((n = 1)-1) e por fim vale 1
    //recurssividade
    ((n = 1)-1) = 0 ativa o booleano->
    if (n === 0) return 1
    //lembrando estou chamando novamente a função do inicio então "n" assume o valor do resultado do retorno anterior, no caso n = 1
    1 * (1) = 1
    essa parte aqui -> 2 * ((n = 2)-1) esta esperando para receber o retorno do resultado da recurssão anterior ou seja 1, ficando-> 2 * (1) que resulta em 2
    essa parte aqui -> 3 * ((n = 3)-1) esta esperando para receber o retorno do resultado da recurssão anterior anterior ou seja 2, ficando -> 3 * (2) que resulta em 6
    essa parte aqui -> 4 * ((n = 4)-1) esta esperando para receber o retorno do resultado da recurssão anterior anterior ou seja 6, ficando -> 4 * (6) que resulta em 24
    essa parte aqui -> 5 * ((n = 5)-1) esta esperando para receber o retorno do resultado da recurssão anterior anterior ou seja 24, ficando-> 5 * (24) = que resulta por fim em 120