A tabela a seguir contém os fatoriais de 0 a 12: Considerando a tabela ao lado e as regras descritas acima, desenvolva o algoritmo conforme regras descritas abaixo: A: Deverá ser solicitado ao usuário para que informe um número inteiro qualquer; B: Caso o valor informado seja negativo, o fatorial não deverá ser calcula, sendo exibida ao usuário a mensagem “Não há fatorial para valores negativos!”; C: Caso seja informado um valor maior do que o maior valor contido na coluna n da tabela 01, o algoritmo deverá informar ao usuário que o fatorial de tal número não pode ser calcula pelo programa, uma vez que o cálculo resulta em um valor muito elevado; D: O valor do fatorial deverá ser mostrado após ser mostrada a descrição de todos os elementos da sequência. Ex.: Cálculo de fatorial 5! = 5 X 4 X 3 X 2 X 1 = 120 E: Resultados esperados: a) 0! = 1 (valor 0,25) b) 1! = 1 (valor 0,25) c) Cálculo de fatorial 5! = 5 X 4 X 3 X 2 X 1 = 120 (valor 1,00) d) Não há fatorial para valores negativos! (valor 0,25) e) O programa não pode resolver o fatorial para o número informado! (valor 0,25)
A tabela a seguir contém os fatoriais de 0 a 12: Considerando a tabela ao lado e as regras descritas acima, desenvolva o algoritmo conforme regras descritas abaixo: A: Deverá ser solicitado ao usuário para que informe um número inteiro qualquer; B: Caso o valor informado seja negativo, o fatorial não deverá ser calcula, sendo exibida ao usuário a mensagem “Não há fatorial para valores negativos!”; C: Caso seja informado um valor maior do que o maior valor contido na coluna n da tabela 01, o algoritmo deverá informar ao usuário que o fatorial de tal número não pode ser calcula pelo programa, uma vez que o cálculo resulta em um valor muito elevado; D: O valor do fatorial deverá ser mostrado após ser mostrada a descrição de todos os elementos da sequência. Ex.: Cálculo de fatorial 5! = 5 X 4 X 3 X 2 X 1 = 120 E: Resultados esperados: a) 0! = 1 (valor 0,25) b) 1! = 1 (valor 0,25) c) Cálculo de fatorial 5! = 5 X 4 X 3 X 2 X 1 = 120 (valor 1,00) d) Não há fatorial para valores negativos! (valor 0,25) e) O programa não pode resolver o fatorial para o número informado! (valor 0,25) Essa é a pergunta que vamos responder e mostrar uma maneira simples de se lembrar dessa informação. Portanto, é essencial você conferir a matéria completamente.
A tabela a seguir contém os fatoriais de 0 a 12: Considerando a tabela ao lado e as regras descritas acima, desenvolva o algoritmo conforme regras descritas abaixo: A: Deverá ser solicitado ao usuário para que informe um número inteiro qualquer; B: Caso o valor informado seja negativo, o fatorial não deverá ser calcula, sendo exibida ao usuário a mensagem “Não há fatorial para valores negativos!”; C: Caso seja informado um valor maior do que o maior valor contido na coluna n da tabela 01, o algoritmo deverá informar ao usuário que o fatorial de tal número não pode ser calcula pelo programa, uma vez que o cálculo resulta em um valor muito elevado; D: O valor do fatorial deverá ser mostrado após ser mostrada a descrição de todos os elementos da sequência. Ex.: Cálculo de fatorial 5! = 5 X 4 X 3 X 2 X 1 = 120 E: Resultados esperados: a) 0! = 1 (valor 0,25) b) 1! = 1 (valor 0,25) c) Cálculo de fatorial 5! = 5 X 4 X 3 X 2 X 1 = 120 (valor 1,00) d) Não há fatorial para valores negativos! (valor 0,25) e) O programa não pode resolver o fatorial para o número informado! (valor 0,25)
Olá, você não disse qual sintaxe utiliza, então pode ser que tenha que alterar a resposta conforme o que viu em sala. Por exemplo, alguns autores usam IMPRIMA ao invés de ESCREVA, ou então usam { e } ao invés de INÍCIO e FIM, etc. Coloquei “.” no início das linhas para simular a identação e ficar mais fácil de entender. INICIO ..INTEIRO n,i,resultado; ..ESCREVA(“Digite um numero inteiro: “); ..LEIA(n); ..SE n<0 ENTÃO ….ESCREVA(“Não há fatorial para numeros negativos!”); ..SENÃO SE n>12 ENTÃO ……….ESCREVA(“O programa não pode resolver o fatorial para o numero informado!”); ……..SENÃO SE n<2 ENTÃO …………….ESCREVA(n,”! = “); …………..SENÃO …………….ESCREVA(“Calculo de fatorial “,n,”! = “); …………….resultado = 1; …………….PARA i DE n ATÉ 2 FAÇA ………………resultado = resultado * i; ………………ESCREVA(i,” X “); …………….FIMPARA …………….SE n>1 ENTÃO ESCREVA (1,” = “); …………….ESCREVA(resultado); …………..FIMSENÃO FIM Para testar o algoritmo, usei o código C: void main() { int n,i,resultado; //printf(“Digite um numero inteiro: “); //scanf(“%d”,&n); n = 5; if (n<0) printf(“Não há fatorial para numeros negativos!”); else if (n>12) printf(“O programa não pode resolver o fatorial para o numero informado!”); else{ if (n<2) printf(“%d! = “,n); else printf(“Calculo de fatorial %d! = “,n); resultado = 1; for (i=n;i>=2;i–){ resultado = resultado * i; printf(“%d X “,i); } if (n>1) printf(“1 = “); printf(“%d”,resultado); } } no qual substituí o LEIA por uma atribuição direta pois usei o compilador online codepad.org. Para testar os diversos valores de n fui substituindo o comando n=5 por, por ex, n=-1, n=0, n=12, etc. Explicando melhor: você pode entrar na página codepad.org e colar o código acima (com a opção da linguagem C marcada). Aí clica em Submit e o site executa o seu código. Só não funcionam comandos de entrada, como scanf (ou seja: LEIA). Obs: resolvi o exercício conforme solicitado, entretanto uma solução mais “elegante” seria utilizar uma função recursiva para o fatorial. Caso o tópico de estudo sejam funções recursivas, por favor escreva outra pergunta deixando isso claro!