Fungdes
té agora, trabalhamos principalmente com estruturas de dados
simples, 0 uso de loops e adquirimos mais conhecimento sobre
maaan Strings. Agora iremos avancar em nossos conhecimentos sobre o
uso de funges para tornar nosso cédigo mais organizado, legivel e
reutilizavel.
Fungées
Fungdes em JavaScript sdo blocos de cédigo executavel, nos quais podemos
passar parametros e trabalhar com eles. Elas nos auxiliam na modularizagao
dos nossos programas e na estruturago em blocos que executam tarefas
especificas. Dessa forma, nosso cédigo se torna mais legivel e sustentavel.
Em outras palavras, as fun¢des séo componentes fundamentais na linguagem
JavaScript.
Uma fungao é um procedimento em JavaScript, que consiste em um conjunto
de instrug6es para executar uma tarefa ou calcular um valor. Para utilizar uma
fungao, é necessdrio defini-la em algum lugar do escopo onde ela sera
chamada. Normalmente, as fungées retornam um valor ao final da execugao,
que pode ser obtido utilizando a palavra reservada ‘return’ Elas sao
declaradas com a palavra-chave ‘function’ e, geralmente, possuem um nome
para que possam ser invocadas posteriormente. Caso néo possuam um
nome, so chamadas de f X plo de uma
Préxima aule
fungao: ClassesFonte: Autoral
Vocé pode escrever esse bloco de cédigo repetidamente sempre que
precisar, ou vocé poderia escrevé-lo uma vez usando uma fun¢ao,
nomeando-a como ‘Multiplicar’ e passando os dois parametros ‘a’ e ‘b; como
fizemos acima. Apés isso, este sera o nico cédigo que vocé precisara
chamar para executar todo o bloco.
A fung3o mencionada tem o objetivo de calcular a multiplicagdo entre dois
numeros. Perceba que podemos realizar esse calculo varias vezes quando
precisamos multiplicar dois numeros.
Para executar uma funcdo, basta seguir estes passos:
x = Multiplicar(4
console.log(x
Fonte: Autoral
A definigao da fungao (também chamada de declaracao de fun¢ao) consiste
no uso da palavra-chave ‘function, seguida por:
@ Nome da Fungo.
@ Lista de argumentos para a fungao, entre parénteses e separados por
virgulas.
@ Declaragées JavaScri —prsxima ule x th
Classes
Como vimos, uma das c pdes é que
podemos passar dados para dentro delas. Se vocé colocar alguns dadosentre os parénteses, poderd passar esses dados para a funcéo, aue os
utilizara quando for executada. ®
Agora, preenchemos os parénteses tanto na chamada da fungdo quanto na
sua defini¢do. Os parénteses na chamada da fungdo contém um argumento.
No exemplo, 0 argumento é 0 ‘4’ e o ‘3! E, como pode ser visto no exemplo
acima, os parénteses da fungao agora contém as duas varidveis ‘a’ e ‘b; que
podem ser utilizadas dentro da fungdo.
O valor passado para uma fungdo é utilizado no corpo da fungao para realizar
alguma acgdo. Podemos usar o valor para especificar a mensagem de alerta
ou realizar alguma operagao dentro da fun¢do. No nosso caso, simplesmente
realizamos 0 calculo e retornamos o resultado utilizando a palavra-chave
‘return: Em seguida, o valor é atribuido a variavel ‘x: Essa variavel sera exibida
no console quando utilizarmos ‘console.log(x):
A declaragao de fungéio nao é a unica maneira de definir uma nova fungdo;
vocé pode definir sua fungo dinamicamente usando o construtor Function()
junto com o novo operador.
A seguir esta a sintaxe para criar uma fungao usando 0 construtor Function ()
junto com o novo operador:
var variablename = new Function (Argi, Arg2 ..., “corpo da fun¢3o");
Fonte: Autoral
O construtor Function() espera qualquer ntimero de argumentos de string. 0
Ultimo argumento 6 0 corpo da fungdo - este pode conter instrugdes
JavaScript arbitrdrias, sepai x jula.
Proxima auls
2 Clas
E importante observar qu sees be nenhum
argumento que especifique um nome para a fungao criada.ae Function
calculo(){
resultado = func
Peer eerie)
calculo();
Fonte: Autoral
Contetido B6nus
As fungdes podem ter outras fungdes dentro delas, o que cria novos escopos
para as variaveis definidas dentro de cada uma. E, para acessar as fungdes
internas de fora, é necessario invocd-las usando o operador de duplo
paréntese ()(). Vamos analisar um exemplo:
Proxima aule
Classesvar a= ¢
function global
var b= :
function local() {
var c= p
return a + b +c;
=
ty
return local;
console. log(global());
console. log(global()());
var testeFuncao = global
console. log(testeFuncao( )
Fonte: Autoral
O resultado ficaria assim:
Proxima aule
Classes[Function: local®
OMe Feo aa a
01 JAVASCRIPT
Fonte: Autoral
Referéncia Bibliografica
FLANAGAN, David. JavaScript: O Guia Definitivo. 6? Ed. Porto Alegre:
Bookman, 2013.
FREEMAN, Eric. Use a cabegal!: programagao JavaScript. 1° Ed. Séo Paulo:
Alta Books, 2016.
Titulo da Pratica: Como trabalhar com Fungdes?
Objetivos: Compreender 0 uso e os tipos de fungdes
Materiais, Métodos e Ferramentas: Para realizar esta pratica vamos utilizar 0
Visual Studio Code
x
Proxima aule
Classes
PraticaBem-vindo ao programa de cdlculo de média ponderada! Neste exercicio,
vocé sera responsdvel por criar um script em Node.js para calcular ® édia
ponderada de um aluno, com base em trés notas fornecidas pelo usuario. A
média ponderada é uma forma de calcular a média levando em consideragao
pesos diferentes para cada nota.
Vocé precisara utilizar a biblioteca readline-sync para permitir a interacdo
com o usuario através do console. O programa solicitaré que o usuario
informe as trés notas do aluno e, em seguida, calculard a média ponderada
dessas notas, utilizando os seguintes pesos: 2, 3 e 5, respectivamente.
Apés realizar os célculos, o programa exibiré a nota da média ponderada no
console. Lembre-se de que a média ponderada é uma medida importante
para avaliar o desempenho dos alunos, uma vez que determinadas disciplinas
ou avaliagdes podem ter maior peso na nota final.
Vamos 14! Mdos & obra para criar um script eficiente em Nodejs que ird
calcular a média ponderada do aluno com base nas notas fornecidas. Boa
sorte!
Resolucdo
Aqui esta um exemplo de script em Node,js que utiliza a biblioteca readline-
sync para ler as notas do usuario, calcular a média ponderada e exibir a nota
média no console:
Proxima aule
Classes“javascript
const readline = require(‘readline-sync’); ®
function calcularMediaPonderada(notas) {
const pesos = [2, 3, 5]; // Pesos das notas (exemplo: 2, 3 e
5)
let somaPesos = 0;
let somaNotas = 0;
for (let i = 0; i < notas.length; i++) {
somaPesos += pesos[i];
Proxima aule
ClassessomaNotas += notas[i] * pesos[i];
} ®
const media = somaNotas / somaPesos;
return media;
}
function lerNotas() {
const notas = [];
for (let i = 0; i < 3; i++) {
const nota = parseFloat(readline.question(‘Digite a nota
${i + 1}: °));
notas.push(nota);
}
Proxima aule
Classesreturn notas;
} ®
function main() {
console.log('Calculadora de Média Ponderada\n’);
const notas = lerNotas();
const media = calcularMediaPonderada(notas);
console.log(\nA média ponderada do _ aluno
${media.toFixed(2)});
Neste exemplo, o usuario serd solicitado a digitar as trés notas do aluno, e a
média ponderada sera calculada usando os pesos 2, 3 e 5 para as notas
respectivamente. Por fim, o resultado sera exibido no console.
Certifique-se de ter a biblioteca readline-sync instalada. Para instald-la,
vocé pode executar 0 seguinte comando no terminal:
npm install readline-s x
Proxima aule
ClassesEspero que isso possa te ajudar!
Ir para exercicio
Proxima aule
Classes