diff --git a/exercises/.DS_Store b/exercises/.DS_Store new file mode 100644 index 000000000..326d59dcf Binary files /dev/null and b/exercises/.DS_Store differ diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..c3966f93d 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,2 @@ console.log("Hello world"); +console.log("HarpalBahia") \ No newline at end of file diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..e3ca1c1ec 100644 --- a/exercises/C-variables/exercise.js +++ b/exercises/C-variables/exercise.js @@ -1,3 +1,5 @@ // Start by creating a variable `greeting` - +var greeting = "Hello World"; console.log(greeting); +console.log(greeting); +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..41457ce90 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,3 @@ // Start by creating a variable `message` - -console.log(message); +var message = "This is a String"; +console.log(typeof message); \ No newline at end of file diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..fcf153787 100644 --- a/exercises/E-strings-concatenation/exercise.js +++ b/exercises/E-strings-concatenation/exercise.js @@ -1,3 +1,8 @@ // Start by creating a variable `message` +var greetingStart = "Hello, my name is "; +var name = "Daniel"; -console.log(message); +var greeting = greetingStart + name; + +console.log(greeting); // Logs "Hello, my name is Daniel" +console.log(`Hello my name is ${name}`); \ No newline at end of file diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..b1d276d37 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,6 @@ // Start by creating a variable `message` -console.log(message); +var name = "Harpal"; +var nameLength = name.length; + +console.log(` Hello my name is ${name} and my name is ${nameLength} letter`) \ No newline at end of file diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..fb0a99785 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,4 @@ const name = " Daniel "; - -console.log(message); +let message = name.trim(" ") +console.log(message + "hi im bad an "); +name = "harpal"; \ No newline at end of file diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..94e4111bf 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,5 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +const numberOfStudents = 15; +const numberOfMentors = 8; +const total = numberOfStudents + numberOfMentors; +console.log(`Total number of students and mentors: ${total} `); \ No newline at end of file diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..a869d05b8 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,9 @@ var numberOfStudents = 15; var numberOfMentors = 8; +const total = numberOfStudents + numberOfMentors; +var percentageOfStudents = (numberOfStudents / total) * 100; +var percentageOfMentors = (numberOfMentors / total) * 100; +var roundedPercentageOfStudents = Math.floor(percentageOfStudents); +var roundedPercentageOfMentors = Math.floor(percentageOfMentors); +console.log(`PercentageOfStudents: ${roundedPercentageOfStudents}%`); +console.log(`PercentageOfMentors: ${roundedPercentageOfMentors}%`); \ No newline at end of file diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..10a3baeb8 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,7 +1,8 @@ function halve(number) { - // complete the function here + return number / 2 + } -var result = halve(12); +var result = halve(300); -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..df977f6a3 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,7 +1,6 @@ function triple(number) { - // complete function here -} + return number * 3 +}; +var result = triple(9); -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..e083f1e74 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -1,9 +1,9 @@ // Complete the function so that it takes input parameters -function multiply() { - // Calculate the result of the function and return it +function multiply(num1, num2) { + return num1 * num2; // Calculate the result of the function and return it } // 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..461cdc263 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,5 +1,10 @@ // Declare your function first + +function divide(num1, num2) { + return num1 / num2; +} + 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..d165b0472 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,5 +1,13 @@ // Write your function here -var greeting = createGreeting("Daniel"); -console.log(greeting); + +function createGreeting(greeting) { + + + return "Hello, My name is " + greeting; + +} + +var greeting = createGreeting("Daniel"); +console.log(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..438c85dd4 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,10 @@ // Declare your function first +function Addition(num1, num2) { + return num1 + num2; +} + +var sum = Addition(13, 124); // Call the function and assign to a variable `sum` -console.log(sum); +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..892c45c14 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,5 +1,9 @@ // 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); +const greeting = createLongGreeting("Harpal", 29); + +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..dacf50c81 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -3,3 +3,14 @@ var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + +function Greeting(names) { + var upperCase = names.toUpperCase(); + var hello = "HELLO"; + return `${hello} ${upperCase}`; +} +console.log(Greeting(mentor1)); +console.log(Greeting(mentor2)); +console.log(Greeting(mentor3)); +console.log(Greeting(mentor4)); +console.log(Greeting(mentor5)); \ No newline at end of file diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index 0a21afd1b..867c820fc 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,16 +1,18 @@ // 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; + total = a + b; - return "The total is total" + return "The total is 28"; + 7; } /* @@ -24,19 +26,25 @@ To run these tests type `node 1-syntax-errors.js` into your terminal =================================================== */ -const util = require('util'); +const util = require("util"); function test(test_name, actual, expected) { let status; if (actual === expected) { status = "PASSED"; } else { - status = `FAILED: expected: ${util.inspect(expected)} but your function returned: ${util.inspect(actual)}`; + status = `FAILED: expected: ${util.inspect( + expected + )} but your function returned: ${util.inspect(actual)}`; } console.log(`${test_name}: ${status}`); } 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 introduceMe function", + introduceMe("Sonjide", 27), + "Hello, my name is Sonjideand I am 27 years old" +); +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..db079a224 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -1,16 +1,15 @@ // 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 +25,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 c2498486f..d3797de8a 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,18 +1,23 @@ // Add comments to explain what this function does. You're meant to use Google! function getRandomNumber() { - return Math.random() * 10; + return Math.random() * 10; } +//Getting a random number that you want to apply to at a later date. +//Math.random generates a random number so the random number it decides to choose that gets multiplie dby 10. + // Add comments to explain what this function does. You're meant to use Google! function combine2Words(word1, word2) { - return word1.concat(word2); + return word1.concat(word2); } +//The concat is basically the joining of two words together. + 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. + // 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; } - /* =================================================== ======= TESTS - DO NOT MODIFY BELOW THIS LINE ===== @@ -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 diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index e9d23dc90..f88cea901 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(product) { + return product + product * 0.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(product) { + return "£" + calculateSalesTax(product).toFixed(2); +} /* =================================================== @@ -33,16 +37,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 +54,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