You are on page 1of 11
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: Classes Fonte: 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 dados entre 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 Classes var 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 Pratica Bem-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 Classes somaNotas += 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 Classes return 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 Classes Espero que isso possa te ajudar! Ir para exercicio Proxima aule Classes

You might also like