Olá pessoal,
Estava aqui pensando e me recordei de um episódio um tanto quando inusitado que aconteceu enquanto eu estava na escola..
Foi bastante tempo atrás, e eu recebi uma prova onde deveria calcular o fatorial de alguns números...
Em meu celular sempre tive um programa onde posso digitar HTML, CSS e Javascript e interpretar ele pelo celular mesmo..
Como eu não podia perder tempo naquelas contas na prova eu resolvi usar meu aplicativo e criei uma função que calculava os fatoriais para mim..
E hoje resolvi compartilhar com a galera, não só esse código, vou postar outros em breve também...
Tutorial
Antes de se fazer qualquer lógica antes é preciso entender como funciona para se calcular o fatorial de algum número, resumindo tudo para vocês seria o seguinte, você pega um número por exemplo o 10, e multiplica ele 10 vezes sempre acrescentando +1 ao cálculo, por exemplo:
10! (10 fatorial) = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1
Se você jogarem isso no console ou mesmo fazer a conta na calculadora vão obter: 3628800
Mas e se o número for muito grande? Vamos ter que digitar 1 por 1?
É ai que entra a malandragem [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Vamos usar a função
Mas para o nosso caso, qual condição precisamos verificar se é verdadeira ou não?
Bom, no caso precisamos criar uma variável e atribuir um valor fixo a ela, geralmente se começa em 0, mas como ja sabemos o valor de 0, vou começar pelo 1
Vamos aproveitar que ja estamos nas variáveis e criar outra variável para ser incrementada junto com a variável
Agora temos um valor para incrementar, e o fatorial para multiplicar..
Agora para finalizar as variáveis, precisamos de um número que será o que vamos calcular, vamos usar o mesmo exemplo passado no inicio, será o 10
Bom agora vamos definir nosso
Como vamos incrementar nossa variável
O que falamos para o Javascript no código acima é,
"Por favor Javascript, enquanto a variável
Ta mas, faça o que? Precisamos passar uma lógica ao nosso laço, vamos lá:
Essa é a lógica para calcular nosso fatorial, veja a cada vez que o
Ta e agora?
Bom, como todo valor que é retornado a nós, precisamos mostrar isso em algum lugar certo? Vou usar um
Tecnicamente nossa calcular ja funciona, mas vamos melhorar ela mais ainda?
O que pode ser melhorado?
Bom, vamos começar por esse 10, eu não quero que ele sejá constante, não quero que ele seja fixo, ou seja vamos deixar o usuário inserir esse valor para nós! Como é apenas um código para demonstrar o efeito, vamos usar um
Pronto, agora nosso usuário ja pode digitar o número que ele deseja calcular o fatorial, agora só para melhorar um pouquinho vou mudar o texto de nosso
Show de bola né galera? Viram como em poucas linhas de código conseguimos calcular funções bem avançadas? É por isso que existem os computadores, nós podemos fazer eles pensarem por nós, e não precisamos ficar quebrando a cabeça [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Isso mostra que programação pode te ajudar até mesmo na escola [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Lembrando, eu não te ensinei isso, ok? rs [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Abraços, e até breve...
Estava aqui pensando e me recordei de um episódio um tanto quando inusitado que aconteceu enquanto eu estava na escola..
Foi bastante tempo atrás, e eu recebi uma prova onde deveria calcular o fatorial de alguns números...
Em meu celular sempre tive um programa onde posso digitar HTML, CSS e Javascript e interpretar ele pelo celular mesmo..
Como eu não podia perder tempo naquelas contas na prova eu resolvi usar meu aplicativo e criei uma função que calculava os fatoriais para mim..
E hoje resolvi compartilhar com a galera, não só esse código, vou postar outros em breve também...
Tutorial
Antes de se fazer qualquer lógica antes é preciso entender como funciona para se calcular o fatorial de algum número, resumindo tudo para vocês seria o seguinte, você pega um número por exemplo o 10, e multiplica ele 10 vezes sempre acrescentando +1 ao cálculo, por exemplo:
10! (10 fatorial) = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1
Se você jogarem isso no console ou mesmo fazer a conta na calculadora vão obter: 3628800
Mas e se o número for muito grande? Vamos ter que digitar 1 por 1?
É ai que entra a malandragem [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Vamos usar a função
whilepara fazer o efeito, while significa enquanto, ou seja, enquanto uma condição for verdadeira, por favor, execute algo para mim:
- Código:
while( /* essa condição é verdadeira? */ ){
//então executa essa código para mim, por favor
}
Mas para o nosso caso, qual condição precisamos verificar se é verdadeira ou não?
Bom, no caso precisamos criar uma variável e atribuir um valor fixo a ela, geralmente se começa em 0, mas como ja sabemos o valor de 0, vou começar pelo 1
- Código:
var i = 1;
Vamos aproveitar que ja estamos nas variáveis e criar outra variável para ser incrementada junto com a variável
i
- Código:
var i = 1,
fat = 1;
Agora temos um valor para incrementar, e o fatorial para multiplicar..
Agora para finalizar as variáveis, precisamos de um número que será o que vamos calcular, vamos usar o mesmo exemplo passado no inicio, será o 10
- Código:
var i = 1,
fat = 1,
n = 10;
Bom agora vamos definir nosso
while
Como vamos incrementar nossa variável
ide 1 em 1, vamos usar ela para verificar se o nosso loop ja chegou ao 10 para evitar um loop infinito:
- Código:
var i = 1,
fat = 1,
n = 10;
while( i <= n ){
//por favor Javascript, faça isso para mim...
}
O que falamos para o Javascript no código acima é,
"Por favor Javascript, enquanto a variável
ifor menor ou igual a variável
n, faça algo para mim.."
Ta mas, faça o que? Precisamos passar uma lógica ao nosso laço, vamos lá:
- Código:
var i = 1,
fat = 1,
n = 10;
while( i <= n ){
var fat = fat * i;
i += 1;
}
Essa é a lógica para calcular nosso fatorial, veja a cada vez que o
whilepercorre o loop nós multiplicamos o fatorial pela variável
ie então adicionamos +1 ao
ipara que na próxima vez que ele percorrer o loop ele seja incrementado..
Ta e agora?
Bom, como todo valor que é retornado a nós, precisamos mostrar isso em algum lugar certo? Vou usar um
alertcomo exemplo..
- Código:
var i = 1,
fat = 1,
n = 10;
while( i <= n ){
var fat = fat * i;
i += 1;
}
alert(fat);
Tecnicamente nossa calcular ja funciona, mas vamos melhorar ela mais ainda?
O que pode ser melhorado?
Bom, vamos começar por esse 10, eu não quero que ele sejá constante, não quero que ele seja fixo, ou seja vamos deixar o usuário inserir esse valor para nós! Como é apenas um código para demonstrar o efeito, vamos usar um
prompt
- Código:
var i = 1,
fat = 1,
n = prompt('Por favor, digite o número que deseja calcular o fatorial:');
while( i <= n ){
var fat = fat * i;
i += 1;
}
alert(fat);
Pronto, agora nosso usuário ja pode digitar o número que ele deseja calcular o fatorial, agora só para melhorar um pouquinho vou mudar o texto de nosso
alert
- Código:
var i = 1,
fat = 1,
n = prompt('Por favor, digite o número que deseja calcular o fatorial:');
while( i <= n ){
var fat = fat * i;
i += 1;
}
alert('O fatorial de ' + n + ' é ' + fat);
Show de bola né galera? Viram como em poucas linhas de código conseguimos calcular funções bem avançadas? É por isso que existem os computadores, nós podemos fazer eles pensarem por nós, e não precisamos ficar quebrando a cabeça [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Isso mostra que programação pode te ajudar até mesmo na escola [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Lembrando, eu não te ensinei isso, ok? rs [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Abraços, e até breve...
Última edição por waghcwb em Sex 4 Jul 2014 - 19:23, editado 1 vez(es)