Sie sind auf Seite 1von 4

VB - Calculando Combinaes, Permutaes e Fatorial de um nmero

Hoje vamos falar sobre Permutaes, Combinaes e Fatorial. Se voc no fugiu da escola, deve lembrar das aulas de matemtica quando algum dia algum tentou lhe ensinar a calcular permutaes. Vamos ento comear lembrando a teoria iniciando com o conceito sobre arranjos...

Arranjos
Arranjos so agrupamentos nos quais a ordem dos elementos faz diferena. Por exemplo, os nmeros de trs algarismos formados pelos elementos {1,2 e 3} so:

312, 321, 132, 123, 213, 231


Esse agrupamento um arranjo, pois a ordem dos elementos 1, 2 e 3 diferente; considerado arranjo simples, pois os elementos no se repetem. Para que tenhamos arranjos simples preciso ter um conjunto de elementos distintos com uma quantidade qualquer de elementos, sendo que os arranjos simples formados iro possuir n elementos, e essa quantidade ser igual ou menor que a quantidade de elementos do conjunto.

Permutao
O conceito de permutao expressa a idia de que objetos distintos podem ser arranjados em inmeras ordens distintas. Assim seja um conjunto A com n elementos, chamamos de permutao a todo arranjo com n elementos retirados de A. A cada um dos agrupamentos que podemos formar com certo nmero de elementos distintos, tal que a diferena entre um agrupamento e outro se d apenas pela mudana de posio entre seus elementos, damos o nome de permutao simples. Exemplos: 1) Seja A um conjunto com os elementos {a, b, c}. As permutaes possveis de A so: {(a,b,c);(a,c,b);(b,a,c);(b,c,a);(c,a,b);(c,b,a)}. Total

de 6 permutaes.
2) Quantos anagramas possui a palavra OBA ? As permutaes da palavra so: {(OBA;(OAB);(BAO);(BOA);(ABO);(AOB)}. Total de 6

permutaes.
Assim para obter o nmero de permutaes com m elementos distintos de um conjunto, basta escolher os m elementos em uma determinada ordem.

O nmero de permutaes de m elementos ser expresso por : P(m) A expresso para seu clculo ser dada por:

P(m) = m(m-1)(m-2)...(m-p+1)...3.2.1
Podemos tambm escrever :

A(m,m) = P(m)

O Arranjo de m elementos dos quais m elementos participam igual a Permutao destes elementos.
Uma forma simplificada de expressar a permutao de m elementos atravs do fatorial: P(m) =

m!
Este smbolo de exclamao posto junto ao nmero m lido como o fatorial de m, onde m um nmero natural. O fatorial de um nmero inteiro no negativo pode ser definido de uma forma recursiva atravs da funo P=P(m) ou com o uso do sinal de exclamao:

(m+1)! = (m+1).m!

Ex: 3! = 3.2.1! => que a mesma coisa que : 3.2.1 = 6

Nota : Lembrando que : 0! = 1 (o fatorial de zero igual a 1) e que 1! = 1 ( o fatorial de 1 igual a 1)

Combinao
Uma combinao sem repetio, em anlise combinatria, indica quantas variedades de subconjuntos diferentes com n elementos existem em um conjunto U , com r elementos. S usada quando no h repetio de membros dentro do conjunto. Na combinao simples, a ordem dos elementos no agrupamento no interfere. So arranjos que se diferenciam somente pela natureza de seus elementos. Portanto, se temos um conjunto A formado por n elementos tomados p a p, qualquer subconjunto de A formado por p elementos ser uma combinao, dada pela seguinte expresso:

(fonte: Brasil Escola)

Fatorial
Na matemtica, o fatorial (AO 1945: factorial) de um nmero natural n, representado por n!, o produto de todos os inteiros positivos menores ou iguais a n. A notao n! foi introduzida por Christian Kramp em 1808.(Wikipdia) Considerando n um nmero natural maior que 1 (um), podemos definir como fatorial desse nmero n (n!) o nmero:

n! = n(n 1)(n 2)(n 3) * ...* 3 * 2 * 1


L-se n! como n fatorial ou fatorial de n. Veja alguns exemplos de clculos de fatorial de um nmero :

5! = 5 * 4 * 3 * 2 * 1 = 120 8! = 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 40320 6! = 6 * 5 * 4 * 3 * 2 * 1 = 720 10! = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 3.628.800


Com isso creio que j deu para recordar o bsico sobre Arranjo, Permutao, Combinao e Fatorial. Vamos ento ao que realmente interessa... Como podemos fazer para implementar esses clculos no Visual Basic ?

Fazendo Clculos com o Visual Basic

A seguir temos um singelo programa feito na linguagem Visual Basic que permite calcular permutaes, combinaes e o fatorial de um nmero dado:

O clculo no esta otimizado e existe um valor mximo acima do qual poder ocorrer um erro de overflow, mas voc pode aperfeioar o algoritmo tornando-o mais rpido e calculando valores maiores. Pegue os projetos completos aqui : Eu sei apenas VB mas eu gosto... Referncias:

CombinacaoVB.zip

VB .NET - Funes Financeiras VB .NET - Programas para matemtica Calculadora financeira usando VBA VB - Avaliando expresses matemticas VB - Operaes com Matrizes VB .NET - Nmeros Primos (Eratosthenes) Resoluo de equaes lineares Funes Matemticas VB .NET - Nmeros de Fibonacci VB .NET Calculadora VB - Calculadora Cientfica VB - Uma calculadora simples para voc usar. - Macoratti.net Seo Visual Basic do site SUPER CD VISUAL BASIC - Cdigos Fontes, Apostilas, Livros , mais de 100 programas com cdigo fonte aberto Super DVD .NET - A sua porta de entrada na plataforma .NET Super DVD Vdeo Aulas - Vdeo Aula sobre VB .NET, ASP .NET e C# http://www.macoratti.net/11/08/vb_comb1.htm