From d0c28ff253319343c4b0bdd8f72ec674b7859c72 Mon Sep 17 00:00:00 2001 From: saqibjvd <70890519+saqibjvd@users.noreply.github.com> Date: Sat, 18 Feb 2023 16:38:45 +0000 Subject: [PATCH 1/9] syntax error --- mandatory/1-syntax-errors.js | 11 ++++++----- mandatory/2-logic-error.js | 7 +++---- mandatory/3-function-output.js | 5 +++++ 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index d9e004465..3ad784c28 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; + const 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..ff5b064e1 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -1,16 +1,15 @@ // 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..a95b6706b 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,7 +1,11 @@ // Add comments to explain what this function does. You're meant to use Google! + +// this multiply 10 to random number generated between 0 and 1. + function getRandomNumber() { return Math.random() * 10; } +console.log(getRandomNumber()); // Add comments to explain what this function does. You're meant to use Google! function combine2Words(word1, word2) { @@ -9,6 +13,7 @@ function combine2Words(word1, word2) { } function concatenate(firstWord, secondWord, thirdWord) { + return 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. } From 5a0fe979db8bd675fe04d73fd81659fcf7170cb0 Mon Sep 17 00:00:00 2001 From: saqibjvd <70890519+saqibjvd@users.noreply.github.com> Date: Wed, 22 Feb 2023 02:24:21 +0000 Subject: [PATCH 2/9] mandotry completed mandatory exercises , --- mandatory/3-function-output.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index a95b6706b..5172349a1 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,19 +1,22 @@ // Add comments to explain what this function does. You're meant to use Google! -// this multiply 10 to random number generated between 0 and 1. +// Math.random() returns a random number between 0 (inclusive), and 1 (exclusive). this code generate random number between 0 and 1 then multiply by 10. function getRandomNumber() { return Math.random() * 10; } -console.log(getRandomNumber()); // Add comments to explain what this function does. You're meant to use Google! + +// 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 combine2Words(word1, word2) { return word1.concat(word2); } function concatenate(firstWord, secondWord, thirdWord) { - return firstWord, secondWord, thirdWord; + return firstWord.concat(" ", 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. } From 4bc7687f7aec71223e1c2669d3b88decaf9e9457 Mon Sep 17 00:00:00 2001 From: saqibjvd <70890519+saqibjvd@users.noreply.github.com> Date: Wed, 22 Feb 2023 03:34:19 +0000 Subject: [PATCH 3/9] mandotary exercise mandotary exercise completed. will update my extra exercixes. --- mandatory/3-function-output.js | 4 ++-- mandatory/4-tax.js | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5172349a1..907b3f64e 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,6 +1,6 @@ // Add comments to explain what this function does. You're meant to use Google! -// Math.random() returns a random number between 0 (inclusive), and 1 (exclusive). this code generate random number between 0 and 1 then multiply by 10. +/* Math.random() returns a random number between 0 (inclusive), and 1 (exclusive). this code generate random number between 0 and 1 then multiply by 10. */ function getRandomNumber() { return Math.random() * 10; @@ -8,7 +8,7 @@ function getRandomNumber() { // Add comments to explain what this function does. You're meant to use Google! -// 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. +/* 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 combine2Words(word1, word2) { return word1.concat(word2); diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..fbeeb014a 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(price) { + return price + (price / 100) * 20; +} /* CURRENCY FORMATTING @@ -17,7 +19,10 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} +function addTaxAndFormatCurrency(price) { + let Price = calculateSalesTax(price); + return "£" + Price.toFixed(2); +} /* =================================================== From b983204d4c59033b1d5a42dec689a0c1bee30c3f Mon Sep 17 00:00:00 2001 From: saqibjvd <70890519+saqibjvd@users.noreply.github.com> Date: Thu, 23 Feb 2023 23:34:00 +0000 Subject: [PATCH 4/9] Update 1-currency-conversion.js --- extra/1-currency-conversion.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..ef4d4343b 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(currency) { + return currency * 1.4; +} /* CURRENCY CONVERSION @@ -15,7 +17,11 @@ 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(currency) { + let priceAfterFee = currency * 0.99; + let priceInBRL = priceAfterFee * 5.7; + return Math.round(priceInBRL * 100) / 100; +} /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. From 231019faae90d98ef569f257c277a3361199424b Mon Sep 17 00:00:00 2001 From: saqibjvd <70890519+saqibjvd@users.noreply.github.com> Date: Fri, 24 Feb 2023 00:59:31 +0000 Subject: [PATCH 5/9] extra javascript piping and 8 ball magic not working as expected. --- extra/2-piping.js | 16 +++++------ extra/3-magic-8-ball.js | 60 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 67 insertions(+), 9 deletions(-) diff --git a/extra/2-piping.js b/extra/2-piping.js index b4f8c4c1b..c05210668 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,26 @@ 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(value) { + return "£" + value; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +let badCode = " "; /* BETTER PRACTICE */ -let goodCode = +let goodCode = " "; /* ======= 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/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 46f65f928..c21dbbb38 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -45,8 +45,54 @@ // This should log "The ball has shaken!" // and return the answer. + function shakeBall() { + let veryPositiveAnswers = [ + `It is certain`, + `It is decidedly so`, + `Without a doubt`, + `Yes - definitely`, + `You may rely on it`, + ]; + + let positiveAnswers = [ + `As I see it, yes`, + `Most likely`, + `Outlook good`, + `Yes`, + `Signs point to yes`, + ]; + + let negativeAnswers = [ + `Reply hazy`, + `try again`, + `Ask again later`, + `Better not tell you now`, + `Cannot predict now`, + `Concentrate and ask again`, + ]; + + let veryNegativeAnswers = [ + `Don't count on it`, + `My reply is no`, + `My sources say no`, + `Outlook not so good`, + `Very doubtful`, + ]; + + let answers = [ + veryPositiveAnswers, + positiveAnswers, + negativeAnswers, + veryNegativeAnswers, + ]; + //Write your code in here + + // function shakeBall() { + console.log("The ball has shaken!!"); + let randomIndex = Math.floor(Math.random() * answers.length); + return answers[randomIndex]; } /* @@ -60,6 +106,16 @@ function shakeBall() { */ function checkAnswer(answer) { //Write your code in here + + if (veryPositiveAnswers.includes(answer)) { + return "very positive"; + } else if (positiveAnswers.includes(answer)) { + return "positive"; + } else if (negativeAnswers.includes(answer)) { + return "negative"; + } else if (veryNegativeAnswers.includes(answer)) { + return "very negative"; + } } /* @@ -101,7 +157,9 @@ test("magic 8 ball returns different values each time", () => { ); } - let seenPositivities = new Set(Array.from(seenAnswers.values()).map(checkAnswer)); + let seenPositivities = new Set( + Array.from(seenAnswers.values()).map(checkAnswer) + ); if (seenPositivities.size < 2) { throw Error( "Expected to random answers with different positivities each time shakeBall was called, but always got the same one" From 9519b4b8b6d185a8ab6544d7b018c8f9b992cc72 Mon Sep 17 00:00:00 2001 From: saqibjvd <70890519+saqibjvd@users.noreply.github.com> Date: Fri, 24 Feb 2023 01:16:58 +0000 Subject: [PATCH 6/9] Update 3-magic-8-ball.js --- extra/3-magic-8-ball.js | 87 ++++++++++++++++++++--------------------- 1 file changed, 43 insertions(+), 44 deletions(-) diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index c21dbbb38..cf438eb64 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -46,51 +46,50 @@ // This should log "The ball has shaken!" // and return the answer. -function shakeBall() { - let veryPositiveAnswers = [ - `It is certain`, - `It is decidedly so`, - `Without a doubt`, - `Yes - definitely`, - `You may rely on it`, - ]; - - let positiveAnswers = [ - `As I see it, yes`, - `Most likely`, - `Outlook good`, - `Yes`, - `Signs point to yes`, - ]; - - let negativeAnswers = [ - `Reply hazy`, - `try again`, - `Ask again later`, - `Better not tell you now`, - `Cannot predict now`, - `Concentrate and ask again`, - ]; - - let veryNegativeAnswers = [ - `Don't count on it`, - `My reply is no`, - `My sources say no`, - `Outlook not so good`, - `Very doubtful`, - ]; - - let answers = [ - veryPositiveAnswers, - positiveAnswers, - negativeAnswers, - veryNegativeAnswers, - ]; - - //Write your code in here +let veryPositiveAnswers = [ + "It is certain", + "It is decidedly so", + "Without a doubt", + "Yes - definitely", + "You may rely on it", +]; + +let positiveAnswers = [ + "As I see it, yes", + "Most likely", + "Outlook good", + "Yes", + "Signs point to yes", +]; + +let negativeAnswers = [ + "Reply hazy", + "try again", + "Ask again later", + "Better not tell you now", + "Cannot predict now", + "Concentrate and ask again", +]; + +let veryNegativeAnswers = [ + "Don't count on it", + "My reply is no", + "My sources say no", + "Outlook not so good", + "Very doubtful", +]; + +let answers = [ + ...veryPositiveAnswers, + ...positiveAnswers, + ...negativeAnswers, + ...veryNegativeAnswers, +]; + +//Write your code in here - // function shakeBall() { - console.log("The ball has shaken!!"); +function shakeBall() { + console.log("The ball has shaken!"); let randomIndex = Math.floor(Math.random() * answers.length); return answers[randomIndex]; } From 44e89c7b5718a447735c0fc099ef7cc9a8995531 Mon Sep 17 00:00:00 2001 From: saqibjvd <70890519+saqibjvd@users.noreply.github.com> Date: Fri, 24 Feb 2023 01:23:49 +0000 Subject: [PATCH 7/9] Update 3-magic-8-ball.js 8 ball completed piping.js not working --- extra/3-magic-8-ball.js | 42 ++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index cf438eb64..29f3fc2df 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -47,36 +47,36 @@ // and return the answer. let veryPositiveAnswers = [ - "It is certain", - "It is decidedly so", - "Without a doubt", - "Yes - definitely", - "You may rely on it", + "It is certain.", + "It is decidedly so.", + "Without a doubt.", + "Yes - definitely.", + "You may rely on it.", ]; let positiveAnswers = [ - "As I see it, yes", - "Most likely", - "Outlook good", - "Yes", - "Signs point to yes", + "As I see it, yes.", + "Most likely.", + "Outlook good.", + "Yes.", + "Signs point to yes.", ]; let negativeAnswers = [ - "Reply hazy", - "try again", - "Ask again later", - "Better not tell you now", - "Cannot predict now", - "Concentrate and ask again", + "Reply hazy.", + "try again.", + "Ask again later.", + "Better not tell you now.", + "Cannot predict now.", + "Concentrate and ask again.", ]; let veryNegativeAnswers = [ - "Don't count on it", - "My reply is no", - "My sources say no", - "Outlook not so good", - "Very doubtful", + "Don't count on it.", + "My reply is no.", + "My sources say no.", + "Outlook not so good.", + "Very doubtful.", ]; let answers = [ From 81740ca5ad427d96a336584da6d590f011d99984 Mon Sep 17 00:00:00 2001 From: saqibjvd <70890519+saqibjvd@users.noreply.github.com> Date: Fri, 24 Feb 2023 13:28:50 +0000 Subject: [PATCH 8/9] extra task complete all test working --- extra/2-piping.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/extra/2-piping.js b/extra/2-piping.js index c05210668..c77ca4d2f 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -31,11 +31,13 @@ function format(value) { 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)); + +/* in this code there is space and no semicolons ; */ /* BETTER PRACTICE */ -let goodCode = " "; +let goodCode = format(multiply(add(startingValue, 10), 2)); /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. From 4e2372b928a4b157b6ab0434deba7e758895b2f9 Mon Sep 17 00:00:00 2001 From: saqibjvd <70890519+saqibjvd@users.noreply.github.com> Date: Sat, 19 Aug 2023 22:50:01 +0100 Subject: [PATCH 9/9] Update 2-piping.js fixed my extras - piping --- extra/2-piping.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/extra/2-piping.js b/extra/2-piping.js index c77ca4d2f..f2c4a45a8 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -39,6 +39,12 @@ let badCode = format(multiply(add(startingValue, 10), 2)); let goodCode = format(multiply(add(startingValue, 10), 2)); +let goodcode = add(10, startingValue); +console.log("Better practice..", goodCode); + +let multiplyByTwo = multiply(goodCode, 2); +console.log("Better practice..", multiplyByTwo); + /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working.