From db68532ab101f27da975704025fb77efdbbc5e1c Mon Sep 17 00:00:00 2001 From: Delnia Alipour Date: Sat, 18 Feb 2023 14:30:47 +0000 Subject: [PATCH 1/2] Madatory and two of extra pratices --- extra/1-currency-conversion.js | 8 ++++++-- extra/2-piping.js | 21 +++++++++++++-------- mandatory/1-syntax-errors.js | 11 ++++++----- mandatory/2-logic-error.js | 9 +++++---- mandatory/3-function-output.js | 8 +++++--- mandatory/4-tax.js | 8 ++++++-- 6 files changed, 41 insertions(+), 24 deletions(-) diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..2e1c15a3e 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -5,7 +5,9 @@ Write a function that converts a price to USD (exchange rate is 1.4 $ to £) */ -function convertToUSD() {} +function convertToUSD(sales) { + return sales*(1.4); +} /* CURRENCY CONVERSION @@ -15,7 +17,9 @@ function convertToUSD() {} They have also decided that they should add a 1% fee to all foreign transactions, which means you only convert 99% of the £ to BRL. */ -function convertToBRL() {} +function convertToBRL(sales) { + return Number((sales*0.99*5.7).toFixed(2)); +} /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. diff --git a/extra/2-piping.js b/extra/2-piping.js index b4f8c4c1b..4c4230c28 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,31 @@ the final result to the variable goodCode */ -function add() { - +function add(a,b) { + return a+b; } -function multiply() { - +function multiply(a,b) { + return a*b; } -function format() { - +function format(number) { + return "£"+ number; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +let badCode =format(multiply(add(startingValue,10),2)); +//This code is not easy to be read, it makes confusion. + /* BETTER PRACTICE */ -let goodCode = +//let goodCode = +let sum= add(startingValue,10); +let multiplies=multiply(sum,2); +let goodCode=format(multiplies); /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index d9e004465..db418e6b7 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,16 +1,17 @@ // There are syntax errors in this code - can you fix it to pass the tests? -function addNumbers(a b c) { +function addNumbers(a, b, c) { return a + b + c; } -function introduceMe(name, age) - return `Hello, my {name}` is "and I am $age years old`; +function introduceMe(name, age){ + return `Hello, my name is ${name} and I am ${age} years old`; +} function getTotal(a, b) { - total = a ++ b; + let total = a + b; - return "The total is total"; + return `The total is ${total}`; } /* diff --git a/mandatory/2-logic-error.js b/mandatory/2-logic-error.js index 9eb8c8cd7..a41d5d52f 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -1,16 +1,17 @@ // The syntax for these functions is valid but there are some errors, find them and fix them function trimWord(word) { - return wordtrim(); + + return word.trim(); } function getStringLength(word) { - return "word".length(); + return word.length; } function multiply(a, b, c) { - a * b * c; - return; + + return a * b * c; } /* diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5a953ba60..0fa84f5e0 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -2,15 +2,17 @@ function getRandomNumber() { return Math.random() * 10; } +// this function returns a random number between 0 and 10. // Add comments to explain what this function does. You're meant to use Google! function combine2Words(word1, word2) { return word1.concat(word2); } - +// this function merger to or more string together and create a new string. function concatenate(firstWord, secondWord, thirdWord) { - // Write the body of this function to concatenate three words together. - // Look at the test case below to understand what this function is expected to return. +let newString= firstWord.concat(" ",secondWord," ", thirdWord); +return newString; + } /* diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..69e82b3fa 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,9 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} +function calculateSalesTax(sales) { + return sales*1.2; +} /* CURRENCY FORMATTING @@ -17,7 +19,9 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} +function addTaxAndFormatCurrency(sales) { + return `£${calculateSalesTax(sales).toFixed(2)}`; +} /* =================================================== From d0d3d47618a49afa42343522b5d44c271e2ff428 Mon Sep 17 00:00:00 2001 From: Delnia Alipour Date: Sat, 18 Feb 2023 15:07:45 +0000 Subject: [PATCH 2/2] mandatory and extra --- extra/3-magic-8-ball.js | 51 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 46f65f928..91853492a 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -45,8 +45,49 @@ // This should log "The ball has shaken!" // and return the answer. + +let veryPositive= +["It is certain.", +"It is decidedly so.", +"Without a doubt.", +"Yes - definitely.", +"You may rely on it."]; + + +let positive= +["As I see it, yes.", +"Most likely.", +"Outlook good.", +"Yes.", +"Signs point to yes."]; + + +let negative= +["Reply hazy, try again.", +"Ask again later.", +"Better not tell you now.", +"Cannot predict now.", +"Concentrate and ask again."]; + +let veryNegative= +["Don't count on it.", +"My reply is no.", +"My sources say no.", +"Outlook not so goo.", +"Very doubtful."]; + +let answers=[ + veryPositive, + positive, + negative, + veryNegative]; + function shakeBall() { //Write your code in here + console.log("The ball has shaken!"); + const answerMood= Math.floor(Math.random() * answers.length); + const randomAnswer= Math.floor(Math.random() * answers[answerMood].length); + return answers[answerMood][randomAnswer]; } /* @@ -58,8 +99,18 @@ function shakeBall() { This function should expect to be called with any value which was returned by the shakeBall function. */ + function checkAnswer(answer) { //Write your code in here + if (veryPositive.includes(answer)) { + return "very positive"; + } else if (positive.includes(answer)) { + return "positive"; + } else if (negative.includes(answer)) { + return "negative"; + } else if (veryNegative.includes(answer)) { + return "very negative"; + } } /*