From 0d5cfb464569443581df29cc670db73b6c0b7fdf Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 17 Aug 2021 01:14:01 +0100 Subject: [PATCH 01/17] complete exercise B Exercise B is completed --- exercises/B-hello-world/exercise.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..55caa7630 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,5 @@ -console.log("Hello world"); +console.log("Hello world I just started learning JavaScript!"); +console.log("1"); +console.log(1); + + From 1225b38893fa10e97f27a4c65efac75c7f35aa3d Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 17 Aug 2021 01:17:30 +0100 Subject: [PATCH 02/17] complete exercise C --- exercises/C-variables/exercise.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..c4da9d78c 100644 --- a/exercises/C-variables/exercise.js +++ b/exercises/C-variables/exercise.js @@ -1,3 +1,3 @@ // Start by creating a variable `greeting` - +var greeting = "Hello World"; console.log(greeting); From 4c3e318a583103aafb894e3b250232421882a80b Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 17 Aug 2021 01:23:14 +0100 Subject: [PATCH 03/17] complete exercise D --- exercises/D-strings/exercise.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/exercises/D-strings/exercise.js b/exercises/D-strings/exercise.js index 2cffa6a81..9e97df5a4 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,4 @@ // Start by creating a variable `message` +var message = "This is a string"; -console.log(message); +console.log(message + "\n" + typeof message); From 59c2a78dad9dee70db5b7cde29deb2046fcc05e8 Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 17 Aug 2021 01:25:19 +0100 Subject: [PATCH 04/17] complete exercise E --- exercises/E-strings-concatenation/exercise.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..907e4189e 100644 --- a/exercises/E-strings-concatenation/exercise.js +++ b/exercises/E-strings-concatenation/exercise.js @@ -1,3 +1,4 @@ // Start by creating a variable `message` - -console.log(message); +var myName = "Selahaddin"; +var message = "Hello, my name is "; +console.log(message + myName); From d44511d1c64608ff6d25d4ab10b46fd5261fb136 Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 17 Aug 2021 14:28:28 +0100 Subject: [PATCH 05/17] complete exercise F --- exercises/F-strings-methods/exercise.js | 4 ++-- exercises/F-strings-methods/exercise2.js | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..fd5fcdab4 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,3 @@ // Start by creating a variable `message` - -console.log(message); +var myName = "Selahaadin" +console.log("My name is " + myName + " and my name is " + myName.length + " characters long."); diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..9a5279f70 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,9 @@ -const name = " Daniel "; +const myName = " Daniel "; -console.log(message); +console.log( + "My name is " + + myName.trim() + + " and my name is " + + myName.trim().length + + " characters long." +); From ffc5bab84a325e1b9ca0c760810a059b9a93079d Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 17 Aug 2021 15:34:32 +0100 Subject: [PATCH 06/17] complete exercise G --- exercises/G-numbers/exercise.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..a8d3c1f3f 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,7 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +var numberOfStudents = 15; +var numberOfMentors = 10; + +console.log('Number of students: ' + numberOfStudents); +console.log('Number of mentors: ' + numberOfMentors); +console.log('Total number of students and mentors: ' + (numberOfStudents + numberOfMentors)); \ No newline at end of file From 1d0a32d1e5a596436f7df3677edd52961dc0450e Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 17 Aug 2021 16:10:04 +0100 Subject: [PATCH 07/17] Complete exercise I --- exercises/I-floats/exercise.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..dc70a2855 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,13 @@ var numberOfStudents = 15; var numberOfMentors = 8; + +var percentageOfStudents = (numberOfStudents * 100) / (numberOfStudents + numberOfMentors); +var percentageOfMentors = + (numberOfMentors * 100) / (numberOfStudents + numberOfMentors); + +console.log( "Percantage students: " + + Math.round(percentageOfStudents) + + "%" ); +console.log( "Percentage mentors: " + + Math.round(percentageOfMentors) + + "%" ); \ No newline at end of file From 64371693a4a8a14ce04d7785a0569f29d2ec75cf Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 17 Aug 2021 16:24:41 +0100 Subject: [PATCH 08/17] exercise J complete --- exercises/J-functions/exercise.js | 3 ++- exercises/J-functions/exercise2.js | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..cbf53285c 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); - +result = halve(1); console.log(result); diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index 82ef5e780..468d45596 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,5 +1,6 @@ function triple(number) { // complete function here + return number * 3; } var result = triple(12); From 4c781a17b3ce6b2e5ddba8fde3def68c904fd9d8 Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 17 Aug 2021 16:32:30 +0100 Subject: [PATCH 09/17] exercise K complete --- exercises/K-functions-parameters/exercise.js | 3 ++- exercises/K-functions-parameters/exercise2.js | 4 ++++ exercises/K-functions-parameters/exercise3.js | 4 ++++ exercises/K-functions-parameters/exercise4.js | 6 +++++- exercises/K-functions-parameters/exercise5.js | 4 ++++ 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..a4eed9d76 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -1,6 +1,7 @@ // Complete the function so that it takes input parameters -function multiply() { +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` diff --git a/exercises/K-functions-parameters/exercise2.js b/exercises/K-functions-parameters/exercise2.js index db7a8904b..34cebc84a 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,5 +1,9 @@ // Declare your function first +function divide(a, b) { + return a / b; +} + var result = divide(3, 4); console.log(result); diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 537e9f4ec..8aaea4624 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,5 +1,9 @@ // Write your function here +function createGreeting(name) { + return "Hello, my name is " + name; +} + var greeting = createGreeting("Daniel"); console.log(greeting); diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..48135de5f 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,9 @@ // Declare your function first -// Call the function and assign to a variable `sum` +function add(a, b) { + return a + b; +} +// Call the function and assign to a variable `sum` +var sum = add(13, 124); console.log(sum); diff --git a/exercises/K-functions-parameters/exercise5.js b/exercises/K-functions-parameters/exercise5.js index 7c5bcd605..a0dbfecae 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); From 6e6a9702f0c8266347f172597c33ddff43d10c7f Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 17 Aug 2021 17:00:39 +0100 Subject: [PATCH 10/17] finish exercise L --- exercises/L-functions-nested/exercise.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/exercises/L-functions-nested/exercise.js b/exercises/L-functions-nested/exercise.js index a5d377442..69f7819ad 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -1,5 +1,20 @@ + +function makeUpperCase(str) { + return str.toUpperCase(); +} + +function shoutyGreeting(firstName) { + return "HELLO " + makeUpperCase(firstName); +} + var mentor1 = "Daniel"; var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + +console.log(shoutyGreeting(mentor1)); +console.log(shoutyGreeting(mentor2)); +console.log(shoutyGreeting(mentor3)); +console.log(shoutyGreeting(mentor4)); +console.log(shoutyGreeting(mentor5)); \ No newline at end of file From b5c4963c08b86b6c6e009d4bde3094e6a6030518 Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 17 Aug 2021 23:19:49 +0100 Subject: [PATCH 11/17] Fix 1-syntax-errors --- mandatory/1-syntax-errors.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index a10cc9ac2..8a817bf5a 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; + total = a + b; - return "The total is total"; + return "The total is " + total; } /* From 9543b522608bee5e577a19791e026fcc58beb028 Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 17 Aug 2021 23:22:48 +0100 Subject: [PATCH 12/17] Fix 2-logic-error --- mandatory/2-logic-error.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mandatory/2-logic-error.js b/mandatory/2-logic-error.js index 9cca7603b..37c4ebc15 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 getStringLength(word) { - return "word".length(); + return word.length; } function multiply(a, b, c) { - a * b * c; - return; + return a * b * c; } /* From 5afddb91be03e08f468c99f46db6656930d00755 Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 17 Aug 2021 23:31:07 +0100 Subject: [PATCH 13/17] Complete 3-function-output --- mandatory/3-function-output.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5a953ba60..c5024a0fb 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,9 +1,12 @@ // Add comments to explain what this function does. You're meant to use Google! +//This function returns a random number between 0 (inclusive), and 1 (exclusive): function getRandomNumber() { return Math.random() * 10; } // Add comments to explain what this function does. You're meant to use Google! +//This function concatenates two or more strings, and returns a new joined strings + function combine2Words(word1, word2) { return word1.concat(word2); } @@ -11,6 +14,8 @@ 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) + " ".concat(thirdWord); + } /* From e6ff1a9491374dc5c6f3f7a7a402d299b74a98a2 Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 17 Aug 2021 23:58:24 +0100 Subject: [PATCH 14/17] Complete 4-tax --- mandatory/4-tax.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..0cfa3674c 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,12 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} + +function calculateSalesTax(price) { + var salesTax = price * 0.2; + salesPrice = price + salesTax; + return salesPrice; +} /* CURRENCY FORMATTING @@ -17,7 +22,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).toFixed(2); +} /* =================================================== From 63c8263fdfed81d29cc910fdc92dbaf64cc7077d Mon Sep 17 00:00:00 2001 From: justsealan Date: Mon, 23 Aug 2021 17:41:24 +0100 Subject: [PATCH 15/17] complete extra 1 and 2 --- extra/1-currency-conversion.js | 10 ++++++++-- extra/2-piping.js | 19 +++++++++++-------- extra/3-magic-8-ball.js | 1 + 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index d82e59480..5ffc6d065 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(pound) { + return pound * 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(pound) { + let fee = pound * 0.01; + pound = pound - fee; + return parseFloat((pound * 5.7).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 9c8ebc76a..3e63adbb2 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,29 @@ 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(number) { + return '£' + number; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +// It's hard to read and difficult to debug. +let badCode = format(multiply(add(startingValue,10),2)); /* BETTER PRACTICE */ -let goodCode = +let goodCode = add(startingValue, 10); +goodCode = multiply(goodCode, 2); +goodCode = format(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 f3adbefa5..d53c12860 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -60,6 +60,7 @@ function shakeBall() { */ function checkAnswer(answer) { //Write your code in here + } /* From 260030ee024612e2308ffc00a978875aff6b11fe Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 24 Aug 2021 15:54:18 +0100 Subject: [PATCH 16/17] Complete Magic 8 Ball --- extra/3-magic-8-ball.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index d53c12860..56914d243 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -47,6 +47,27 @@ // and return the answer. function shakeBall() { //Write your code in here + // seenAnswers = ["Very positive", "It is certain.", "Without a doubt.", "Yes - definitely.", "You may rely on it.", "As I see it, yes.", "Most likely.", "Outlook good.", "Yes.", "Signs point to yes.", "Reply hazy, try again.", "Ask again later.", "Better not tell you now.", "Cannot predict now.", "Concentrate and ask again.", "Don't count on it.", "My reply is no.", "My sources say no.", "Outlook not so good.", "Very doubtful."]; + // let randomNumber = Math.floor(Math.random() * seenAnswers.length); + // return seenAnswers[randomNumber]; + + 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 randomNumber = Math.floor(Math.random() * veryPositiveAnswers.length); + + let randomAnswer = [ + veryPositiveAnswers[randomNumber], + positiveAnswers[randomNumber], + negativeAnswers[randomNumber], + veryNegativeAnswers[randomNumber], + ]; + + let randomNumber2 = Math.floor(Math.random() * randomAnswer.length); + console.log("The ball has shaken!"); + return randomAnswer[randomNumber2]; } /* @@ -60,6 +81,19 @@ function shakeBall() { */ function checkAnswer(answer) { //Write your code in here + if (answer === "It is certain." || answer === "It is decidedly so." || answer === "Without a doubt." || answer === "Yes - definitely." || answer === "You may rely on it.") { + return "very positive"; + } + else if (answer === "As I see it, yes." || answer === "Most likely." || answer === "Outlook good." || answer === "Yes." || answer === "Signs point to yes.") { + return "positive"; + } + else if (answer === "Reply hazy, try again." || answer === "Ask again later." || answer === "Better not tell you now." || answer === "Cannot predict now." || answer === "Concentrate and ask again.") { + return "negative"; + } + else if (answer === "Don't count on it." || answer === "My reply is no." || answer === "My sources say no." || answer === "Outlook not so good." || answer === "Very doubtful.") { + return "very negative"; + } + } From 39f3b7e5cfda5435e951d77af3c4cf47133fa128 Mon Sep 17 00:00:00 2001 From: justsealan Date: Tue, 24 Aug 2021 16:11:28 +0100 Subject: [PATCH 17/17] Clear comments --- extra/3-magic-8-ball.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 56914d243..24c6062d1 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -47,9 +47,6 @@ // and return the answer. function shakeBall() { //Write your code in here - // seenAnswers = ["Very positive", "It is certain.", "Without a doubt.", "Yes - definitely.", "You may rely on it.", "As I see it, yes.", "Most likely.", "Outlook good.", "Yes.", "Signs point to yes.", "Reply hazy, try again.", "Ask again later.", "Better not tell you now.", "Cannot predict now.", "Concentrate and ask again.", "Don't count on it.", "My reply is no.", "My sources say no.", "Outlook not so good.", "Very doubtful."]; - // let randomNumber = Math.floor(Math.random() * seenAnswers.length); - // return seenAnswers[randomNumber]; 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."];