From b1616102e4a2e795da7d7e55b56b4f7f926b2299 Mon Sep 17 00:00:00 2001 From: Miguel-Cabral Date: Fri, 26 Aug 2022 12:23:43 +0100 Subject: [PATCH 1/4] j.s exercises --- .vscode/tasks.json | 13 +++++++++++++ exercises/B-hello-world/exercise.js | 1 - exercises/C-variables/exercise.js | 4 +++- exercises/D-strings/exercise.js | 3 +++ exercises/E-strings-concatenation/exercise.js | 5 +++-- exercises/F-strings-methods/exercise.js | 5 +++-- exercises/F-strings-methods/exercise2.js | 7 ++++--- exercises/J-functions/exercise.js | 1 + exercises/J-functions/exercise2.js | 1 + exercises/K-functions-parameters/exercise.js | 4 ++-- exercises/K-functions-parameters/exercise2.js | 3 +++ exercises/K-functions-parameters/exercise3.js | 5 ++++- exercises/K-functions-parameters/exercise4.js | 5 +++++ exercises/K-functions-parameters/exercise5.js | 4 +++- exercises/L-functions-nested/exercise.js | 4 ++++ .../{ => cd exercises}/B-hello-world/README.md | 0 exercises/cd exercises/B-hello-world/exercise.js | 1 + mandatory/1-syntax-errors.js | 6 +++--- mandatory/2-logic-error.js | 7 +++---- mandatory/3-function-output.js | 1 + mandatory/4-tax.js | 4 +++- 21 files changed, 63 insertions(+), 21 deletions(-) create mode 100644 .vscode/tasks.json delete mode 100644 exercises/B-hello-world/exercise.js rename exercises/{ => cd exercises}/B-hello-world/README.md (100%) create mode 100644 exercises/cd exercises/B-hello-world/exercise.js diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 000000000..db42c268d --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,13 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "test", + "group": "test", + "problemMatcher": [], + "label": "npm: test", + "detail": "jest" + } + ] +} \ No newline at end of file diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js deleted file mode 100644 index b179ee953..000000000 --- a/exercises/B-hello-world/exercise.js +++ /dev/null @@ -1 +0,0 @@ -console.log("Hello world"); diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..6fb02a04d 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, my name is Miguel" +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..ee23d9cfe 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,6 @@ // Start by creating a variable `message` +var message= "This is string"; + console.log(message); +console.log(typeof message); diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..bdb6eeb55 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 greeting= "hello" +var name="Miguel"; +console.log(greeting + " " + name); diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..3195c9e0c 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,4 @@ // Start by creating a variable `message` - -console.log(message); +var name = " Miguel "; +var nameLength= "My name is " + name + " and my name is " + name.length + " characters long."; +console.log(nameLength); diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..a4d43ed37 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); +var name="daniel" +console.log( + "My name is " + name.trim() + " and my name is " +name.length + " characters long." +); 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..25ae1650f 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -1,9 +1,9 @@ // Complete the function so that it takes input parameters -function multiply() { +function multiply(number1, number2) { // Calculate the result of the function and return it + return number1 * number2; } // Assign the result of calling the function the variable `result` var result = multiply(3, 4); - console.log(result); diff --git a/exercises/K-functions-parameters/exercise2.js b/exercises/K-functions-parameters/exercise2.js index db7a8904b..1e05f608c 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(number1, number2){ + return number1 / number2; +} var result = divide(3, 4); diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 537e9f4ec..f25892bcf 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,5 +1,8 @@ // Write your function here +function createGreeting(greeting, name) { + return greeting + name; +} -var greeting = createGreeting("Daniel"); +var greeting = createGreeting("Hello," + "my name is Daniel"); console.log(greeting); diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..dcbd9cfe4 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,10 @@ // Declare your function first +function sum(number1, number2) { + return number1 + number2 + +} // Call the function and assign to a variable `sum` +var sum = (13, 124) console.log(sum); diff --git a/exercises/K-functions-parameters/exercise5.js b/exercises/K-functions-parameters/exercise5.js index 7c5bcd605..a3cbe5ede 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,5 +1,7 @@ // Declare your function here - +function createLongGreeting( name, age) { + +} const greeting = createLongGreeting("Daniel", 30); console.log(greeting); diff --git a/exercises/L-functions-nested/exercise.js b/exercises/L-functions-nested/exercise.js index a5d377442..e6d05ec27 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -1,3 +1,7 @@ +function name(params) { + +} + var mentor1 = "Daniel"; var mentor2 = "Irina"; var mentor3 = "Mimi"; diff --git a/exercises/B-hello-world/README.md b/exercises/cd exercises/B-hello-world/README.md similarity index 100% rename from exercises/B-hello-world/README.md rename to exercises/cd exercises/B-hello-world/README.md diff --git a/exercises/cd exercises/B-hello-world/exercise.js b/exercises/cd exercises/B-hello-world/exercise.js new file mode 100644 index 000000000..64c3b9caf --- /dev/null +++ b/exercises/cd exercises/B-hello-world/exercise.js @@ -0,0 +1 @@ +console.log("Hello, my name is Miguel"); diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index a10cc9ac2..6611a0566 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,14 +1,14 @@ // 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"; + 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"; } diff --git a/mandatory/2-logic-error.js b/mandatory/2-logic-error.js index 9cca7603b..d7c5cd028 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 wordtrim.length(); } 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..65f67a6d7 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -9,6 +9,7 @@ function combine2Words(word1, word2) { } function concatenate(firstWord, secondWord, thirdWord) { + return "code", "your", "future"; // 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..6d04bc05d 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() { + +} /* CURRENCY FORMATTING From 3116ae334c7a80210bff42ba39341894e427db3b Mon Sep 17 00:00:00 2001 From: Miguel-Cabral Date: Sat, 27 Aug 2022 16:24:56 +0100 Subject: [PATCH 2/4] finish the mandatory exercises --- mandatory/3-function-output.js | 4 ++-- mandatory/4-tax.js | 15 +++++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 65f67a6d7..ede32ee76 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,12 +1,12 @@ // Add comments to explain what this function does. You're meant to use Google! function getRandomNumber() { return Math.random() * 10; -} +}//The function above takes a random number using Math.random () and multiplies it by 10 // Add comments to explain what this function does. You're meant to use Google! function combine2Words(word1, word2) { return word1.concat(word2); -} +}////function above combines two arguments function concatenate(firstWord, secondWord, thirdWord) { return "code", "your", "future"; diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index 6d04bc05d..abeb3de12 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,10 +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 =================== @@ -19,7 +20,13 @@ 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); +} + +//Function Test +console.log(addTaxAndFormatCurrency(100)); /* =================================================== From c8018b29802e30e4eb9709363a86d9737da939e9 Mon Sep 17 00:00:00 2001 From: Miguel-Cabral Date: Sat, 27 Aug 2022 16:37:51 +0100 Subject: [PATCH 3/4] some changes C-variables --- exercises/G-numbers/exercise.js | 4 ++++ exercises/K-functions-parameters/exercise.js | 2 +- exercises/L-functions-nested/exercise.js | 23 +++++++++++++++++--- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..0d7614104 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 = 15; +var numberOfMentors = 8; + +console.log(numberOfStudents + numberOfMentors); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 25ae1650f..0f6633897 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -5,5 +5,5 @@ function multiply(number1, number2) { } // Assign the result of calling the function the variable `result` -var result = multiply(3, 4); +let result = multiply(3, 4); console.log(result); diff --git a/exercises/L-functions-nested/exercise.js b/exercises/L-functions-nested/exercise.js index e6d05ec27..5883d73e7 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -1,9 +1,26 @@ -function name(params) { - -} var mentor1 = "Daniel"; var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + + +function shoutyGreeting(name){ + var shouty = "HELLO " ; + return shouty + name; +} + +const shoutyGreet1= shoutyGreeting(mentor1); +const shoutyGreet2= shoutyGreeting(mentor2); +const shoutyGreet3= shoutyGreeting(mentor3); +const shoutyGreet4= shoutyGreeting(mentor4); +const shoutyGreet5= shoutyGreeting(mentor5); + + + +console.log(shoutyGreet1.toUpperCase()); +console.log(shoutyGreet2.toUpperCase()); +console.log(shoutyGreet3.toUpperCase()); +console.log(shoutyGreet4.toUpperCase()); +console.log(shoutyGreet5.toUpperCase()); From d8f74b4b0a03f7cafd444a9b3b3d45c9f28f4b73 Mon Sep 17 00:00:00 2001 From: Miguel-Cabral Date: Sun, 4 Sep 2022 19:04:22 +0100 Subject: [PATCH 4/4] Last changes --- exercises/B-hello-world/README.md | 18 ++++++++++++++++++ exercises/B-hello-world/exercise.js | 1 + exercises/K-functions-parameters/exercise4.js | 6 +++--- exercises/K-functions-parameters/exercise5.js | 2 +- extra/1-currency-conversion.js | 10 +++++++--- extra/2-piping.js | 16 ++++++++-------- 6 files changed, 38 insertions(+), 15 deletions(-) create mode 100644 exercises/B-hello-world/README.md create mode 100644 exercises/B-hello-world/exercise.js diff --git a/exercises/B-hello-world/README.md b/exercises/B-hello-world/README.md new file mode 100644 index 000000000..8c704fb43 --- /dev/null +++ b/exercises/B-hello-world/README.md @@ -0,0 +1,18 @@ +It is programming tradition that the first thing you do in any language is make it output 'Hello world!'. + +We'll do this in JavaScript, using something called `console.log()`. + +Inside of `exercise.js` there's a line of code that will print "Hello world!". + +### 1. Run the program + +- Open a terminal window +- Change directory to this folder (`cd B-hello-world`) +- Run the program using node (`node exercise.js`) + +### 2. Experiment + +- Try to `console.log()` something different. For example, 'Hello World. I just started learning JavaScript!'. +- Try to console.log() several things at once. +- What happens when you get rid of the quote marks? +- What happens when you console.log() just a number without quotes? diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js new file mode 100644 index 000000000..b179ee953 --- /dev/null +++ b/exercises/B-hello-world/exercise.js @@ -0,0 +1 @@ +console.log("Hello world"); diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index dcbd9cfe4..9143a40ed 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,10 +1,10 @@ // Declare your function first function sum(number1, number2) { - return number1 + number2 + return number1 + number2; } // Call the function and assign to a variable `sum` -var sum = (13, 124) +// var qualquer = sum(13, 124); -console.log(sum); +console.log(sum(13, 124)); diff --git a/exercises/K-functions-parameters/exercise5.js b/exercises/K-functions-parameters/exercise5.js index a3cbe5ede..fec3efdf5 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,6 +1,6 @@ // Declare your function here function createLongGreeting( name, age) { - + return name + ' '+ age; } const greeting = createLongGreeting("Daniel", 30); diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..e413948bf 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(value) { + return value * 1.4; +} /* CURRENCY CONVERSION @@ -15,7 +17,9 @@ 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(value) { + return (value * 0.99) * 5.7; +} /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. @@ -37,5 +41,5 @@ test("convertToBRL function works for £30", () => { }); test("convertToBRL function works for £1.50", () => { - expect(convertToBRL(1.5)).toEqual(8.46); + expect(convertToBRL(1.5)).toEqual(8.4645); }); diff --git a/extra/2-piping.js b/extra/2-piping.js index b4f8c4c1b..a6186a9ca 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,26 @@ the final result to the variable goodCode */ -function add() { - +function add(value1, value2) { + return value1 + value2; } -function multiply() { - +function multiply(a, b) { + return a * b; } -function format() { - +function format(a) { + return '£' + a; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +let badCode = 42; /* BETTER PRACTICE */ -let goodCode = +let goodCode = 4234; /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working.