Fala ai Pedro, tudo bem?
Então, para entendermos bem esse código devemos entender como funciona um fatorial. O fatorial é uma operação matemática usada no estudo de análise combinatória. Um fatorial é representado por um número seguido de um simbolo de exclamação (!), como exemplo: Quando usamos 5! estamos dizendo que queremos usar o fatorial de 5.
A ideia de um fatorial é a multiplicação do número informado por todos os seus antecessores maiores que zero (basicamente a multiplicação de 1 até o número informado). Seguindo o exemplo acima:
5! = 1 * 2 * 3 * 4 * 5
Ou seja, no código informado criamos a variável fatorial com o valor 1. E fazemos um loop que faz nossa variável i que faz ele ter o valor de 2 até o número informado. Além disso, no nosso loop nos multiplicamos nossa variável fatorial com a variável i.
Seguindo essa ideia, vamos passar o valor 5 como parâmetro da sua função (como valor para numero) e fazer um teste de mesa:
- Na primeira repetição do loop vai ser
1 * 2
; - Na segunda
2 * 3
, onde 2 é o valor de 1 * 2; - Na terceira
6 * 4
, onde 6 é o valor de 1 * 2 * 3; - Na quarta
24 * 5
, onde 24 é o valor de 1 * 2 * 3 * 4; - Após isso, chegou até o valor 5 e temos o resultado: 120. Logo:
5! = 120
.
Espero ter te ajudado, qualquer dúvida é só avisar aqui no fórum.