diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..c14c46ebb 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,10 @@ -console.log("Hello world"); +var greeting = "How are you today?"; + + +console.log("Hello world,", " My name is Jon,", "How are you today?"); + +console.log(36); + +console.log(greeting); +console.log(greeting); +console.log(greeting); \ No newline at end of file diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..fd47b4fad 100644 --- a/exercises/C-variables/exercise.js +++ b/exercises/C-variables/exercise.js @@ -1,3 +1,5 @@ // Start by creating a variable `greeting` - +const 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..8527e9867 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,5 @@ // Start by creating a variable `message` - +const message = "This is a string"; +const messageType = typeof message; console.log(message); +console.log(messageType); diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..a6a09954e 100644 --- a/exercises/E-strings-concatenation/exercise.js +++ b/exercises/E-strings-concatenation/exercise.js @@ -1,3 +1,6 @@ // Start by creating a variable `message` +let greetingStart = "Hello, my name is "; +let name = "Jon"; -console.log(message); +let greeting = greetingStart + name; +console.log(greeting); diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..2a466b439 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` +const name = "Jon"; +let nameLength = name.length; +let greeting = "My name is, " + name + " and my name is " + nameLength + " characters long"; + +console.log(greeting); -console.log(message); diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..63ff6d735 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,3 @@ const name = " Daniel "; - -console.log(message); +const nameTrim = name.trim(); +console.log(nameTrim); diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..d54407667 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,10 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +let numberOfStudents = 15; +let numberOfMentors = 8; +let totalNumber = numberOfStudents + numberOfMentors; +let message = "Total number of students and mentors: " + totalNumber; + +console.log(numberOfStudents); +console.log(numberOfMentors); +console.log(message); + diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..4da8a80ea 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,17 @@ -var numberOfStudents = 15; -var numberOfMentors = 8; +let numberOfStudents = 15; +let numberOfMentors = 8; + +// total of students and mentors +let total = numberOfStudents + numberOfMentors; + +// Get percentage of students and mentors +let studentsConvert = numberOfStudents / total * 100; +let mentorsConvert = numberOfMentors / total * 100; + +// round the figure +let percentageOfStudents = Math.round(studentsConvert); +let percentageOfMentors = Math.round(mentorsConvert); + +// console log +console.log(`Percentage of Students: ${percentageOfStudents}%`); +console.log(`Percentage of Mentors: ${percentageOfMentors}%`); \ No newline at end of file diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..ec4825b45 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,7 +1,12 @@ function halve(number) { // complete the function here + return number / 2 } var result = halve(12); +var result = halve(100); +var result = halve(10); + console.log(result); + diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index 82ef5e780..d29e195d9 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..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..d6e59c517 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,5 +1,7 @@ // Declare your function first - +function divide(num1, num2) { + return num1 / num2; +} 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..5865ea946 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,5 +1,8 @@ // Write your function here +function greeting(name) { + return `Hello my name is ${name}`; +} -var greeting = createGreeting("Daniel"); +var greeting1 = greeting("Daniel"); -console.log(greeting); +console.log(greeting1); diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..4d9d1db7d 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,8 @@ // Declare your function first +function add(num1, num2) { + return num1 + num2; +} // 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..1d07add45 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 am ${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..88d70c310 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -1,5 +1,38 @@ +// exercise one +function groupPercentage(num1, num2){ + let groupTotal = num1 + num2; + return calculatePercentage = Math.round((num1 / groupTotal) * 100); +} + +function message(numberOfStudents, numberOfMentors){ + let percentageOfStudents = groupPercentage(numberOfStudents, numberOfMentors); + let percentageOfMentors = groupPercentage (numberOfMentors, numberOfStudents); + return displayPercentage = `Percentage students: ${percentageOfStudents}%\nPercentage students: ${percentageOfMentors}%`; +} + let percentage = message(15, 8); + console.log(percentage); + +// exercise 2 + var mentor1 = "Daniel"; var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + +function shout(mentor) { + let capNames = mentor.toUpperCase(); + return greeting = `HELLO ${capNames}`; +} + +let firstGreeting = shout(mentor1); +let secondGreeting = shout(mentor2); +let thirdGreeting = shout(mentor3); +let fourthGreeting = shout(mentor4); +let fifthGreeting = shout(mentor5); + +console.log(firstGreeting); +console.log(secondGreeting); +console.log(thirdGreeting); +console.log(fourthGreeting); +console.log(fifthGreeting); \ No newline at end of file diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 70a2fe863..067197030 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -5,7 +5,13 @@ Write a function that converts a price to USD (exchange rate is 1.4 $ to £) */ -function convertToUSD() {} +function convertToUSD(inPounds) { + return inPounds * 1.4; +} + +let value = convertToUSD(32); + +console.log(`The amount is $${value}`); /* CURRENCY FORMATTING @@ -15,7 +21,14 @@ 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(inPounds) { + let fee = inPounds - (0.01 * inPounds); + return Math.round((fee * 5.7)* 100)/100; +} + +let newValue = convertToBRL(30); + +console.log(`Amount is ${newValue} Brazilian real`); /* ======= 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 067dd0f5b..ab0d2f463 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,16 +16,16 @@ 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(toString) { + return `£${toString}`; } const startingValue = 2 diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index e32182cfe..d43002795 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -43,6 +43,29 @@ Very doubtful. */ +let answers = [ + posisibility: "It is certain", type: "very positive" + posisibility: "It is certain", type: "very positive" + posisibility: "It is certain", type: "very positive" + posisibility: "It is certain", type: "very positive" + posisibility: "It is certain", type: "very positive" + posisibility: "It is certain", type: "positive" + posisibility: "It is certain", type: "positive" + posisibility: "It is certain", type: "positive" + posisibility: "It is certain", type: "positive" + posisibility: "It is certain", type: "positive" + posisibility: "It is certain", type: "negative" + posisibility: "It is certain", type: "negative" + posisibility: "It is certain", type: "negative" + posisibility: "It is certain", type: "negative" + posisibility: "It is certain", type: "negative" + posisibility: "It is certain", type: "very negative" + posisibility: "It is certain", type: "very negative" + posisibility: "It is certain", type: "very negative" + posisibility: "It is certain", type: "very negative" + posisibility: "It is certain", type: "very negative" +] + // This should log "The ball has shaken!" // and return the answer. function shakeBall() { diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index 0a21afd1b..ae8d15e1a 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,16 +1,19 @@ // 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 3c578ad87..42de9e9a2 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; } /* diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index c9221a200..0a6d7aea7 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,9 +1,11 @@ // Add comments to explain what this function does. You're meant to use Google! +// This function returns a random number between 0 and 10 but not 10 function getNumber() { return Math.random() * 10; } // Add comments to explain what this function does. You're meant to use Google! +// This function joins the w1 and w2 or concatinates them (spelling questionable) function s(w1, w2) { return w1.concat(w2); } @@ -11,6 +13,7 @@ function s(w1, 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. + return `${firstWord} ${secondWord} ${thirdWord}`; } /* diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index c9e41c691..bac02cf63 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -4,8 +4,12 @@ A business requires a program that calculates how much sales tax to charge Sales tax is 20% of the price of the product */ +// productBefore is product price before tax is added -function calculateSalesTax() {} +function calculateSalesTax(productBefore) { + let tax = 0.2; + return productBefore + productBefore * tax; +} /* CURRENCY FORMATTING @@ -17,7 +21,12 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} +function addTaxAndFormatCurrency(productBefore) { + let newValue = `£${calculateSalesTax(productBefore).toFixed(2)}`; + return newValue; +} + + /* ===================================================