Recursividade - Curso Programação Completo C# - Aula 48

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

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

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

    que professor topado das galáxias, gosto de gente assim; inteligente, engraçado e sério ao mesmo tempo....
    tem o dom do ensinar.

  • @heliomotta7238
    @heliomotta7238 9 หลายเดือนก่อน +1

    Bruno vc é fera!! Muito obrigado pelo ótimo conteúdo.

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

    cfb cursos é muito massa sem ele eu não estaria aqui

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

    rsrsrsrsrs, fui dar uma olhada no curso de c++ adorei: a linguagem de programação do Batman .....( por enquanto vou ver a recomendação do professor sobre recursividade).

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

    didática nota 10!

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

    Em vez ficar multiplicando na calculadora do computador número por número é mais facil mudar o tipo da calculadora. Padrão -> Científica

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

    boa aula

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

    Resultado é o mesmo mas o custo computacional de cálculo pode ser maior na recursão em certos tipos de linguagens.

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

    Obg pelo vídeo ❤️

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

    Obrigado

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

    Vou começar com C# agora, não sou programador mas me lembro de te conhecer quando você começou as videos aulas de C++, na epoca eu estava com 10 anos, que merda que eu não segui estudando hehe, mas ai, tenta profissionalizar mais isso ae, você tem a força de vontade e o conhecimento, investe em um site com alguma mensalidade fixa e paga uns editor de video, assim vai ser mais lucrativo pra você, claro que tem o fator de que muitas pessoas gostam de dar o conhecimento de graça por alguma causa de sua vida e isso é lindo, mas é isso ae, fica dica, você é fera! (Dessa vez nao vou parar, heheh)

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

      @@zdevgamedevbr5923 Parabéns meu jovem, com essa idade já abriu os olhos.

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

      @@zdevgamedevbr5923 Me tira umas dúvidas com C# ;)

    • @Girard_
      @Girard_ 2 หลายเดือนก่อน

      @@okmerendo5175 pode falar, quais são suas duvidas kk

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

    Eu não entedi por que soma os valores em res, pois a multiplicação eu ate entendi que toda vez que chama a funçao ele vai subtraindo e multiplicando, mais o valor de res não seria sobre escrevido todas as vezes que ele é chamado, pois não vi nada que faça ele somar os valores anteriores.

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

    Showwww

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

    Tem algum exemplo de recursividade usando vetor?

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

    quero trabalhar com jogos ! preciso aprender RECURSIVIDADE ?

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

    me adaptando a essa linguagem, programava em basic e clipper a séculos passados.
    using System;
    // recursividade
    class Calc
    {
    public int fatorial(int n)
    {
    int res;
    if (n

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

    Há sei que o for é fácil, mas me perdi em refazer com for com decremento.

  • @Igor-bx4qr
    @Igor-bx4qr 3 ปีที่แล้ว +1

    usando while com apenas 1 variavel
    using System;
    namespace Aula48Recursividade
    {
    class Calc
    {
    public int fat(int n)
    {
    while(n>1)
    {
    return n * fat(--n);
    }
    return 1;
    }
    }
    class Program
    {
    static void Main(string[] args)
    {
    Calc calc = new Calc();
    int fat;
    Console.WriteLine("Digite o numero que deseja calcular o fatorial:");
    fat = int.Parse(Console.ReadLine());
    Console.WriteLine("fatorial de {0} é:{1}",fat,calc.fat(fat));

    }
    }
    }

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

    Não entendi porque a função é chamada várias vezes! No meu entendimento, só deveria chamar uma vez (if n

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

      pois a recursividade funciona como um loop, enquanto nao satisfazer a condição do if, o metodo recursivo será executado em loop, quando chegar no if e bater os valores, cai fora do if e retorna o res no corpo do metodo.
      na primeira volta, n é 5, depois 4, 3, 2 até chegar em 1, que é a condição do if.

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

      Isso é bem chato entender. Talvez você ja tenha entendido hoje, e tenha uma explicação até melhor, mas eu entendo que ele chama de novo a função simplesmente ao dizer no else que "n" recebe a função fat novamente, ao fazer isso, ele funciona como se "hipoteticamente" existisse um goto ali mandando voltar pra função acima, afinal esta chamando ela como parte da resposta.

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

    estranho, pra mim ia retornar 1

    • @Thiago-yj3ot
      @Thiago-yj3ot 2 ปีที่แล้ว +2

      Seria o caso se não caísse no else. Exemplo de quando cai no else para 5!:
      res=5*fat(4) //aqui entra o loop que quando terminado sai do else
      res=5*4*fat(3)
      res=5*4*3*fat(2)
      res=5*4*3*2*fat(1)//nesse ultimo cai no interruptor
      res=5*4*3*2*1
      res=120 //Nesse momento que ele sai do primeiro else e cai no return

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

      @juniorguilherme4198 Estou tentando pensar nisso faz algumas horas, e você talvez ja tenha uma resposta pra isso, melhor que a minha, mas quando ele finalmente chega o valor de "n" valer 1, ele troca apenas a parte final do calculo por 1, ou seja, ele ainda esta fazendo 5*fat4*fat3*fat2*fat1, porém ai no final, quando é fat1 ele troca apenas esse fat1 por 1 e entrega o resultado de tudo. Nós pensamos que o res deveria ser sobrescrito com 1, mas ele esta apenas sobrescrevendo o ultimo n, então fica: 5*fat4*fat3*fat2*1, e ele faz essa conta e passa o resultado no res. Isso acontece porque na primeira vez que passa o comando, res=n*fat(n-1), logo, o motor do c# entende que é para trocar só o n dentro disso que o res recebe, e não todo conteudo de res por 1. É estranho, complicado.

  • @jonho.2112
    @jonho.2112 ปีที่แล้ว

    Nao entendi como que pára o loop em 1... mas tudo bem, pra quem conhece Fortran essa logica é estranha kkk

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

    up

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

    Descobri q só fatora até 31 mais q isso buga kkk

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

      Deve ser pq o valor passa do limite que uma variável tipo int pode receber.

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

      Exatamente oque o OK disse, troque o tipo da variavel que ele vai aceitar outros valores! Troque o int por ulong!