From 82775c8485c0b256edef25ea7792c5f0f713213e Mon Sep 17 00:00:00 2001 From: irina mihai Date: Sun, 31 Jul 2022 21:54:18 +0100 Subject: [PATCH 1/2] exercises --- exercises/B-hello-world/exercise.js | 1 + exercises/C-variables/exercise.js | 2 +- exercises/D-strings/exercise.js | 5 ++++- exercises/F-strings-methods/exercise.js | 4 +++- exercises/F-strings-methods/exercise2.js | 2 ++ exercises/G-numbers/exercise.js | 4 ++++ exercises/I-floats/exercise.js | 11 ++++++++-- 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/L-functions-nested/README.md | 11 ++++++++-- exercises/L-functions-nested/exercise.js | 22 +++++++++++++++++++ mandatory/1-syntax-errors.js | 12 +++++----- mandatory/2-logic-error.js | 7 +++--- mandatory/3-function-output.js | 6 ++++- mandatory/4-tax.js | 12 ++++++++-- 19 files changed, 94 insertions(+), 20 deletions(-) diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..c716c89fe 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,2 @@ +let greeting = "Hello world"; console.log("Hello world"); diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..be528d2d0 100644 --- a/exercises/C-variables/exercise.js +++ b/exercises/C-variables/exercise.js @@ -1,3 +1,3 @@ // Start by creating a variable `greeting` - +let greeting = "Hello world"; console.log(greeting); diff --git a/exercises/D-strings/exercise.js b/exercises/D-strings/exercise.js index 2cffa6a81..9443edbe0 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,6 @@ // Start by creating a variable `message` - +let greeting = "Hello"; +let name = "irina"; +let message = `${greeting} ${name}`; console.log(message); +console.log(irina); diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..f4666e044 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,5 @@ // Start by creating a variable `message` - +let name ="irina"; +let nameLenght = name.lenght; +let message =`my name is ${name} and my name 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..64646ccfc 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,5 @@ const name = " Daniel "; +let trimmedName = name.trim(); +let message = `My name is ${trimmedName} and my name is ${trimmedName.length} characters long`; console.log(message); diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..1a711d60e 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 = numberOfMentors + numberOfStudents; +console.log(total); diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..00e02f4cf 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,9 @@ -var numberOfStudents = 15; -var numberOfMentors = 8; +let numberOfStudents = 15; +let numberOfMentors = 8; +let total = numberOfStudents + numberOfMentors; +const pOfStudents = Math.round((numberOfStudents / total) * 100); +const pOfMentors = Math.round((numberOfMentors / total) * 100); +console.log(`Number of Students: ${numberOfStudents}`); +console.log(`Number of Mentors: ${numberOfMentors}`); +console.log(`percentage of students ${pOfStudents}%`); +console.log(`percentage of mentors ${pOfMentors}%`); diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..4388d061b 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,4 +1,5 @@ function halve(number) { + return number / 2 // complete the function here } diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index 82ef5e780..75d1c2f90 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,4 +1,5 @@ function triple(number) { + return number * 3; // complete function here } diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..f842a131f 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(x, y) { // Calculate the result of the function and return it + return x * y; } // 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..835563ba5 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..dc9636002 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,9 @@ // Declare your function first + let sum = 13 +124; + + + // Call the function and assign to a variable `sum` console.log(sum); diff --git a/exercises/L-functions-nested/README.md b/exercises/L-functions-nested/README.md index 1c4ae9c8a..c5f451905 100644 --- a/exercises/L-functions-nested/README.md +++ b/exercises/L-functions-nested/README.md @@ -9,13 +9,14 @@ function getAgeInDays(age) { return age * 365; } -function createCreeting(name, age) { +function createGreeting(name, age) { var ageInDays = getAgeInDays(age); var message = "My Name is " + name + " and I was born over " + ageInDays + " days ago!"; return message; } -``` + + ## Exercise 1 @@ -23,12 +24,18 @@ function createCreeting(name, age) { - Your program should include a function that spells their name in uppercase, and a function that creates a shouty greeting. - Log each greeting to the console. + + ## Expected result ``` + HELLO DANIEL HELLO IRINA HELLO MIMI HELLO ROB HELLO YOHANNES + +``` + ``` diff --git a/exercises/L-functions-nested/exercise.js b/exercises/L-functions-nested/exercise.js index a5d377442..01a80fc98 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -1,5 +1,27 @@ +function createGreeting(name, age) { + return `hello my name is ${name} and I am ${age} years old`; +} +let greeting = createGreeting("Daniel", 30); +console.log(greeting); + + + + + var mentor1 = "Daniel"; var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + + +function mentorGreeting(name) { + let getUpperCase = name.toUpperCase(); + return `Hello ${getUpperCase}`; +} + +console.log(mentorGreeting(mentor1)); +console.log(mentorGreeting(mentor2)); +console.log(mentorGreeting(mentor3)); +console.log(mentorGreeting(mentor4)); +console.log(mentorGreeting(mentor5)); \ No newline at end of file diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index a10cc9ac2..1a4b0c3a9 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; + let 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..5e853b209 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,14 +1,18 @@ // Add comments to explain what this function does. You're meant to use Google! +// Math.random will create a random number between 0 and 1, therefore the function will generate a random number between 0 and 1 and then multiply it by 10 function getRandomNumber() { return Math.random() * 10; } // Add comments to explain what this function does. You're meant to use Google! +// The word1.concat(word2) function will combine 2 strings together. function combine2Words(word1, word2) { return word1.concat(word2); } -function concatenate(firstWord, secondWord, thirdWord) { +function concatenate(firstWord, secondWord, thirdWord) +return firstWord.concat(" " + secondWord).concat(" " + 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. } diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..3edca6e91 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,11 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} +function calculateSalesTax(productPrice) { + let productTax = productPrice * 0.2; + return productTax; +} +console.log(calculateSalesTax(100)); /* CURRENCY FORMATTING @@ -17,7 +21,11 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} +function addTaxAndFormatCurrency(productPrice) { + let productTax = productPrice * 0.2; + return "£" + (productTax + productPrice).toFixed(2); +} +console.log(addTaxAndFormatCurrency(100)); /* =================================================== From 6ef261ae472f242fab111fac5d08df9e49eb99ed Mon Sep 17 00:00:00 2001 From: irina mihai Date: Sat, 6 Aug 2022 17:17:41 +0100 Subject: [PATCH 2/2] fixing exercises --- extra/2-piping.js | 7 +++++-- mandatory/1-syntax-errors.js | 5 ++--- mandatory/3-function-output.js | 5 ++--- mandatory/4-tax.js | 14 +++++++------- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/extra/2-piping.js b/extra/2-piping.js index b4f8c4c1b..47e6a172f 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,15 +16,18 @@ 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() { + return } diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index 1a4b0c3a9..6e29e952c 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,16 +1,15 @@ // 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 getTotal(a, b) { - let total = a +b ; + let total = a + b; return `The total is ${total}`; } diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5e853b209..c27b3d55f 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -10,9 +10,8 @@ function combine2Words(word1, word2) { return word1.concat(word2); } -function concatenate(firstWord, secondWord, thirdWord) -return firstWord.concat(" " + secondWord).concat(" " + thirdWord); -{ +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. } diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index 3edca6e91..a754eca38 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,11 +5,11 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax(productPrice) { - let productTax = productPrice * 0.2; - return productTax; +function calculateSalesTax(priceBeforeTax) { + return priceBeforeTax + (priceBeforeTax * 0.2); + } -console.log(calculateSalesTax(100)); + /* CURRENCY FORMATTING @@ -21,9 +21,9 @@ console.log(calculateSalesTax(100)); Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency(productPrice) { - let productTax = productPrice * 0.2; - return "£" + (productTax + productPrice).toFixed(2); +function addTaxAndFormatCurrency(priceBeforeTax) { +let priceAfterTax = calculateSalesTax(priceBeforeTax); +return `£${priceAfterTax.toFixed(2)}`; } console.log(addTaxAndFormatCurrency(100));