Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] Função e parâmetros

Estou um pouco confusa com relação ao uso de parâmetros na função.

Quando usar e quando não usar? Uma mesma função pode ser escrita com e sem parâmetros?

4 respostas

Olá, tudo bem? A necessidade de utilizar parâmetros ou não dependerá do que a função precisará de elementos externos para gerar seu resultado.

Vamos supor que você esteja desenvolvendo um programa, como uma calculadora, e precise de dois números (número 1 e número 2) para realizar os cálculos. Se você optar por criar funções para realizar esses cálculos, poderia criar duas variáveis em cada função para armazenar os números, como no exemplo abaixo:

function soma() {
 const num1 = 10
 const num2 = 10

 return num1 + num2
} 

No exemplo acima, se quisermos criar outra função, como subtrair, por exemplo, teríamos que criar mais duas constantes (num1 e num2) também na nova função, o que tornaria o código verboso e com muitas repetições. Nesse caso, utilizamos parâmetros na função abaixo:

function soma(num1, num2) {
 return num1 + num2
} 

No exemplo acima, a função torna-se dinâmica, pois recebe valores nos parâmetros (num1 e num2) que são criados fora da função. Com isso, não há necessidade de repetir os valores. Nesse caso, você pode chamar a função de onde quiser, passando os valores desejados, e obterá o resultado final.

Um exemplo com a função acima seria mais ou menos assim

const num1 = 10
const num2 = 10


function soma(num1, num2) {
 return num1 + num2
} 

function multiplicar(num1, num2) {
 return num1 * num2
} 

O exemploa cima mostra como seria a reutilização dos valores...

Espero que tenha ajudado

Então esses parâmetros são variáveis declaradas anteriormente, que podem ser utilizadas por qualquer função se eu colocar na parte de parâmetros () da função que eu quero usar aquela variável?

Aí eu uso o return apenas com a equação que será utilizada naquela função?

Vou responder por partes...

"Então, esses parâmetros são variáveis declaradas anteriormente."

R: Não exatamente... Os parâmetros podem ser valores de variáveis, mas também resultados de funções ou até mesmo funções, objetos, ou qualquer coisa que precise ser manipulada dentro da função que você criou. Uma observação rápida: os nomes dos parâmetros não precisam ser os mesmos das variáveis que estão fora, pois são coisas distintas. O uso do mesmo nome é mais uma questão de boas práticas e organização. Poderia ser, por exemplo, "n1" em vez de "num1", e ainda funcionaria normalmente. O parâmetro é como se você estivesse informando à sua função que ali será inserido um valor para ser manipulado dentro da função, como pode ser visto na chamada da função:

soma(10, 10); // Onde 10 e 10 são os valores atribuídos a num1 e num2 na função

Aí eu uso o return apenas com a equação que será utilizada naquela função?

R: O return é utilizado para retornar o valor desejado, seja ele um número, uma string, um objeto, etc. Lembrando que o return encerra a execução da função naquele ponto e retorna o valor especificado. Nos exemplos mencionados, está retornando a soma e a multiplicação, mas poderia ser qualquer outra coisa conforme a necessidade:

solução!

Roberta, para ficar mais fácil.

A forma com que o exercício foi proposto, acaba gerando um código redundante.

Pq acredito que a maneira correta seria:

let nota1 = 7;
let nota2 = 6;
let nota3 = 3;
let nota4 = 5;

function calcularMedia() {
  let media = (nota1 + nota2 + nota3 + nota4) / 4;
  return media;
}

function verificarAprovacao(media) {
  return media >= 5 ? "Aprovado" : "Reprovado";
}

let resultado = calcularMedia();

console.log(verificarAprovacao(resultado));

Ou então,

function calcularMedia(nota1, nota2, nota3, nota4) {
  let media = (nota1 + nota2 + nota3 + nota4) / 4;
  return media;
}

function verificarAprovacao(media) {
  return media >= 5 ? "Aprovado" : "Reprovado";
}

let resultado = calcularMedia(7, 6, 3, 5);

console.log(verificarAprovacao(resultado));

Tipo, se declarar como variável let, não precisa colocar como parâmetro, ai basta chamar a função sem utilizar parâmetro.

Mas se quiser colocar nota1, 2, etc como parâmetro, não precisa declarar com let, basta colocar os valores quando for chamar a função.