From 0b21d0ce657104ced7402af258e181cf7a133533 Mon Sep 17 00:00:00 2001 From: alsafi25 <62480618+alsafi25@users.noreply.github.com> Date: Mon, 7 Dec 2020 23:10:24 +0000 Subject: [PATCH 1/5] changes updated --- exercises/B-hello-world/exercise.js | 2 +- exercises/C-variables/README.md | 2 +- exercises/C-variables/exercise.js | 4 +- exercises/D-strings/exercise.js | 8 +++- exercises/E-strings-concatenation/exercise.js | 6 ++- exercises/F-strings-methods/exercise.js | 10 +++- exercises/F-strings-methods/exercise2.js | 6 ++- exercises/G-numbers/exercise.js | 6 +++ exercises/I-floats/exercise.js | 4 ++ exercises/J-functions/exercise.js | 6 ++- exercises/J-functions/exercise2.js | 6 ++- exercises/K-functions-parameters/exercise.js | 9 ++-- exercises/K-functions-parameters/exercise2.js | 8 ++-- exercises/K-functions-parameters/exercise3.js | 6 ++- exercises/K-functions-parameters/exercise4.js | 8 ++-- exercises/K-functions-parameters/exercise5.js | 6 ++- exercises/L-functions-nested/exercise.js | 15 ++++++ mandatory/1-syntax-errors.js | 13 ++--- mandatory/2-logic-error.js | 36 +++++++------- mandatory/3-function-output.js | 47 ++++++++++--------- 20 files changed, 137 insertions(+), 71 deletions(-) diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..583a4aa1e 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1 @@ -console.log("Hello world"); +console.log('Hello World. I just started learning JavaScript!'); \ No newline at end of file diff --git a/exercises/C-variables/README.md b/exercises/C-variables/README.md index 26eccc1e8..d1232f415 100644 --- a/exercises/C-variables/README.md +++ b/exercises/C-variables/README.md @@ -10,7 +10,7 @@ console.log(greeting); The program above will print "Hello world" to the console. Notice how it uses the value assigned to the variable `greeting`. -## Exercise +## Exercis * Add a variable `greeting` to exercise.js (make sure it comes _before_ the console.log) * Print your `greeting` to the console 3 times diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..107c0cbe8 100644 --- a/exercises/C-variables/exercise.js +++ b/exercises/C-variables/exercise.js @@ -1,3 +1,3 @@ // Start by creating a variable `greeting` - -console.log(greeting); +let greeting = "Hello World"; +console.log(greeting); \ No newline at end of file diff --git a/exercises/D-strings/exercise.js b/exercises/D-strings/exercise.js index 2cffa6a81..e8b75b267 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,9 @@ // Start by creating a variable `message` - +var message = "Hello World."; console.log(message); +console.log(message); +console.log(message); +var message = "This is a string"; +var messageType = typeof message; +console.log(message); +console.log(messageType); // logs 'string' \ No newline at end of file diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..e942fe2b9 100644 --- a/exercises/E-strings-concatenation/exercise.js +++ b/exercises/E-strings-concatenation/exercise.js @@ -1,3 +1,7 @@ // Start by creating a variable `message` +var message = "My name is khalid"; -console.log(message); +var greetingStart = "Hello, my name is "; +var name = "Daniel"; +var greeting = greetingStart + name; +console.log(greeting); \ No newline at end of file diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..e5dd64976 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,9 @@ // Start by creating a variable `message` - -console.log(message); +var message = "Hello World"; +var name = "Daniel"; +var nameLength = name.length; +var nameLowerCase = name.toLowerCase(); +console.log(nameLowerCase); +console.log(message.trim); +console.log(nameLength); +console.log(" My name is " + name + " and my name is " + nameLength + " characters long."); \ No newline at end of file diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..dd5087326 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,7 @@ const name = " Daniel "; +var nameLength = name.length; -console.log(message); +var nameT = name.trim(); +//var nameTr = trim(name); +var message = " My name is " + name.trim() + " and my name is " + nameLength + " characters long."; +console.log(message); \ No newline at end of file diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..74987b136 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,7 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +let numberOfStudents = 15; +let numberOfMentors = 8; +let totalNumber = numberOfMentors + numberOfStudents; +console.log("The number of Students :" + numberOfStudents); +console.log("The number of Mentors :" + numberOfMentors); +console.log("The Total numbers of students and mentors:" + totalNumber); \ No newline at end of file diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..b6264665a 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,6 @@ var numberOfStudents = 15; var numberOfMentors = 8; +let totalNumbers = numberOfStudents + numberOfMentors; + +console.log("Percentage students: " + Math.round((numberOfStudents / totalNumbers) * 100) + "%"); +console.log("Percentage Mentors: " + Math.round((numberOfMentors / totalNumbers) * 100) + "%"); \ No newline at end of file diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..8eeed9304 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,7 +1,9 @@ function halve(number) { - // complete the function here + // complete the function here + + return number / 2; } var result = halve(12); -console.log(result); +console.log(result); \ No newline at end of file diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index 82ef5e780..c51b400d4 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,7 +1,9 @@ function triple(number) { - // complete function here + // complete function here + + return number * 3; } var result = triple(12); -console.log(result); +console.log(result); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..7df705df1 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -1,9 +1,12 @@ // Complete the function so that it takes input parameters -function multiply() { - // Calculate the result of the function and return it +function multiply(num1, num2) { + // Calculate the result of the function and return it + + return num1 * num2; } + // Assign the result of calling the function the variable `result` var result = multiply(3, 4); -console.log(result); +console.log(result); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise2.js b/exercises/K-functions-parameters/exercise2.js index db7a8904b..d2837784c 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,5 +1,7 @@ // Declare your function first +function divides(num1, num2) { + return num1 / num2; +} +var result = divides(3, 4); -var result = divide(3, 4); - -console.log(result); +console.log(result); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 537e9f4ec..9589d0fca 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,5 +1,7 @@ // Write your function here - +function createGreeting(name) { + return name; +} var greeting = createGreeting("Daniel"); -console.log(greeting); +console.log("Hello, my name is " + greeting); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..3862cfdad 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,7 @@ // Declare your function first - +function adds(a, b) { + return a + b; +} // Call the function and assign to a variable `sum` - -console.log(sum); +var sum = adds(13, 124); +console.log(sum); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise5.js b/exercises/K-functions-parameters/exercise5.js index 7c5bcd605..a8d256860 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,5 +1,7 @@ // Declare your function here - +function createLongGreeting(name, age) { + return ("Hello, my name is " + name + " and I'm " + age + " years old"); +} const greeting = createLongGreeting("Daniel", 30); -console.log(greeting); +console.log(greeting); \ No newline at end of file diff --git a/exercises/L-functions-nested/exercise.js b/exercises/L-functions-nested/exercise.js index a5d377442..4c90f362a 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -3,3 +3,18 @@ var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + +function percentage(total, num, percents) { + percents = Math.round((total / num) * 100); + return percents; +} + +function printPercentage(percents) { + var getPercentage = percentage(percents); + var message = getPercentage; + return message; +} +message = percentage(15, 23); +console.log("Percentage students: " + message + "%"); +message = percentage(8, 23); +console.log("Percentage Mentors: " + message + "%"); \ No newline at end of file diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index 0a21afd1b..c4e6d4e07 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 " + name "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; + var total = a + b; - return "The total is total" + return "The total is " + total; } /* @@ -39,4 +40,4 @@ function test(test_name, actual, expected) { test("fixed addNumbers function - case 1", addNumbers(3, 4, 6), 13); test("fixed introduceMe function", introduceMe("Sonjide", 27), "Hello, my name is Sonjide and I am 27 years old"); -test("fixed getTotal function", getTotal(23, 5), "The total is 28"); +test("fixed getTotal function", getTotal(23, 5), "The total is 28"); \ No newline at end of file diff --git a/mandatory/2-logic-error.js b/mandatory/2-logic-error.js index 3c578ad87..270481574 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -1,16 +1,16 @@ // The syntax for this function is valid but it has an error, find it and fix it. function trimWord(word) { - return wordtrim(); + return word.trim(); } function getWordLength(word) { - return "word".length(); + return word.length; } function multiply(a, b, c) { - a * b * c; - return; + + return a * b * c; } /* @@ -26,26 +26,26 @@ To run these tests type `node 2-logic-error` into your terminal const util = require("util"); function test(test_name, actual, expected) { - let status; - if (actual === expected) { - status = "PASSED"; - } else { - status = `FAILED: expected: ${util.inspect( + let status; + if (actual === expected) { + status = "PASSED"; + } else { + status = `FAILED: expected: ${util.inspect( expected )} but your function returned: ${util.inspect(actual)}`; - } + } - console.log(`${test_name}: ${status}`); + console.log(`${test_name}: ${status}`); } test( - "fixed trimWord function", - trimWord(" CodeYourFuture "), - "CodeYourFuture" + "fixed trimWord function", + trimWord(" CodeYourFuture "), + "CodeYourFuture" ); test( - "fixed wordLength function", - getWordLength("A wild sentence appeared!"), - 25 + "fixed wordLength function", + getWordLength("A wild sentence appeared!"), + 25 ); -test("fixed multiply function", multiply(2, 3, 6), 36); +test("fixed multiply function", multiply(2, 3, 6), 36); \ No newline at end of file diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index c9221a200..b6648b4ea 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,16 +1,21 @@ // Add comments to explain what this function does. You're meant to use Google! +// generating a Random number and multiplied by 10 function getNumber() { - return Math.random() * 10; + return Math.random() * 10; } // Add comments to explain what this function does. You're meant to use Google! +// using concat function to join two or more string function s(w1, w2) { - return w1.concat(w2); + return w1.concat(w2); } 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. + + var str = str.concat(firstWord, secondWord, thirdWord); + return str + // 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. } /* @@ -26,30 +31,30 @@ To run these tests type `node 3-function-output` into your terminal const util = require("util"); function test(test_name, actual, expected) { - let status; - if (actual === expected) { - status = "PASSED"; - } else { - status = `FAILED: expected: ${util.inspect( + let status; + if (actual === expected) { + status = "PASSED"; + } else { + status = `FAILED: expected: ${util.inspect( expected )} but your function returned: ${util.inspect(actual)}`; - } + } - console.log(`${test_name}: ${status}`); + console.log(`${test_name}: ${status}`); } test( - "concatenate function - case 1 works", - concatenate("code", "your", "future"), - "code your future" + "concatenate function - case 1 works", + concatenate("code", "your", "future"), + "code your future" ); test( - "concatenate function - case 2 works", - concatenate("I", "like", "pizza"), - "I like pizza" + "concatenate function - case 2 works", + concatenate("I", "like", "pizza"), + "I like pizza" ); test( - "concatenate function - case 3 works", - concatenate("I", "am", 13), - "I am 13" -); + "concatenate function - case 3 works", + concatenate("I", "am", 13), + "I am 13" +); \ No newline at end of file From 902969e299d3a3520f92ba353c9b441ea75b1759 Mon Sep 17 00:00:00 2001 From: alsafi25 <62480618+alsafi25@users.noreply.github.com> Date: Mon, 7 Dec 2020 23:15:08 +0000 Subject: [PATCH 2/5] Completed --- mandatory/3-function-output.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index b6648b4ea..e0af4af21 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -12,10 +12,10 @@ function s(w1, w2) { function concatenate(firstWord, secondWord, thirdWord) { - var str = str.concat(firstWord, secondWord, thirdWord); - return str - // 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 + " " + 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 f713a5392004c0d07a1bf0805a8931d879582fda Mon Sep 17 00:00:00 2001 From: alsafi25 <62480618+alsafi25@users.noreply.github.com> Date: Tue, 8 Dec 2020 19:24:51 +0000 Subject: [PATCH 3/5] Exercise performed (tax function passed) --- mandatory/4-tax.js | 47 +++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index c9e41c691..4549bde7c 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(price, actualPrice) { + actualPrice = price + (price * 0.20); + return actualPrice; +} /* 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(actualPrice) { + const taxedPrice = calculateSalesTax(actualPrice); + + return "£" + (taxedPrice).toFixed(2); + + +} /* =================================================== @@ -33,16 +42,16 @@ To run these tests type `node 4-tax.js` into your terminal const util = require("util"); function test(test_name, actual, expected) { - let status; - if (actual === expected) { - status = "PASSED"; - } else { - status = `FAILED: expected: ${util.inspect( + let status; + if (actual === expected) { + status = "PASSED"; + } else { + status = `FAILED: expected: ${util.inspect( expected )} but your function returned: ${util.inspect(actual)}`; - } + } - console.log(`${test_name}: ${status}`); + console.log(`${test_name}: ${status}`); } test("calculateSalesTax function - case 1 works", calculateSalesTax(15), 18); @@ -50,17 +59,17 @@ test("calculateSalesTax function - case 2 works", calculateSalesTax(17.5), 21); test("calculateSalesTax function - case 3 works", calculateSalesTax(34), 40.8); test( - "addTaxAndFormatCurrency function - case 1 works", - addTaxAndFormatCurrency(15), - "£18.00" + "addTaxAndFormatCurrency function - case 1 works", + addTaxAndFormatCurrency(15), + "£18.00" ); test( - "addTaxAndFormatCurrency function - case 2 works", - addTaxAndFormatCurrency(17.5), - "£21.00" + "addTaxAndFormatCurrency function - case 2 works", + addTaxAndFormatCurrency(17.5), + "£21.00" ); test( - "addTaxAndFormatCurrency function - case 3 works", - addTaxAndFormatCurrency(34), - "£40.80" -); + "addTaxAndFormatCurrency function - case 3 works", + addTaxAndFormatCurrency(34), + "£40.80" +); \ No newline at end of file From 0738b47775af7884fbab5942a35a2bca63531698 Mon Sep 17 00:00:00 2001 From: alsafi25 <62480618+alsafi25@users.noreply.github.com> Date: Wed, 9 Dec 2020 13:02:47 +0000 Subject: [PATCH 4/5] Currency conversion Completed --- extra/1-currency-conversion.js | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 70a2fe863..ef820ee6f 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(amountInUs) { + let convertedToGB = Number((amountInUs * 1.4).toFixed(1)); + return convertedToGB; +} /* CURRENCY FORMATTING @@ -15,7 +18,13 @@ 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(amountInBRL) { + + let convertedToGB = Number((amountInBRL * 5.70)) + let remainAmountGB = convertedToGB - (convertedToGB * 0.01); + return remainAmountGB; + +} /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. @@ -26,17 +35,17 @@ To run these tests type `node 1-currency-conversion` into your terminal const util = require("util"); function test(test_name, actual, expected) { - let status; - if (actual === expected) { - status = "PASSED"; - } else { - status = `FAILED: expected: ${util.inspect( + let status; + if (actual === expected) { + status = "PASSED"; + } else { + status = `FAILED: expected: ${util.inspect( expected )} but your function returned: ${util.inspect(actual)}`; - } + } - console.log(`${test_name}: ${status}`); + console.log(`${test_name}: ${status}`); } test("convertToUSD function works", convertToUSD(32), 44.8); -test("convertToBRL function works", convertToBRL(30), 169.29); +test("convertToBRL function works", convertToBRL(30), 169.29); \ No newline at end of file From 9ad664200d9b58c5929f90c2331334441187ec4b Mon Sep 17 00:00:00 2001 From: alsafi25 <62480618+alsafi25@users.noreply.github.com> Date: Wed, 9 Dec 2020 13:03:13 +0000 Subject: [PATCH 5/5] tax function Update --- mandatory/4-tax.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index 4549bde7c..63d326961 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -22,10 +22,7 @@ function calculateSalesTax(price, actualPrice) { function addTaxAndFormatCurrency(actualPrice) { const taxedPrice = calculateSalesTax(actualPrice); - return "£" + (taxedPrice).toFixed(2); - - } /*