From 9f46125c152f3c67f2c51a5fb955540639820b9e Mon Sep 17 00:00:00 2001 From: CYF Date: Tue, 21 Feb 2023 23:03:20 +0000 Subject: [PATCH 1/4] fixed --- mandatory/1-syntax-errors.js | 11 ++++++----- mandatory/2-logic-error.js | 10 +++++----- mandatory/3-function-output.js | 5 +++++ mandatory/4-tax.js | 13 +++++++++++-- 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index d9e004465..589b10141 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; + 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..dcb2430e7 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -1,16 +1,16 @@ // 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; +function multiply(a,b,c) { + let times= a*b*c; + return times ; } /* diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5a953ba60..fd6075664 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -2,15 +2,20 @@ function getRandomNumber() { return Math.random() * 10; } +//Math.random() The Math.random() static method returns a floating-point, pseudo-random number that's greater than or equal to 0 and less than 1, with approximately uniform distribution over that range // + // Add comments to explain what this function does. You're meant to use Google! function combine2Words(word1, word2) { return word1.concat(word2); } +//The concat() method is used to merge two or more arrays. This method does not change the existing arrays, but instead returns a new array.// 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 sentence = firstWord.concatenate(" ",secondWord , " ",thirdWord); + return sentence; } /* diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..ba3557372 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,10 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} +function calculateSalesTax(productPrice) { + let salesTaxForProduct = (productPrice + ((productPrice * 20) / 100)) + return salesTaxForProduct; + }; /* CURRENCY FORMATTING @@ -17,7 +20,13 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} +function addTaxAndFormatCurrency(productPrice) { + let salesTaxForProduct = (productPrice + ((productPrice * 20) / 100)).toFixed(2); + let showTaxAmount = "£".concat(salesTaxForProduct) + return showTaxAmount; +}; + + /* =================================================== From c48e1317494d23a5479aef561a2dfa9ba6ea0bc0 Mon Sep 17 00:00:00 2001 From: CYF Date: Sat, 4 Mar 2023 15:16:03 +0000 Subject: [PATCH 2/4] week1/ mandatory --- extra/1-currency-conversion.js | 18 ++++++++++++++++-- extra/2-piping.js | 17 +++++++++-------- mandatory/3-function-output.js | 5 ++++- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..a883efe1d 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -5,7 +5,12 @@ Write a function that converts a price to USD (exchange rate is 1.4 $ to £) */ -function convertToUSD() {} +function convertToUSD(priceInGBP) { + const exchangeRate = 1.4; + const priceInUSD = priceInGBP * exchangeRate; + + return Number(priceInUSD.toFixed(2)); +} /* CURRENCY CONVERSION @@ -15,7 +20,16 @@ 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(amountInGBP) { + const exchangeRate = 5.7; + const transactionFee = 0.99; + const amountInBRL = amountInGBP * exchangeRate * transactionFee; + const test = amountInBRL.toFixed(2) + + console.log(Number(test)) + + return Number(amountInBRL.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..fcbc51e75 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,27 @@ the final result to the variable goodCode */ -function add() { - +function add(num1, num2) { + return num1 + num2; } -function multiply() { - +function multiply(num1, num2) { + return num1 * num2; } -function format() { - +function format(amount) { + return `£${amount}`; } + const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +let badCode = "£24"; /* BETTER PRACTICE */ -let goodCode = +let goodCode = "£24"; /* ======= 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/3-function-output.js b/mandatory/3-function-output.js index fd6075664..c0ef2728e 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -11,10 +11,13 @@ function combine2Words(word1, word2) { } //The concat() method is used to merge two or more arrays. This method does not change the existing arrays, but instead returns a new array.// + + + 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 sentence = firstWord.concatenate(" ",secondWord , " ",thirdWord); + let sentence = firstWord.concat(" ",secondWord , " ",thirdWord); return sentence; } From 2eda85da870a377745a12ff42b4dc9fca54a0b6a Mon Sep 17 00:00:00 2001 From: CYF Date: Sat, 18 Mar 2023 16:37:34 +0000 Subject: [PATCH 3/4] test --- extra/3-magic-8-ball.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 46f65f928..d8897a26b 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -59,7 +59,7 @@ 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 + //Write your code in here tesr } /* From 56cd29c1ba0932d58830b14608e6d1847fbf3827 Mon Sep 17 00:00:00 2001 From: akramizedi Date: Wed, 29 Mar 2023 17:55:53 +0100 Subject: [PATCH 4/4] mandatory + extra --- extra/3-magic-8-ball.js | 59 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index d8897a26b..f566ce256 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -45,10 +45,54 @@ // 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 =[ + "Really 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 good.", + "Very doubtful.", +] + +const possibleAnswer =[ + ...veryPositive, + ...positive, + ...negative, + ...veryNegative +]; + + function shakeBall() { - //Write your code in here + console.log(`The ball has shaken!`); + let answer =Math.floor(Math.random()*possibleAnswer.length); + return possibleAnswer[answer]; } + /* This function should say whether the answer it is given is - very positive @@ -59,7 +103,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 tesr + if(veryPositive.includes(answer)){ + return "very positive"; + } + else if(positive.includes(answer)){ + return "positive"; + } + else if(negative.includes(answer)){ + return "negative"; + } + else { + return "very negative"; + } } /*