Considere os seguintes programas (Fig 1 e Fig 2) escritos em...
Considere os seguintes programas (Fig 1 e Fig 2) escritos em Java, analise as afirmativas e marque a alternativa correta.
Fig1
import java.util.Scanner; public class Fatorial{ public static int fatorial(int num) { if (num <= 1) { return 1; } else { return fatorial (num - 1) * num; } } public static void main(String[] args) { int numero; Scanner entrada = new Scanner (System.in); System.out.println("Digite o número que você pretende obter o fatorial."); numero = entrada.nextInt(); System.out.println("O fatorial de " + numero + " é " + fatorial(numero) + "."); } } |
Fig2
import java.util.Scanner; public class Fatorial2 { public static void main(String[] args) { int numero; int resultado = 1; Scanner entrada = new Scanner(System.in); System.out.println("Digite o número que você pretende obter o fatorial."); numero = entrada.nextInt(); while (numero>1) { resultado = resultado * numero; numero = numero-1; } System.out.println("O fatorial é "+resultado); } } |
|- Ambos os programas apresentados estão com a sinaxe correta e retornarão o mesmo resultado (fatorial) para qualquer número imputado pelo usuário.
lI- No programa da Fig 1, o programador usou (na linha: “return fatorial(num - 1) * num; “) um método de programação conhecido como passagem de parâmetro.