Fluiu tudo bem até o exercício 8:
// 1. Função de saudação
// Crie uma função chamada saudacao que exibe a mensagem "Olá! Seja bem-vindo(a)!" ao ser chamada.
// function saudacao() {
// console.log('Olá! Seja bem-vindo(a)!')
// }
// saudacao();
// 2. Função com parâmetros
// Crie uma função apresentarPessoa(nome, idade) que exibe no console: "Olá, meu nome é [nome] e tenho [idade] anos."
// function apresentarPessoa(nome, idade){
// console.log('Olá, meu nome é '+nome+' e tenho '+idade+' anos.')
// }
// function apresentarPessoa(nome,idade){
// console.log(`Olá, meu nome é ${nome} e tenho ${idade} anos`)
// }
// apresentarPessoa('Esperidião', 36)
// 3. Cálculo de IMC
// Crie uma função chamada calcularIMC que receba dois parâmetros: peso e altura.
// A função deve calcular o IMC utilizando a fórmula:
// IMC = peso / (altura * altura)
// A função deve retornar o valor do IMC.
// Depois, utilize o retorno da função para exibir no console uma mensagem com o resultado.
// function calcularIMC(peso, altura){
// let imc = peso / (altura*altura)
// return imc
// }
// let resultadoIMC = calcularIMC(70, 1.71);
// console.log('Seu IMC é: '+resultadoIMC)
// 4. Verificar aprovação
// Crie uma função verificarAprovacao(nota) que retorna "Aprovado" se nota >= 7 ou "Reprovado" caso contrário.
// function verificarAprovacao(nota) {
// if (nota>=7) {
// console.log('Aprovado')
// } else{
// console.log('Reprovado')
// }
// }
// verificarAprovacao(9)
// 5. Número par ou ímpar
// Crie uma função ehPar(numero) que retorna true se o número for par e false se for ímpar. Teste a função com diferentes valores.
// function ehPar(numero){
// if (numero %2 ==0) {
// return true
// } else {
// return false
// }
// }
// function ehPar(numero){
// return numero %2 ===0
// }
// console.log("O número é par? " + ehPar(5));
// 6. Função soma
// Crie uma função que recebe dois números e retorna a soma deles. Exiba o resultado no console com uma frase completa.
// function soma(a,b){
// return a + b
// }
// let resultadoSoma = soma(4,8)
// console.log('O resultado da soma de 4 com 8 é:', resultadoSoma)
// 7. Reutilizando código
// Reescreva o exercício da calculadora de troco utilizando uma função chamada calcularTroco.
// A função deve receber dois parâmetros: valorCompra e valorPago.
// A função deve:
// calcular o valor do troco
// retornar o valor calculado
// Depois, utilize o retorno da função para exibir o valor do troco no console.
// function calcularTroco(valorCompra,valorPago){
// let troco = valorPago - valorCompra
// return troco
// }
// let valorDoTroco = calcularTroco(35.9,50)
// console.log('Valor do troco é: R$ '+valorDoTroco)
// 8. Arrow function
// Transforme a função do exercício 6 em uma arrow function com sintaxe reduzida.
// let somarArrow = (a,b) => a + b;
// console.log('Soma (arrow): '+soma(3,7))
// 9. Callback simples
// Crie uma função executarAcao(acao) que recebe uma função como parâmetro e a executa.
// Teste passando uma função que imprime "Executando ação!".
function executarAcao(acao){
acao()
}
// a partir daqui não entendo e não consigo entender afinal o propósito do exercício
// function executarAcao(acao) {
// acao();
// }
// executarAcao(function() {
// console.log("Executando ação!");
// });
// 10. Desafio do quiz
// Crie uma função fazerPergunta(pergunta, respostaCorreta).
// A função deve exibir a pergunta e depois mostrar se a resposta está certa ou errada (simule a resposta com uma variável).
// não seria melhor começar a usar o readline nesta questão?
Eu consigo compreender o que aprendemos em callbackHOF.js
// HOF -> Higher-Order Function === função que recebe outra função como parametro
function calcular(numero1, numero2, operacao) {
return operacao(numero1, numero2)
}
function soma(num1, num2) {
return num1 + num2
}
function divisao(num1,num2) {
return num1/num2
}
const resultadoSoma = calcular(3, 8, soma) // soma é um callback
console.log('Resultado da soma:', resultadoSoma)
const resultadoDivisao = calcular(32, 8, divisao) // divisao é um callback
console.log('Resultado da divisão:', resultadoDivisao)
mas não consegui compreender a lógica da solução apresentada.
function executarAcao(acao) {
acao();
}
executarAcao(function() {
console.log("Executando ação!");
});