terça-feira, 20 de julho de 2010

FATORAÇÃO EM DEV C++

Aos alunos de plantão, aqui vai um algoritmo simples de matemática que muitas vezes podem pintar em provinhas básicas de sala de aula.

O código está em DEV C++ e pode ser utilizado livremente.

Trata-se de C++ puro!

#include
int Fatoracao(int i)
{
int x;
int y;
int fatorar;
printf ("Estamos na funcao Fatoracao().\n");
x = i;
y = 1;
fatorar = 1;

if (x == 1 )// se o número for 1, o fatorial é 1
{
fatorar = 1;
goto saida;
}


fatorar =0;
while (y < x)
{

if (y==1) // faz a primeira multiplicação
{
fatorar = fatorar + (x * (x-y));
}

++y;

if (y > 1) // faz as multiplicações subsquentes
{

if ((x-y) > 0 )
{
fatorar = fatorar * (x-y);
}
}

if (y == x) // se atingiu o número, deve finalizar
{
break;
}

} // fim do while
saida:
return (fatorar);
} // Fim de Soma(int, int)



main ()
{
int valor;
int valor2;
int valorencerra;
int z;

printf("Digite o número a fatorar: ");
scanf("%d",&valor);
printf("\n");
if (valor < 0)
{
printf("Valor menor que zero!! %d", valor, "\n");
printf("\n");
printf("Informe um valor qualquer para encerrar...\n");
scanf("%d",&valorencerra);
}
else
{
z = Fatoracao(valor);
printf("\n");
printf("Valor da Fatoracao: %d", z, "\n");
printf("\n");
printf("Digite um valor qualquer para encerrar...\n");
scanf("%d",&valorencerra);
}

}


Considerações: O aplicativo executa somente uma vez e você deve informar um valor para encerrar na sequência. Para refinar o algoritimo, sugiro que seja acrescentado um loop while que execute até que o usuário informe o número 0 para encerrar o aplicativo.

Sorte a todos!!

2 comentários:

Unknown disse...

não funciona seu código

Unknown disse...


Olá, Lulu!

Realmente o código-fonte está errado e como disse no post o mesmo precisa ser refinado

UM APLICATIVO PARA LEITURA DEVOCIONAL ANUAL DA BIBLIA EM ANDROID

Olá, pessoal!  Este novo projeto foi criado em Visual Studio 2019 em C#.Net com o Xamarin. Já está disponível no Google Play para vocês baix...