From 4fdd2fd43e7e671cdab72a2ce9ef5b6f5a49f7f0 Mon Sep 17 00:00:00 2001 From: craig-dsilva <90406619+craig-dsilva@users.noreply.github.com> Date: Mon, 13 Dec 2021 13:10:07 +0000 Subject: [PATCH 1/5] Exercises complete --- exercises/B-hello-world/exercise.js | 2 +- exercises/C-variables/exercise.js | 3 +++ exercises/D-strings/exercise.js | 3 ++- exercises/E-strings-concatenation/exercise.js | 4 ++++ exercises/F-strings-methods/exercise.js | 4 ++++ exercises/F-strings-methods/exercise2.js | 4 ++++ exercises/G-numbers/exercise.js | 8 ++++++++ exercises/I-floats/exercise.js | 5 +++++ exercises/J-functions/exercise.js | 1 + exercises/J-functions/exercise2.js | 1 + exercises/K-functions-parameters/exercise.js | 3 ++- exercises/K-functions-parameters/exercise2.js | 3 +++ exercises/K-functions-parameters/exercise3.js | 3 +++ exercises/K-functions-parameters/exercise4.js | 4 ++++ exercises/K-functions-parameters/exercise5.js | 3 +++ exercises/L-functions-nested/exercise.js | 11 +++++++++++ 16 files changed, 59 insertions(+), 3 deletions(-) diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..a6b8c64d8 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!"); diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..eeab4e8a9 100644 --- a/exercises/C-variables/exercise.js +++ b/exercises/C-variables/exercise.js @@ -1,3 +1,6 @@ // Start by creating a variable `greeting` +let greeting = "Hello world"; console.log(greeting); +console.log(greeting); +console.log(greeting); diff --git a/exercises/D-strings/exercise.js b/exercises/D-strings/exercise.js index 2cffa6a81..49db7a86d 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,4 @@ // Start by creating a variable `message` +let message = "This is a string"; -console.log(message); +console.log(message, typeof message); diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..111678cd9 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` +let greetingStart = "Hello, my name is "; +let name = "Craig"; + +let message = greetingStart + name; console.log(message); diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..04c62b410 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,7 @@ // Start by creating a variable `message` +let name = "Craig"; +let nameLength = name.length; + +let message = `My name is ${name} and is ${nameLength} characters long`; console.log(message); diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..f73087c03 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,7 @@ const name = " Daniel "; +let trimmedName = name.trim(); +let nameLength = trimmedName.length; + +let message = `My name is ${trimmedName} and is ${nameLength} characters long`; console.log(message); diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..7b25dd61f 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,9 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +let numberOfStudents = 15; +let numberOfMentors = 8; + +let message = `Number of students: ${numberOfStudents} Number of mentors: ${numberOfMentors} Total number of students and mentors: ${ + numberOfStudents + numberOfMentors +}`; + +console.log(message); diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..824ecd2e0 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,7 @@ var numberOfStudents = 15; var numberOfMentors = 8; + +console.log( + `Percentage students: ${Math.round((numberOfStudents / 23) * 100)}%` +); +console.log(`Percentage mentors: ${Math.round((numberOfMentors / 23) * 100)}%`); diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..0fc4c3655 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,5 +1,6 @@ function halve(number) { // complete the function here + return number / 2; } var result = halve(12); 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); diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..dbd50454d 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(a, b) { // Calculate the result of the function and return it + return a * b; } // 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..ab4102430 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,4 +1,7 @@ // Declare your function first +function divide(a, b) { + return a / b; +} var result = divide(3, 4); diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 537e9f4ec..e928bd2de 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,4 +1,7 @@ // Write your function here +function createGreeting(name) { + return `Hello, my name is ${name}`; +} var greeting = createGreeting("Daniel"); diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..164348614 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,9 @@ // Declare your function first +function add(a, b) { + return a + b; +} // Call the function and assign to a variable `sum` +let 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..8973b5d54 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,4 +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); diff --git a/exercises/L-functions-nested/exercise.js b/exercises/L-functions-nested/exercise.js index a5d377442..852d7b12a 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(name) { + let shouty = `Hello ${name}`; + return shouty.toUpperCase(); +} + +console.log(greeting(mentor1)); +console.log(greeting(mentor2)); +console.log(greeting(mentor3)); +console.log(greeting(mentor4)); +console.log(greeting(mentor5)); From 5d42386601fc282d51c7f6733f0bd851b2e9263f Mon Sep 17 00:00:00 2001 From: craig-dsilva <90406619+craig-dsilva@users.noreply.github.com> Date: Mon, 13 Dec 2021 15:33:55 +0000 Subject: [PATCH 2/5] Mandatory complete --- mandatory/1-syntax-errors.js | 11 ++++++----- mandatory/2-logic-error.js | 7 +++---- mandatory/3-function-output.js | 5 +++-- mandatory/4-tax.js | 8 ++++++-- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index a10cc9ac2..98360ac6b 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; } /* 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; } /* diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5a953ba60..1d0f6868c 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,16 +1,17 @@ // Add comments to explain what this function does. You're meant to use Google! function getRandomNumber() { - return Math.random() * 10; + return Math.random() * 10; //It multiplies a random number with 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); //This concats two strings 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. + return firstWord + " " + secondWord + " " + thirdWord; } /* diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..3fa4220bb 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(amount) { + return (amount * 20) / 100 + amount; +} /* 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(amount) { + return `£${calculateSalesTax(amount).toFixed(2)}`; +} /* =================================================== From ea8fbce17b4ac58ce655d9f583a0020e1bb385ad Mon Sep 17 00:00:00 2001 From: craig-dsilva <90406619+craig-dsilva@users.noreply.github.com> Date: Tue, 14 Dec 2021 11:41:28 +0000 Subject: [PATCH 3/5] 2 of 3 extras complete --- extra/1-currency-conversion.js | 12 ++++++++++-- extra/2-piping.js | 21 +++++++++++---------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..0767e0963 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(amount) { + return 1.4 * amount; +} /* CURRENCY CONVERSION @@ -15,7 +17,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(amount) { + let fee = (amount * 1) / 100; + let withFee = amount - fee; + let withFeeConverted = withFee * 5.7; + let stringTotal = withFeeConverted.toFixed(2); + return parseFloat(stringTotal); +} /* ======= 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 b4f8c4c1b..9bf3c330b 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,27 +16,28 @@ 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(number) { + return `£${number.toString()}`; } 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)); /* BETTER PRACTICE */ - -let goodCode = - +let sum = add(startingValue, 10); +let product = multiply(sum, 2); +let formatted = `£${product}`; +let goodCode = formatted; /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. From 9af365302f94caea5ce8da0536aa68ed78f32432 Mon Sep 17 00:00:00 2001 From: craig-dsilva <90406619+craig-dsilva@users.noreply.github.com> Date: Fri, 17 Dec 2021 15:05:04 +0000 Subject: [PATCH 4/5] Update 2-piping.js --- extra/2-piping.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extra/2-piping.js b/extra/2-piping.js index 9bf3c330b..091f394fa 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -31,12 +31,12 @@ function format(number) { const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = format(multiply(add(startingValue, 10), 2)); +let badCode = format(multiply(add(startingValue, 10), 2)); // Even though it works, I feel that this is bad practice because every thing is on one line and it would be difficult to debug /* BETTER PRACTICE */ let sum = add(startingValue, 10); let product = multiply(sum, 2); -let formatted = `£${product}`; +let formatted = `£${Math.round(product)}`; let goodCode = formatted; /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. From 75ad4b9cb305b128f7014be7246d9b8ebf00ada8 Mon Sep 17 00:00:00 2001 From: craig-dsilva <90406619+craig-dsilva@users.noreply.github.com> Date: Tue, 28 Dec 2021 12:17:26 +0000 Subject: [PATCH 5/5] Reviewed Fixed some code after reviewing from the solutions --- extra/2-piping.js | 3 ++- mandatory/1-syntax-errors.js | 2 +- mandatory/4-tax.js | 5 ++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/extra/2-piping.js b/extra/2-piping.js index 091f394fa..55a836d85 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -25,7 +25,8 @@ function multiply(a, b) { } function format(number) { - return `£${number.toString()}`; + return "£" + number; + //return `£${number.toString()}`; My code } const startingValue = 2; diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index 98360ac6b..f72632d88 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -9,7 +9,7 @@ function introduceMe(name, age) { } function getTotal(a, b) { - total = a + b; + let total = a + b; return "The total is " + total; } diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index 3fa4220bb..034c5efad 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -6,7 +6,10 @@ */ function calculateSalesTax(amount) { - return (amount * 20) / 100 + amount; + let taxRate = 20; + let taxAmount = amount * (taxRate / 100); + return amount + taxAmount; + // return (amount * 20) / 100 + amount; my solution } /*