diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 000000000..b408795c6 Binary files /dev/null and b/.DS_Store differ diff --git a/exercises/.DS_Store b/exercises/.DS_Store new file mode 100644 index 000000000..c16147628 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..b0ea518e1 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1 @@ -console.log("Hello world"); +console.log(555); diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..5167ee198 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); diff --git a/exercises/D-strings/exercise.js b/exercises/D-strings/exercise.js index 2cffa6a81..5c087ec48 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,8 @@ // Start by creating a variable `message` +// var message = "This is a string"; +// var messageType = typeof message; -console.log(message); +// console.log(messageType); + +var message = "Terminal still scares me"; +console.log(typeof message); diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..9c8a81b55 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 message = "Hello, my name is "; +var firstName = "Gulnihal"; -console.log(message); +var greeting = message + firstName; + + +console.log(greeting); diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..ba47727e0 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,15 @@ // Start by creating a variable `message` +var firstName = "Gulnihal"; + +var firstNameLength = firstName.length; + + +console.log(firstNameLength); + +var message = "My name is Gulnihal and my name is 8 characters long" + console.log(message); + +var noSpaceMessage = message.trim; +console.log(noSpaceMessage); diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..85fd91b11 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); +const name = " Gulnihal "; +var message = "My name is Gulnihal and my name is 8 characters long" +var noSpace = message.trim; +console.log(noSpace); diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..efae065dd 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,5 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +var numberOfStudents =30; +var numberOfMentors = 16; +var totalNumberOfStudentsAndMentors = numberOfStudents + numberOfMentors; +console.log(totalNumberOfStudentsAndMentors); \ No newline at end of file diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..3925befa7 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,17 @@ var numberOfStudents = 15; var numberOfMentors = 8; + + +// var preciseAge = 30.612437; +// var roughAge = Math.round(preciseAge); +// console.log(roughAge); + +var proportionStudents = (numberOfStudents / (numberOfStudents + numberOfMentors)) *100; +console.log(proportionStudents); +var roughProportionStudents = Math.round(proportionStudents); +console.log(roughProportionStudents); + +var proportionMentors = (numberOfMentors / (numberOfStudents + numberOfMentors)) *100; +console.log(proportionMentors); +var roughProportionMentors = Math.round(proportionMentors); +console.log(roughProportionMentors); \ No newline at end of file diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..22d2db355 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,5 +1,5 @@ function halve(number) { - // complete the function here + return number / 2; // complete the function here } var result = halve(12); diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index 82ef5e780..0328dc2d7 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,5 +1,5 @@ function triple(number) { - // complete function here + return number * 3; // complete function here } var result = triple(12); diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..79bb0c532 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -1,6 +1,6 @@ // 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` diff --git a/exercises/K-functions-parameters/exercise2.js b/exercises/K-functions-parameters/exercise2.js index db7a8904b..9d2cfb53d 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,4 +1,6 @@ -// Declare your function first +function divide (num1, num2) { + return num1 / num2; +}// Declare your function first var result = divide(3, 4); diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 537e9f4ec..503e72b42 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,3 +1,6 @@ +function createGreeting(name) { + return "Hello, my name is " + name; +} // Write your function here var greeting = createGreeting("Daniel"); diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..e471c1a24 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,8 @@ +function add(num1, num2){ + return num1 + num2; +} // Declare your function first // 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..87fee99ab 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,3 +1,6 @@ +function createLongGreeting (name, age){ + return "Hello, my name is " + name + " and I'm " +age + " years old" +} // Declare your function here const greeting = createLongGreeting("Daniel", 30); diff --git a/exercises/L-functions-nested/exercise.js b/exercises/L-functions-nested/exercise.js index a5d377442..a4a92b62c 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -3,3 +3,21 @@ var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + +function nameUpperCase(mentor) { + return mentor.toUpperCase(); +} +function greeting(name){ + let message = "HELLO " + nameUpperCase(name); + return message; +} + +console.log(greeting(mentor1)); + +console.log(greeting(mentor2)); + +console.log(greeting(mentor3)); + +console.log(greeting(mentor4)); + +console.log(greeting(mentor5)); diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 07391e15f..d4310f1a9 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(price) { + return price * 1.4; +} /* CURRENCY FORMATTING @@ -15,7 +17,12 @@ 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(price) { + let BrlToP = parseFloat((price *(99/100) * 5.7).toFixed(2)); + + return BrlToP; + +} /* ======= 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..777950f40 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,27 @@ 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 = +// Why can this code be seen as bad practice? Comment your answer. +// bacause: lots of parantheses, and there are already mathematical symbols to do these operations. +let badCode = format(multiply((add(startingValue, 10)), 2)); /* BETTER PRACTICE */ -let goodCode = +let goodCode = "£" + ((startingValue+10)*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/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 7626877e7..3878e754c 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -13,40 +13,45 @@ and have different levels of positivity or negativity. Below are the possible answers: - - ## Very positive - It is certain. - It is decidedly so. - Without a doubt. - Yes - definitely. - You may rely on it. - - ## Positive - As I see it, yes. - Most likely. - Outlook good. - Yes. - Signs point to yes. - - ## Negative - Reply hazy, try again. - Ask again later. - Better not tell you now. - Cannot predict now. - Concentrate and ask again. - - ## Very negative - Don't count on it. - My reply is no. - My sources say no. - Outlook not so good. - Very doubtful. */ + // ## Very positive + let answers = [ + "It is certain.", + "It is decidedly so.", + "Without a doubt.", + "Yes - definitely.", + "You may rely on it.", + + // ## Positive + "As I see it, yes.", + "Most likely.", + "Outlook good.", + "Yes.", + "Signs point to yes.", + + // ## Negative + "Reply hazy, try again.", + "Ask again later.", + "Better not tell you now.", + "Cannot predict now.", + "Concentrate and ask again.", + + // ## Very negative + "Don't count on it.", + "My reply is no.", + "My sources say no.", + "Outlook not so good.", + "Very doubtful." + ]; + + // This should log "The ball has shaken!" // and return the answer. function shakeBall() { - //Write your code in here + console.log("The ball has shaken!") + var index = Math.floor(Math.random()*answers.length); + return answers[index]; } /* @@ -59,7 +64,23 @@ function shakeBall() { This function should expect to be called with any value which was returned by the shakeBall function. */ function checkAnswer(answer) { - //Write your code in here + let index = answers.indexOf(answer); + + return index <5 ? "very positive" + :index <10 ? "positive" + :index <15 ? "negative" + : "very negative"; + + // if (index <5){ + // return "very positive"; + // } else if (index >= 5 && index <10) { + // return "positive"; + // } else if (index >= 10 && index <15) { + // return "negative"; + // } else { + // return "very negative"; + // } +//Write your code in here } /* 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 b90d41dd1..a7235f9bb 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -1,16 +1,16 @@ // 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(); +function getStringLength(word) { + 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..e48995a0f 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,14 +1,15 @@ // Add comments to explain what this function does. You're meant to use Google! -function getRandomNumber() { +function getRandomNumber() { //gets random numbers return Math.random() * 10; } // Add comments to explain what this function does. You're meant to use Google! -function combine2Words(word1, word2) { +function combine2Words(word1, word2) { //combine two words without space between them return word1.concat(word2); } function concatenate(firstWord, secondWord, thirdWord) { + return firstWord.concat(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. } @@ -25,13 +26,13 @@ To run the tests for just this one file, type `npm test -- --testPathPattern 3-f */ test("concatenate example #1", () => { - expect(concatenate("code", "your", "future")).toEqual("code your future"); + expect(concatenate("code ", "your ", "future")).toEqual("code your future"); }); test("concatenate example #2", () => { - expect(concatenate("I", "like", "pizza")).toEqual("I like pizza"); + expect(concatenate("I ", "like ", "pizza")).toEqual("I like pizza"); }); test("concatenate doesn't only accept strings", () => { - expect(concatenate("I", "am", 13)).toEqual("I am 13"); + expect(concatenate("I ", "am ", 13)).toEqual("I am 13"); }); diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..7667cef75 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(price){ + return price * 1.2; +} /* CURRENCY FORMATTING @@ -17,7 +19,11 @@ 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); + } + + /* ===================================================