Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 48 additions & 11 deletions challenge-08/challenge-08.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,44 @@ Declare uma variável chamada `sum` e atribua a ela uma função chamada
`calculateSum`. A função deve receber dois parâmetros e retornar a soma
desses parâmetros.
*/
// ?
var sum = function calculateSum(x, y){
return x + y
}

/*
Invoque a função criada acima, passando dois números que serão somados, e mostre
o resultado no console, com a frase:
"A soma de [VALOR 1] e [VALOR2] é igual a [RESULTADO]."
*/
// ?
var x = 5
var y = 8
console.log('A soma de ' + x + ' e ' + y + ' é igual a ' + sum(x, y) + '.');

/*
Mostre no console o nome da função criada acima, com a frase:
"O nome da função que faz a soma é [NOME DA FUNÇÃO]."
*/
// ?
console.log('O nome da função que faz a soma é ' + sum.name + '.')

/*
Crie uma função literal chamada `showName`. Essa função deve retornar o
seu nome.
*/
// ?
function showName() {
return 'Felipe'
}

/*
Declare uma variável chamada `varShowName` que recebe a função criada acima.
*/
// ?
varShowName = showName

/*
Usando a variável criada acima, mostre no console o nome e o retorno da função
atribuída a ela, com a seguinte frase:
"A função [NOME DA FUNÇÃO] retorna [RETORNO DA FUNÇÃO]."
*/
// ?
console.log('A função ' + varShowName.name + ' retorna ' + varShowName() + '.');

/*
Crie uma função literal chamada `calculator`, que funcione assim:
Expand All @@ -48,28 +54,59 @@ vai efetuar. Será uma string com os valores `+`, `-`, `*`, `/` ou `%`;
- Se o operador não for válido, retornar a frase:
"Operação inválida."
*/
// ?
function calculator(operadorInicial) {
return function (x, y) {
var resultado
switch (operadorInicial) {
case '+':
resultado = x + y
break
case '-':
resultado = x - y
break
case '*':
resultado = x * y
break
case '/':
resultado = x / y
break
case '%':
resultado = x % y
break
default:
return 'Operação inválida.'

}
return 'Resultado da operação: ' + x + ' ' + operadorInicial + ' ' + y + ' = ' + resultado + '.'
}
}

/*
Declare uma variável chamada `sum`, que receberá a função acima, passando como
parâmetro o operador de soma.
*/
// ?
var sum = calculator('+')

/*
Agora `sum` é uma função. Mostre no console a soma de dois números, usando ela.
*/
// ?
console.log(sum(4,7));

/*
Agora, declare algumas variáveis com os nomes `subtraction`, `multiplication`,
`division` e `mod`, e atribua a elas a função `calculator`, passando o operador
correto por parâmetro para cada uma delas.
*/
// ?
var subtraction = calculator('-');
var multiplication = calculator('*');
var division = calculator('/');
var mod = calculator('%');

/*
Faça uma operação com cada uma das funções criadas acima, mostrando o resultado
no console.
*/
// ?
console.log(subtraction(22, 5))
console.log(multiplication(22, 5))
console.log(division(22, 5))
console.log(mod(22, 5))