4.8 KiB
Diversão com Funções
Instruções
Neste exercício, vais praticar a criação de diferentes tipos de funções para reforçar os conceitos que aprendeste sobre funções em JavaScript, parâmetros, valores predefinidos e instruções return.
Cria um ficheiro JavaScript chamado functions-practice.js e implementa as seguintes funções:
Parte 1: Funções Básicas
-
Cria uma função chamada
sayHelloque não recebe quaisquer parâmetros e apenas imprime "Hello!" na consola. -
Cria uma função chamada
introduceYourselfque recebe um parâmetronamee imprime uma mensagem como "Hi, my name is [name]" na consola.
Parte 2: Funções com Parâmetros Predefinidos
- Cria uma função chamada
greetPersonque recebe dois parâmetros:name(obrigatório) egreeting(opcional, com o valor predefinido "Hello"). A função deve imprimir uma mensagem como "[greeting], [name]!" na consola.
Parte 3: Funções que Retornam Valores
-
Cria uma função chamada
addNumbersque recebe dois parâmetros (num1enum2) e retorna a soma deles. -
Cria uma função chamada
createFullNameque recebe os parâmetrosfirstNameelastNamee retorna o nome completo como uma única string.
Parte 4: Combina Tudo
- Cria uma função chamada
calculateTipque recebe dois parâmetros:billAmount(obrigatório) etipPercentage(opcional, com valor predefinido 15). A função deve calcular e retornar o valor da gorjeta.
Parte 5: Testa as Tuas Funções
Adiciona chamadas às funções para testar cada uma delas e mostra os resultados usando console.log().
Exemplo de chamadas de teste:
// Teste as suas funções aqui
sayHello();
introduceYourself("Sarah");
greetPerson("Alex");
greetPerson("Maria", "Hi");
const sum = addNumbers(5, 3);
console.log(`The sum is: ${sum}`);
const fullName = createFullName("John", "Doe");
console.log(`Full name: ${fullName}`);
const tip = calculateTip(50);
console.log(`Tip for $50 bill: $${tip}`);
Rubrica
| Critério | Exemplar | Adequado | A Melhorar |
|---|---|---|---|
| Criação de Funções | As 6 funções estão corretamente implementadas com sintaxe e convenções de nomenclatura apropriadas | 4-5 funções estão corretamente implementadas com pequenos erros de sintaxe | 3 ou menos funções implementadas ou erros graves de sintaxe |
| Parâmetros e Valores Predefinidos | Uso correto de parâmetros obrigatórios, opcionais e valores predefinidos conforme especificado | Usa os parâmetros corretamente mas pode haver problemas com os valores predefinidos | Implementação incorreta ou em falta dos parâmetros |
| Valores de Retorno | Funções que devem retornar valores fazem-no corretamente e funções que não devem retornar valores apenas realizam ações | A maioria dos valores retornados estão corretos com pequenos problemas | Problemas significativos com as instruções de retorno |
| Qualidade do Código | Código limpo, bem organizado com nomes de variáveis significativos e indentação adequada | Código funciona mas pode ser mais limpo ou melhor organizado | Código difícil de ler ou mal estruturado |
| Testes | Todas as funções são testadas com chamadas de função apropriadas e os resultados são mostrados claramente | A maior parte das funções é testada adequadamente | Testes limitados ou incorretos das funções |
Desafios Bónus (Opcional)
Se quiseres desafiar-te ainda mais:
- Cria uma versão arrow function de uma das tuas funções
- Cria uma função que aceite outra função como parâmetro (como os exemplos com
setTimeoutda aula) - Adiciona validação de entrada para garantir que as tuas funções lidam elegantemente com entradas inválidas
💡 Dica: Lembra-te de abrir a consola de desenvolvedor do teu navegador (F12) para veres a saída das tuas instruções
console.log()!
Aviso Legal: Este documento foi traduzido utilizando o serviço de tradução automática Co-op Translator. Embora nos esforcemos pela precisão, tenha em atenção que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se a tradução profissional por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas resultantes da utilização desta tradução.