From 4f9765a692229e3089ad3ccfa793094653d2f180 Mon Sep 17 00:00:00 2001 From: Khlil1313 <90422263+Khlil1313@users.noreply.github.com> Date: Fri, 17 Feb 2023 23:53:23 +0000 Subject: [PATCH 1/6] finish the mandatory exercises --- mandatory/1-syntax-errors.js | 8 ++++---- mandatory/2-logic-error.js | 8 ++++---- mandatory/3-function-output.js | 3 +++ mandatory/4-tax.js | 10 ++++++++-- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index d9e004465..e67d49139 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,16 +1,16 @@ // 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`; + 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..f45611ce4 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; + total = a * b * c; + return total; } /* diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5a953ba60..0191b8baf 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,9 +1,11 @@ // Add comments to explain what this function does. You're meant to use Google! +// this function return a random number between 0 and 100. function getRandomNumber() { return Math.random() * 10; } // Add comments to explain what this function does. You're meant to use Google! +// the concat() method join 2 strings together. function combine2Words(word1, word2) { return word1.concat(word2); } @@ -11,6 +13,7 @@ function combine2Words(word1, word2) { 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. + return firstWord.concat(" ", secondWord, " ", thirdWord); } /* diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..0c8267eb4 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,11 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} +function calculateSalesTax(price) { + return price + price*0.2; + + +} /* CURRENCY FORMATTING @@ -17,7 +21,9 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} +function addTaxAndFormatCurrency(price) { + return calculateSalesTax(price).fix(2) +} /* =================================================== From 48a27ad4ffb3fc106524286f95d80000c453ef3e Mon Sep 17 00:00:00 2001 From: Khlil1313 <90422263+Khlil1313@users.noreply.github.com> Date: Sat, 18 Feb 2023 14:08:32 +0000 Subject: [PATCH 2/6] finish the mandatory question --- mandatory/1-syntax-errors.js | 4 ++-- mandatory/2-logic-error.js | 2 +- mandatory/4-tax.js | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index e67d49139..6df0ed926 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -4,9 +4,9 @@ function addNumbers(a, b, c) { return a + b + c; } -function introduceMe(name, age) +function introduceMe(name, age){ return `Hello, my name is ${name} and I am ${age} years old`; - +} function getTotal(a, b) { total = a + b; diff --git a/mandatory/2-logic-error.js b/mandatory/2-logic-error.js index f45611ce4..02461953a 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -5,7 +5,7 @@ function trimWord(word) { } function getStringLength(word) { - return word.length(); + return word.length; } function multiply(a, b, c) { diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index 0c8267eb4..76959c93a 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -22,8 +22,12 @@ function calculateSalesTax(price) { */ function addTaxAndFormatCurrency(price) { - return calculateSalesTax(price).fix(2) + console.log(price) + return "£" + calculateSalesTax(price).toFixed(2); + } +console.log(addTaxAndFormatCurrency(40)) + /* =================================================== From 2188c2e2f3669074c7556545861fc776318c9782 Mon Sep 17 00:00:00 2001 From: Khlil1313 <90422263+Khlil1313@users.noreply.github.com> Date: Sat, 18 Feb 2023 15:15:55 +0000 Subject: [PATCH 3/6] update the extra 1 --- extra/1-currency-conversion.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..3bb0d7225 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -5,7 +5,10 @@ Write a function that converts a price to USD (exchange rate is 1.4 $ to £) */ -function convertToUSD() {} +function convertToUSD(price) { + return "$" + price*1.4; +} +console.log(convertToUSD(20)); /* CURRENCY CONVERSION @@ -15,7 +18,12 @@ 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(price) { + total = price*0.99*5.7; + return "BRL" + " "+ total.toFixed(2); + +} +console.log(convertToBRL(20)); /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. @@ -24,7 +32,7 @@ To run the tests for just this one file, type `npm test -- --testPathPattern 1-c (Reminder: You must have run `npm install` one time before this will work!) */ -test("convertToUSD function works for £32", () => { +/*test("convertToUSD function works for £32", () => { expect(convertToUSD(32)).toEqual(44.8); }); @@ -38,4 +46,4 @@ test("convertToBRL function works for £30", () => { test("convertToBRL function works for £1.50", () => { expect(convertToBRL(1.5)).toEqual(8.46); -}); +});*/ From 2de9ce48e554d63ca24c059d6e8b63292c427eb5 Mon Sep 17 00:00:00 2001 From: Khlil1313 <90422263+Khlil1313@users.noreply.github.com> Date: Sat, 18 Feb 2023 16:20:02 +0000 Subject: [PATCH 4/6] update extra Q2 --- extra/1-currency-conversion.js | 4 ++-- extra/2-piping.js | 22 ++++++++++++++++------ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 3bb0d7225..9f995002a 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -25,7 +25,7 @@ function convertToBRL(price) { } console.log(convertToBRL(20)); -/* ======= TESTS - DO NOT MODIFY ===== + ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. To run the tests for just this one file, type `npm test -- --testPathPattern 1-currency-conversion` into your terminal @@ -46,4 +46,4 @@ test("convertToBRL function works for £30", () => { test("convertToBRL function works for £1.50", () => { expect(convertToBRL(1.5)).toEqual(8.46); -});*/ +}); diff --git a/extra/2-piping.js b/extra/2-piping.js index b4f8c4c1b..abd144492 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,36 @@ 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(result) { + formatResult = "£" + result + return formatResult; } + const startingValue = 2; +let addResult = add(startingValue, 10); +let multiplayResult = multiply(addResult, 2) +let finalResult = format(multiplayResult) -// Why can this code be seen as bad practice? Comment your answer. -let badCode = +// Why can this code be seen as bad practice? Comment your answer. + +//let badCode = ; /* BETTER PRACTICE */ -let goodCode = +let goodCode = finalResult +console.log(goodCode); /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. From 63902773b06a5bd4d4d998e2a35828e0616c7a22 Mon Sep 17 00:00:00 2001 From: Khlil1313 <90422263+Khlil1313@users.noreply.github.com> Date: Sat, 18 Feb 2023 22:08:59 +0000 Subject: [PATCH 5/6] updating the extra q2 --- extra/2-piping.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extra/2-piping.js b/extra/2-piping.js index abd144492..727b2c6bf 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -41,7 +41,7 @@ let finalResult = format(multiplayResult) // Why can this code be seen as bad practice? Comment your answer. -//let badCode = ; +let badCode = format(multiply(add(startingValue,10),2)); /* BETTER PRACTICE */ let goodCode = finalResult From 6db0b590436ca036211a948d7b03606e46e4d95b Mon Sep 17 00:00:00 2001 From: Khlil1313 <90422263+Khlil1313@users.noreply.github.com> Date: Mon, 20 Feb 2023 23:40:34 +0000 Subject: [PATCH 6/6] update extra Q3 --- extra/3-magic-8-ball.js | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 46f65f928..c874ba79f 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -45,9 +45,16 @@ // This should log "The ball has shaken!" // and return the answer. +let answerArray +let randomItem function shakeBall() { //Write your code in here + answerArray = ["It is certin", "it's decideldly so", "As I see it, yes", "Most likely", "Reply hazy, try again", "Ask again later", "Dont count on it", "My replay is no"] + let randomIndex = Math.floor(Math.random() * answerArray.length); + randomItem = answerArray [randomIndex]; + console.log(randomItem) } +shakeBall(); /* This function should say whether the answer it is given is @@ -58,10 +65,40 @@ 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 + function checkAnswer(answer) { +// //Write your code in here +switch(randomItem) { + case "It is certin": + console.log("very postive") + break; + case "it's decideldly so": + console.log("very positive") + break; + case "As I see it, yes": + console.log("positive") + break; + case "Most likely": + console.log("positive") + break; + case "Reply hazy, try again": + console.log("negative") + break; + case "Ask again later": + console.log("negative") + break; + case "Dont count on it": + console.log("very negative") + break; + case "My replay is no": + console.log("very negative") + break; + } + + } + checkAnswer(randomItem); + /* ================================== ======= TESTS - DO NOT MODIFY =====