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

Поділитися
Вставка
  • Опубліковано 21 січ 2025

КОМЕНТАРІ • 226

  • @videos12344444444
    @videos12344444444 9 років тому +348

    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.

  • @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

  • @Hendrix463
    @Hendrix463 Рік тому +4

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

  • @murilomullergomes8127
    @murilomullergomes8127 3 роки тому +8

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

  • @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!

  • @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!

  • @eliabbernardinodepaulajuni545
    @eliabbernardinodepaulajuni545 3 роки тому +1

    achei fenomenal esse jeito de explicar recursão

  • @vimariaaa
    @vimariaaa 4 місяці тому

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

  • @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!

  • @iedaroqueduarte3514
    @iedaroqueduarte3514 3 роки тому +1

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

  • @futuroArtificialOficial
    @futuroArtificialOficial 3 роки тому +2

    Obrigado mesmo, De Aluno Para Aluno

  • @carlaribeiro4206
    @carlaribeiro4206 2 роки тому +1

    cara muito boa explicação, muito obrigada!

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

  • @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

  • @dougaprendizdeconfeiteiro
    @dougaprendizdeconfeiteiro 2 роки тому

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

  • @carlosfernando6739
    @carlosfernando6739 8 років тому +2

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

  • @bdlgamersbr9713
    @bdlgamersbr9713 4 роки тому +1

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

  • @evertondearaujosilva4766
    @evertondearaujosilva4766 3 роки тому

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

  • @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

  • @theocoelhov
    @theocoelhov 3 роки тому

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

  • @giovannibrancher5996
    @giovannibrancher5996 8 років тому +2

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

  • @ColldMaster
    @ColldMaster 3 роки тому

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

  • @matheusmagalhaes7054
    @matheusmagalhaes7054 3 роки тому

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

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

  • @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!!

  • @silveiratalita
    @silveiratalita 6 років тому +1

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

  • @hicg
    @hicg 3 роки тому +2

    Assistindo novamente em 2021! Excelente Aula!

  • @asmgutinho
    @asmgutinho Рік тому

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

  • @EfraimDays
    @EfraimDays 8 років тому +1

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

  • @razor0wn3d
    @razor0wn3d 4 роки тому

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

  • @monys140
    @monys140 Рік тому

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

  • @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!

  • @ezboy3059
    @ezboy3059 4 роки тому

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

  • @BemnyrBritto
    @BemnyrBritto 11 років тому

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

  • @dksbanex
    @dksbanex 10 років тому

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

  • @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

  • @TheJangashi
    @TheJangashi 6 років тому +3

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

  • @ru.exe.anonymous
    @ru.exe.anonymous 3 роки тому

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

  • @kozmicaos
    @kozmicaos 8 років тому

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

  • @JoséHenriqueMartinsBarretoSilv

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

  • @bacaninhagames8995
    @bacaninhagames8995 Рік тому

    vídeo atemporal, explicação perfeita

  • @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

  • @framered
    @framered 8 років тому

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

  • @Nicolau1997
    @Nicolau1997 11 років тому

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

  • @ThiagoVieira17
    @ThiagoVieira17 Рік тому

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

  • @thiagodev7800
    @thiagodev7800 3 роки тому

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

  • @guilhermedelcistia6256
    @guilhermedelcistia6256 8 років тому

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

  • @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!!!

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

  • @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!

  • @LuisHenriqueChagasLeite
    @LuisHenriqueChagasLeite 10 років тому

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

  • @MatheusRagoso
    @MatheusRagoso 11 років тому

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

  • @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!!!

  • @jonasantunes8865
    @jonasantunes8865 10 років тому

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

  • @heriveltonnunes188
    @heriveltonnunes188 10 років тому

    Caramba!!!! Esse cara explica muito bem.

  • @felyppe6509
    @felyppe6509 Рік тому

    Cara, explicou muito bemmmm! Obrigado!

  • @m.souzamorgana6092
    @m.souzamorgana6092 7 років тому

    Nossaaa Inception total. Ótima explicação!

  • @juliaaa.garcia
    @juliaaa.garcia Рік тому

    moço vc é uma lenda!!!

  • @brenoduraes9165
    @brenoduraes9165 8 років тому +2

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

  • @joaoeduardodasilvabarbosa1391
    @joaoeduardodasilvabarbosa1391 5 років тому +1

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

  • @gabrielpeixoto91
    @gabrielpeixoto91 8 років тому

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

  • @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

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 років тому

    muito obrigado Lucas!

  • @MrMate1212
    @MrMate1212 5 років тому

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

  • @wiltonmartins732
    @wiltonmartins732 6 років тому

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

  • @max.felipe
    @max.felipe 11 років тому

    Explica melhor que meu Professor! :D Vlw cara!

  • @DeAlunoParaAluno
    @DeAlunoParaAluno  11 років тому

    Vlw Filipe

  • @saulodefreitas4031
    @saulodefreitas4031 Рік тому

    Sem palavras 👏

  • @brdsnet
    @brdsnet 9 років тому

    Ajudou muito. Obrigado!

  • @LuizFelipe-zs8yh
    @LuizFelipe-zs8yh 4 роки тому +2

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

  • @LuizHeringerCantor
    @LuizHeringerCantor 10 років тому

    Muito Bom... Parabéns.

  • @joaovitordemelo8209
    @joaovitordemelo8209 6 років тому

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

  • @andersonsoldeira2204
    @andersonsoldeira2204 9 років тому

    EXELENTE aula.

  • @tenma_vr7738
    @tenma_vr7738 Рік тому

    EXPLICAÇÃO MT BOA 👌🤌👍

  • @matheuscavalcantedeoliveir6680
    @matheuscavalcantedeoliveir6680 10 років тому

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

  • @mauro-bueno
    @mauro-bueno 4 роки тому

    Muito boa a explicação.

  • @AdailAntonio
    @AdailAntonio 10 років тому

    Excelente explicação. Parabens.

  • @isabelamarton1940
    @isabelamarton1940 9 років тому

    Fantástico! Ajudou muito!

  • @sergioaraujo4519
    @sergioaraujo4519 8 років тому

    Fiquei a entender. Obrigado!

  • @tecnotubeplus
    @tecnotubeplus 9 років тому

    Parabéns ótima explicação.

  • @juliocabral3749
    @juliocabral3749 6 років тому

    Bastante didático, obrigado!

  • @thaynafagundes4302
    @thaynafagundes4302 8 років тому

    Melhor aula

  • @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

  • @edusantosplus
    @edusantosplus 11 років тому

    Cara que genial :D muito boa a aula!!

  • @kirovalexandre7289
    @kirovalexandre7289 2 роки тому

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

  • @leandroalbuquerque8286
    @leandroalbuquerque8286 11 років тому

    Muito bem explicado!

  • @henriquealves5734
    @henriquealves5734 7 років тому

    Sensacional essa aula

  • @rafaelferraaz
    @rafaelferraaz 10 років тому

    Muito Obrigado !

  • @fernandosousa-criminalista8815
    @fernandosousa-criminalista8815 11 років тому

    Valeu Cara boa explicação !!!

  • @willianpaesdeandrade9312
    @willianpaesdeandrade9312 5 років тому

    Parabéns mano! Me salvou❤❤

  • @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

  • @lucasmuniz4014
    @lucasmuniz4014 11 років тому

    Muito Bom!

  • @Mafia1171
    @Mafia1171 11 років тому

    muito show!!!

  • @Bibipudim_
    @Bibipudim_ 7 років тому

    muito bem explicado, valeu!!