Conteúdo do Curso
Noções Básicas de C#
Noções Básicas de C#
2. Lidando com Tipos de Dados
Tipos de Dados InteirosDeclarando Variáveis com Tipos ExplícitosPonto Flutuante e DoubleBooleanosCaractereStringDesafio de StringsFormatação Básica de StringsPrática de Formatação de StringsDeclarando ConstantesConversão de Tipos BásicaPrática de Conversão de TiposConversão Básica de TiposPrática Básica de Codificação
Praticando Método com Parâmetros
Neste desafio, você precisa criar um novo método chamado factorial
, que terá um parâmetro chamado n
do tipo int
. Ele deve calcular o fatorial do valor passado n
e exibir o resultado.
O esboço do programa é fornecido, preencha os detalhes ausentes para completar o programa:
main
using System; namespace ConsoleApp { internal class Program { static void factorial(___) { if(n == 0) { Console.WriteLine(___); } else if (n > 0) { int result = 1; for (int i = 2; i <= ___; i++) { ___ } Console.WriteLine(___); } else { Console.WriteLine(___); } } static void Main(string[] args) { factorial(-1); factorial(0); factorial(5); } } }
- Fizemos um exercício relacionado ao fatorial em uma das seções anteriores, mas para recapitular, o fatorial de um número é o produto de todos os números até aquele número.
Por exemplo, o fatorial de 5
é 1 x 2 x 3 x 4 x 5
, que é 120
, da mesma forma, o fatorial de 4
é 24
. Existem duas regras adicionais:- O fatorial de 0
é 1
;
- O fatorial de um número negativo é
undefined
, então deve exibirundefined
;2. Para resolver a tarefa, siga os seguintes passos:- Preencha o espaço em branco para o métodofactorial
com a definição de parâmetro apropriada. Ele espera um inteiro. Descubra qual deve ser o nome do parâmetro lendo o código interno do método; - Se o argumento passado for
0
, ele deve mostrar uma saída fixa que é mencionada nas dicas; - O loop deve continuar até (incluindo o número) o inteiro passado. A variável
result
deve ser atualizada com o produto de si mesma com a variável do loop. Em resumo:result *= i
; - Se o número de entrada for negativo (inválido), ele deve exibir "indefinido".
main
using System; namespace ConsoleApp { internal class Program { static void factorial(int n) { if(n == 0) { Console.WriteLine(1); } else if (n > 0) { int result = 1; for (int i = 2; i <= n; i++) { result *= i; } Console.WriteLine(result); } else { Console.WriteLine("undefined"); } } static void Main(string[] args) { factorial(-1); factorial(0); factorial(5); } } }
Tudo estava claro?
Obrigado pelo seu feedback!
Seção 6. Capítulo 5