Programar em C - Funções Recursivas - Aula 35

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ธ.ค. 2024

ความคิดเห็น • 226

  • @videos12344444444
    @videos12344444444 8 ปีที่แล้ว +347

    Para quem não entendeu ainda, é incrivelmente simples:
    vamos pegar o exemplo do vídeo:
    int fatorial(int x)
    {
    int resultado;
    if( x == 0)
    {
    resultado = 1;
    } else
    {
    resultado = x * fatorial (x - 1);
    }
    }
    O que vai acontecer:
    Vamos supor que em main eu chamei a função fatorial desta forma:
    fatorial(3);
    então ele entra na função fatorial() e faz literalmente assim:
    fatorial(x = 3)
    {
    int resultado;
    x é igual a 0 ? : Não.
    Então:
    (4) resultado = 3 * fatorial (3 - 1);
    // Como ele não resolveu ainda, ele chama denovo a função fatorial(), ainda em else:
    fatorial( x = 2 )
    {
    int resultado;
    x é igual a 0 ?: Não.
    Então:
    (3) resultado = 2 * fatorial ( 2 - 1);
    // Como ele não resolveu ainda, ele chama denovo a função fatorial, ainda em else:
    fatorial( x = 1 )
    {
    int resultado;
    x é igual a 0? : Não.
    Então:
    (2) resultado = 1 * fatorial( 1 - 1 );
    //Como ele não resolveu ainda, ele chama denovo a função fatorial:
    fatorial( x = 0)
    {
    int resultado;
    x é igual a 0? : Sim.
    Então:
    (1) resultado = 1;
    return resultado; (retornou 1)
    }
    //Finalmente, ele finalizou e definiu resultado como 1... agora, e compilador
    // faz o caminho INVERSO, e calcula todas as variáveis anteriores, pois só
    // agora conseguiu um resultado (por isso o nome função RECURSIVA, pois
    // ela faz o CURSO CONTRÁRIO quando resolve um problema deste tipo):
    // Se ligou nos números entre parênteses nas variáveis "resultado" acima?
    // agora siga elas para você entender o que está sendo feito logo abaixo:
    (1) resultado = 1; // voltando com o valor 1
    (2) resultado = 1 * (1) = 1; // voltando com o valor 1
    (3) resultado = 2 * (1) = 2; // voltando com o valor 2
    (4) resultado = 3 * (2) = 6; // finalmente resolvido
    }
    }
    }
    // Depois de tudo isso, ele finalmente chega ao fim desta função, e o return retorna
    // o resultado da variável "resultado" que, neste caso, é 6:
    return resultado (6);
    }
    E isso é função recursiva :D ( um forte abraço para o professor do vídeo, fez um excelente trabalho de didática, eu só consegui explicar porque ele conseguir me fazer entender... parabéns).

    • @mvdamassa
      @mvdamassa 8 ปีที่แล้ว +2

      e se no caso eu resolvesse colocar o valor 9, eu conseguiria o fatorial? eu teria que ir no meu algoritmo e muda-lo?

    • @ddg7927
      @ddg7927 8 ปีที่แล้ว +1

      Vai resolver o fatorial de qualquer numero

    • @mvdamassa
      @mvdamassa 8 ปีที่แล้ว +2

      obg, é que eu tinha me confundido na explicação dele

    • @italomillermachado8965
      @italomillermachado8965 7 ปีที่แล้ว +2

      Ótima explicação.

    • @isaacweber7398
      @isaacweber7398 7 ปีที่แล้ว +2

      fiquei meio confuso porque ele entrou dentro do comando "else" sendo que era zero e pensei que deveria apenas retornar 1.

  • @fimbulwint3r
    @fimbulwint3r 10 ปีที่แล้ว +117

    Muito bom, conseguiu explicar em dez minutos, o que meu professor não conseguiu em 3 aulas! Obrigado.

    • @dabide__
      @dabide__ 10 ปีที่แล้ว +8

      True story ;)

    • @ajopasoij9d00
      @ajopasoij9d00 9 ปีที่แล้ว +4

      Verdade.

    • @sofia_rochinha
      @sofia_rochinha 5 ปีที่แล้ว +2

      ahaha também me aconteceu o mesmo xD

  • @Hendrix463
    @Hendrix463 ปีที่แล้ว +4

    Cara a melhor aula explicando recursividade que já vi. Parabéns! 10 anos desse vídeo. Sucesso.

  • @videos12344444444
    @videos12344444444 9 ปีที่แล้ว +50

    Eu vou te dizer: já lí muitos livros e ví muitas aulas na internet nos últimos anos... mais mano, em menos de 13 minutos você conseguiu fazer o que nenhum desses citados conseguiu !!! Eu finamente entendí como funciona a recursividade de funções pqp .... se vc conseguir a mesma proeza em ponteiros, você será um gênio da didatica :D.... estou esperançoso para as aulas de ponteiros...obrigado

  • @allanbontempo8587
    @allanbontempo8587 3 ปีที่แล้ว +1

    UOUU foda!
    Agora entendi!
    O return sempre bugava minha cabeça, mas faz sentido deixar em tempo de espera!
    FODA! Obrigado!

  • @eliabbernardinodepaulajuni545
    @eliabbernardinodepaulajuni545 3 ปีที่แล้ว +1

    achei fenomenal esse jeito de explicar recursão

  • @murilomullergomes8127
    @murilomullergomes8127 3 ปีที่แล้ว +8

    O vídeo é velho, mas ajuda que é uma beleza kkkkk
    Explicou melhor do q muitas outras aulas

  • @profruiogawa
    @profruiogawa 7 ปีที่แล้ว +1

    Sou professor de informática e digo que essa é uma das melhores explicações sobre recursividade que já vi. Parabéns pelo vídeo!

  • @BemnyrBritto
    @BemnyrBritto 10 ปีที่แล้ว

    Muito legal, sua explicação analítica da função recursiva.

  • @vimariaaa
    @vimariaaa 3 หลายเดือนก่อน

    Que aula incrível!!!! Nem na faculdade é tão bem explicado como foi aqui. Muito obrigada!!

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  12 ปีที่แล้ว +1

    Obrigado pelo comentário... eu terminando a série de vídeos que já tenho aqui planejado vou tentar fazer uma série focado em testes booleanos. ;D
    vlws

  • @luigid.122
    @luigid.122 11 ปีที่แล้ว +31

    Como eu queria que o infeliz do meu professor de programação explicasse assim... Muito bom o vídeo, parabéns!

  • @TheJangashi
    @TheJangashi 6 ปีที่แล้ว +3

    Por que você não faz mais vídeos?!
    Sua didática é excelente!

  • @silveiratalita
    @silveiratalita 5 ปีที่แล้ว +1

    Vc tem o dom de ensinar, parabéns, pq agora estou entendendo! Obrigada!

  • @HOUPI_Games
    @HOUPI_Games 2 ปีที่แล้ว

    Essa aula deu um nó na minha mente, mas com a ajuda de um comentário aqui no youtube eu pude entender perfeitamente como funciona uma função recursiva. Muito obrigado por compartilhar mais uma aula prof!
    Ótima didática como sempre.

  • @ColldMaster
    @ColldMaster 3 ปีที่แล้ว

    Amigo! Parabéns! Melhor explicação da função de Recursividade que eu já vi!!! Muito bom mesmo!!!

  • @theocoelhov
    @theocoelhov 3 ปีที่แล้ว

    Professor com a melhor didática que eu já vi na minha vida, seus videos me salvam!!!

  • @carlaribeiro4206
    @carlaribeiro4206 2 ปีที่แล้ว +1

    cara muito boa explicação, muito obrigada!

  • @evertondearaujosilva4766
    @evertondearaujosilva4766 3 ปีที่แล้ว

    eu já pesquisei. Esse é o melhor vídeo sobre o assunto!

  • @iedaroqueduarte3514
    @iedaroqueduarte3514 3 ปีที่แล้ว +1

    Eu tava surtando por estar tendo dificuldade em entender, mas você me salvou 🙏🙏🙏. Aula muito boa!

  • @doomer24y
    @doomer24y ปีที่แล้ว

    Salvou demais amigo, parabéns pela explicação, tava arregaçando minha cabeça tentando entender como era realizado o cálculo. Valeu demais.

  • @matheusmagalhaes7054
    @matheusmagalhaes7054 3 ปีที่แล้ว

    Primeira vez que vejo um video sobre recursividade e consegui compreender perfeitamente, meus parabéns pela didática.

  • @futuroArtificialOficial
    @futuroArtificialOficial 3 ปีที่แล้ว +2

    Obrigado mesmo, De Aluno Para Aluno

  • @asmgutinho
    @asmgutinho ปีที่แล้ว

    Inacreditável como você fez parecer tão simples!!!!
    Que aula incrível!!!!!! 👏🏼👏🏼👏🏼👏🏼👏🏼

  • @bdlgamersbr9713
    @bdlgamersbr9713 4 ปีที่แล้ว +1

    Muito bom, sanando dúvidas até mesmo depois de 8 anos da data de postagem!

  • @TheMaceloLaian
    @TheMaceloLaian 9 ปีที่แล้ว +2

    Exelente explicação, principalmente no momento do "Q da questão"
    Estava precisando entender recursividade para partir para ordenaçao megeSort.
    Parabéns!!

  • @monys140
    @monys140 ปีที่แล้ว

    Muito ótima sua explicação! Parabéns e obrigada por compartilhar!

  • @thiagopetherson1268
    @thiagopetherson1268 8 ปีที่แล้ว +17

    Você percebe que está aprendendo, quando percebe algo errado e fica procurando, ai logo depois no vídeo o professor se corrige e vê que ele tinha errado. HAHAHAHAHA

  • @joaquimpedro8474
    @joaquimpedro8474 9 ปีที่แล้ว +1

    ótima hora que fui ver vídeo aulas sobre prog1, você quebrou meu bloqueio, antes odiava essa matéria e agora é uma das minhas preferidas

  • @razor0wn3d
    @razor0wn3d 4 ปีที่แล้ว

    Eu tinha a idéia de recursividade bem superficial, agora consegui entender o que de fato acontece. Obrigado!

  • @hicg
    @hicg 3 ปีที่แล้ว +2

    Assistindo novamente em 2021! Excelente Aula!

  • @kozmicaos
    @kozmicaos 8 ปีที่แล้ว

    Melhor explicação sobre recursividade que já vi. Obrigado.

  • @ezboy3059
    @ezboy3059 4 ปีที่แล้ว

    Ótimo, muito bem esclarecido. Em 2020, a melhor explicação que encontrei foi essa.

  • @giovannibrancher5996
    @giovannibrancher5996 8 ปีที่แล้ว +2

    Cara, suas aulas são sensacionais! Parabéns, ótimo trabalho!!!

  • @carlosfernando6739
    @carlosfernando6739 8 ปีที่แล้ว +2

    Mesmo programando em java as suas aulas de C ainda me ensinam, kkkk. Você é demais!

  • @riachomolhado999
    @riachomolhado999 6 ปีที่แล้ว +2

    Cara, simplesmente a melhor esplicação de recursividade. Assisti a muitos, mas você matou a questão ao 6:31 "Como se houvesse uma pausa".....Pronto, agora entendi essa porra. :D

  • @dougaprendizdeconfeiteiro
    @dougaprendizdeconfeiteiro 2 ปีที่แล้ว

    A pessoa que descobriu esse método (de fazer fatorial com a própria função) é incrível.

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 ปีที่แล้ว +1

    ótima sugestão cara.. realmente eu deveria ter feito isso desde o início mas na época nem pensei... estou só com preguiça de voltar em todos os vídeos e reescrever o código de todas as aulas :/ ..
    Nos vídeos de Java estou sempre fornecendo um link para download do código fonte ;)
    Valeu pela dica e assim que puder vou fazer isso

  • @marialuizaribeirodasilva5165
    @marialuizaribeirodasilva5165 2 ปีที่แล้ว

    As suas aulas são as melhores!!!

  • @felipe1jn
    @felipe1jn 10 ปีที่แล้ว

    Estou aprendendo sozinho c++, comprei uns livros e são muito úteis, mas, as vezes algumas coisas ficam vagas e essa foi uma delas estava empacado em um problema e tu ajudou muito, obrigado!

  • @EfraimDays
    @EfraimDays 8 ปีที่แล้ว +1

    Nunca tinha pensado em fazer a fatorial desta forma, parabéns pelo algoritimo, programação sempre nos surpreendendo

  • @Nicolau1997
    @Nicolau1997 11 ปีที่แล้ว

    Cara, melhor explicação de recursividade que eu já vi, parabéns!

  • @JoséHenriqueMartinsBarretoSilv
    @JoséHenriqueMartinsBarretoSilv ปีที่แล้ว

    Incrível parabéns 👏👏, explicação muito boa parabéns!!

  • @ru.exe.anonymous
    @ru.exe.anonymous 3 ปีที่แล้ว

    Caramba , conseguiu explicar com maestria!!!!! Ótima vídeo aula!!

  • @nilnfa
    @nilnfa 7 ปีที่แล้ว

    Brigadão!!! Tava com dúvida sobre como funciona uma função recursiva, mas agora tá tudo mais claro. :)

  • @cevima
    @cevima 11 ปีที่แล้ว

    Excelente ! Vai ajudar e muito como complemento das aulas da Facul (ou a "aulas" da facul serão um complemento), bem explicado!!! Obrigado !

  • @gnunes72
    @gnunes72 3 ปีที่แล้ว

    Parabéns pela explicação. Muito obrigado!!!

  • @dksbanex
    @dksbanex 10 ปีที่แล้ว

    pqp cara que coisa loka... nunca achei que ia entender isso.. obrigado muito obrigado

  • @guilhermedelcistia6256
    @guilhermedelcistia6256 8 ปีที่แล้ว

    Só consegui entender com esse video, recebeu um like! parabens!

  • @ThiagoVieira-17
    @ThiagoVieira-17 ปีที่แล้ว

    Esse vídeo me ajudou demais!! Obrigado!!👏👏👏

  • @thiagodev7800
    @thiagodev7800 3 ปีที่แล้ว

    Melhor explicação de todas!!!!!

  • @bacaninhagames8995
    @bacaninhagames8995 ปีที่แล้ว

    vídeo atemporal, explicação perfeita

  • @dlucassucessosertanejo
    @dlucassucessosertanejo 9 ปีที่แล้ว

    Cara parabéns ajudou muito, vou sempre curtir as suas vídeo aula, são muito bacana, muito obrigado mesmo..

  • @natanholanda821
    @natanholanda821 3 ปีที่แล้ว

    aula boa é atemporal, mandando um olá de 2021 hehe SIMPLISMENTE INCRÍVEL!

  • @m.souzamorgana6092
    @m.souzamorgana6092 7 ปีที่แล้ว

    Nossaaa Inception total. Ótima explicação!

  • @framered
    @framered 8 ปีที่แล้ว

    Sério cara , tuas aulas são muito boas !!! Aprendo bastante com vc !

  • @LuisHenriqueChagasLeite
    @LuisHenriqueChagasLeite 10 ปีที่แล้ว

    Excelentes aulas, estou acompanhando para complementar o estudo da Faculdade. Parabens!

  • @heriveltonnunes188
    @heriveltonnunes188 10 ปีที่แล้ว

    Caramba!!!! Esse cara explica muito bem.

  • @heltonjose4020
    @heltonjose4020 6 ปีที่แล้ว

    vc é muito foda, ia voltar pra dar like em todos os vídeos só depois q eu terminasse de ver todos mas tive q parar nesse aqui pra comentar. Excelente explicaçao.

  • @MatheusRagoso
    @MatheusRagoso 11 ปีที่แล้ว

    Impressionante esse exemplo. Parabéns Italo. Você é demais =D

  • @jonasantunes8865
    @jonasantunes8865 10 ปีที่แล้ว

    Excelente explicação! Tive de usar papel e caneta, mas entendi. Muito obrigado pelas aulas!

  • @brenoduraes9165
    @brenoduraes9165 8 ปีที่แล้ว +2

    Caralho maluco, Parabéns!
    Até que enfim entendi recursão! kKKKKKK

  • @sidneyp4826
    @sidneyp4826 6 ปีที่แล้ว

    Muito bem explicado. As apostilas que eu estava lendo não mencionavam de forma tão clara o armazenamento da variável com mesmo nome e valores diferentes na memória

  • @guibarreta1993
    @guibarreta1993 8 ปีที่แล้ว

    cara esse canal é sensacional, parabéns pela didática!!!

  • @felyppe6509
    @felyppe6509 ปีที่แล้ว

    Cara, explicou muito bemmmm! Obrigado!

  • @joaoeduardodasilvabarbosa1391
    @joaoeduardodasilvabarbosa1391 5 ปีที่แล้ว +1

    parabéns pela aula muito boa sua explicação

  • @LuizFelipe-zs8yh
    @LuizFelipe-zs8yh 3 ปีที่แล้ว +2

    Muito a frente do seu tempo
    Em 2012 já fazia vídeo de 100 camadas de função

  • @gabrielpeixoto91
    @gabrielpeixoto91 8 ปีที่แล้ว

    Perfeita explicação! Ficou bem fácil de entender, muito obrigado!!!

  • @wiltonmartins732
    @wiltonmartins732 6 ปีที่แล้ว

    muito show me ajudou a entender melhor esta função.

  • @juliaaa.garcia
    @juliaaa.garcia ปีที่แล้ว

    moço vc é uma lenda!!!

  • @MrMate1212
    @MrMate1212 5 ปีที่แล้ว

    Muito boa a sua explicação. Facilitou demais, valeu :)

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 ปีที่แล้ว

    muito obrigado Lucas!

  • @max.felipe
    @max.felipe 11 ปีที่แล้ว

    Explica melhor que meu Professor! :D Vlw cara!

  • @joaovitordemelo8209
    @joaovitordemelo8209 6 ปีที่แล้ว

    Muito bom cara! Valeu pela explicação! Continua as aulas PF :)

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 ปีที่แล้ว

    Vlw Filipe

  • @matheuscavalcantedeoliveir6680
    @matheuscavalcantedeoliveir6680 10 ปีที่แล้ว

    cara ajudou bagarai tava com uma duvida cruel quanto a sintaxe e talz valeu mesmo

  • @AdailAntonio
    @AdailAntonio 10 ปีที่แล้ว

    Excelente explicação. Parabens.

  • @LuizHeringerCantor
    @LuizHeringerCantor 10 ปีที่แล้ว

    Muito Bom... Parabéns.

  • @tecnotubeplus
    @tecnotubeplus 9 ปีที่แล้ว

    Parabéns ótima explicação.

  • @isabelamarton1940
    @isabelamarton1940 9 ปีที่แล้ว

    Fantástico! Ajudou muito!

  • @brdsnet
    @brdsnet 9 ปีที่แล้ว

    Ajudou muito. Obrigado!

  • @DoctorComputersBgi
    @DoctorComputersBgi 7 ปีที่แล้ว +2

    instancia... a palavra correta seria, que a função fatorial quando chama a si mesma, ela abre uma outra instancia da função fatorial... e assim sucessivamente vai abrindo outras instancias da função até obter o resultado e retornar o valor obtido

  • @sergioaraujo4519
    @sergioaraujo4519 8 ปีที่แล้ว

    Fiquei a entender. Obrigado!

  • @andersonsoldeira2204
    @andersonsoldeira2204 9 ปีที่แล้ว

    EXELENTE aula.

  • @kirovalexandre7289
    @kirovalexandre7289 2 ปีที่แล้ว

    fez jus ao nome do canal, obrigado pela explicação detalhada...

  • @juliocabral3749
    @juliocabral3749 6 ปีที่แล้ว

    Bastante didático, obrigado!

  • @saulodefreitas4031
    @saulodefreitas4031 ปีที่แล้ว

    Sem palavras 👏

  • @iPedrov
    @iPedrov 7 ปีที่แล้ว +1

    Você poderia fazer um exercicio envolvendo a torre de hanoi? Nao achei nenhum video relacionado com o Dev

  • @edusantosplus
    @edusantosplus 11 ปีที่แล้ว

    Cara que genial :D muito boa a aula!!

  • @tenma_vr7738
    @tenma_vr7738 ปีที่แล้ว

    EXPLICAÇÃO MT BOA 👌🤌👍

  • @leandroalbuquerque8286
    @leandroalbuquerque8286 10 ปีที่แล้ว

    Muito bem explicado!

  • @mauro-bueno
    @mauro-bueno 4 ปีที่แล้ว

    Muito boa a explicação.

  • @fernandosousa-criminalista8815
    @fernandosousa-criminalista8815 11 ปีที่แล้ว

    Valeu Cara boa explicação !!!

  • @henriquealves5734
    @henriquealves5734 7 ปีที่แล้ว

    Sensacional essa aula

  • @jhonyjosetaveira6601
    @jhonyjosetaveira6601 12 ปีที่แล้ว

    muito bom suas videos aulas,parabens, agora eu queria que vc deixar-se um link ou fizesse outras explicaçãoes sobre testes booleanos ou váriveis booleanas
    vlw obg

  • @AP-gc5ss
    @AP-gc5ss 6 ปีที่แล้ว

    Cara vai dar aula na Uninter pq o professor lá nem ele mesmo se entende. Valeu pela explicação! +De aluno para aluno

  • @willianpaesdeandrade9312
    @willianpaesdeandrade9312 5 ปีที่แล้ว

    Parabéns mano! Me salvou❤❤

  • @thaynafagundes4302
    @thaynafagundes4302 8 ปีที่แล้ว

    Melhor aula

  • @BrunoGomesbg6293
    @BrunoGomesbg6293 9 ปีที่แล้ว +1

    cara que loco.. mt massa.

  • @Bibipudim_
    @Bibipudim_ 7 ปีที่แล้ว

    muito bem explicado, valeu!!