From 9a23e2da4223e17fa9b7a450ec72ffce2ea1bf2d Mon Sep 17 00:00:00 2001 From: Shimaadnan <78430611+Shimaadnan@users.noreply.github.com> Date: Mon, 22 Aug 2022 12:32:14 +0100 Subject: [PATCH 1/7] String and concatenation --- exercises/B-hello-world/exercise.js | 2 ++ exercises/C-variables/README.md | 2 ++ exercises/C-variables/exercise.js | 4 +++- exercises/D-strings/exercise.js | 3 ++- exercises/E-strings-concatenation/exercise.js | 4 +++- 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..23a990095 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,3 @@ +//noconsole.log("Hello world"); console.log("Hello world"); + diff --git a/exercises/C-variables/README.md b/exercises/C-variables/README.md index 40859b3a8..0762650c9 100644 --- a/exercises/C-variables/README.md +++ b/exercises/C-variables/README.md @@ -5,6 +5,8 @@ We can use _variable_ to create a reference to a value. ```js var greeting = "Hello world"; +console.log(greeting); +console.log(greeting); console.log(greeting); ``` diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..3244c32f2 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..f3bb9edd6 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(typeof message); diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..c493f0800 100644 --- a/exercises/E-strings-concatenation/exercise.js +++ b/exercises/E-strings-concatenation/exercise.js @@ -1,3 +1,5 @@ // Start by creating a variable `message` - +let greeting = "Hello, " +let myname = "My name is Shima" +let message = greeting + myname; console.log(message); From 953b3a650c1132f64f46fb28b29dcf275a23d026 Mon Sep 17 00:00:00 2001 From: Shimaadnan <78430611+Shimaadnan@users.noreply.github.com> Date: Mon, 22 Aug 2022 12:54:27 +0100 Subject: [PATCH 2/7] Trim --- exercises/F-strings-methods/exercise.js | 5 ++++- exercises/F-strings-methods/exercise2.js | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..3e56b07a4 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,6 @@ // Start by creating a variable `message` +let firstname = "shima"; +let nameLength = firstname.length; +console.log(nameLength); -console.log(message); + console.log ("My name is " + firstname + " and it has " + nameLength + " characters"); diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..2f187834b 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,3 @@ const name = " Daniel "; - +let message = name.trim(); console.log(message); From c98f7f9e5e1855c624afd0793ed872611a090c1f Mon Sep 17 00:00:00 2001 From: Shimaadnan <78430611+Shimaadnan@users.noreply.github.com> Date: Mon, 22 Aug 2022 13:38:25 +0100 Subject: [PATCH 3/7] nested functions --- exercises/G-numbers/exercise.js | 4 ++++ exercises/I-floats/exercise.js | 4 ++++ exercises/J-functions/exercise.js | 2 ++ 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 | 5 ++++- exercises/K-functions-parameters/exercise5.js | 3 +++ exercises/L-functions-nested/exercise.js | 8 ++++++++ 10 files changed, 34 insertions(+), 2 deletions(-) diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..682f706cd 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,5 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +let numberOfStudents = 15; +let numberOfMentors = 8; +let sum = numberOfStudents + numberOfMentors; +console.log(`Total number of the students and mentors: ${sum}`); \ No newline at end of file diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..b3b63cb91 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,6 @@ var numberOfStudents = 15; var numberOfMentors = 8; +var precentageOfStudents = (numberOfStudents / (numberOfStudents + numberOfMentors))*100; +var precentageOfMentors = (numberOfMentors / (numberOfStudents + numberOfMentors))*100; +console.log(Math.round(precentageOfStudents)); +console.log(Math.round (precentageOfMentors)); diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..1434589f6 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,7 +1,9 @@ function halve(number) { // complete the function here + return number / 2; } var result = halve(12); console.log(result); +console.log(halve(20)); diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index 82ef5e780..831f3ce26 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,5 +1,6 @@ function triple(number) { // complete function here + return 3 * number; } var result = triple(12); diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..71969d100 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..a6d6b6470 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(num1,num2) { + return num1 / num2; +} var result = divide(3, 4); diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 537e9f4ec..08918e1e4 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..44e3543d0 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,8 @@ // Declare your function first +function addTwonumbers(num1,num2){ + return num1 + num2; +} // Call the function and assign to a variable `sum` - +let sum = addTwonumbers(13,124); console.log(sum); diff --git a/exercises/K-functions-parameters/exercise5.js b/exercises/K-functions-parameters/exercise5.js index 7c5bcd605..3d55a9591 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..e027d3f8c 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -3,3 +3,11 @@ var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; +function shoutyGreeting(name){ + return "HELLO " + name.toUpperCase() +} +console.log(shoutyGreeting(mentor1)); +console.log(shoutyGreeting(mentor2)); +console.log(shoutyGreeting(mentor3)); +console.log(shoutyGreeting(mentor4)); +console.log(shoutyGreeting(mentor5)); From 2363b4c58e8d87da5219ce411e97a8ced6bcfdd0 Mon Sep 17 00:00:00 2001 From: Shimaadnan <78430611+Shimaadnan@users.noreply.github.com> Date: Mon, 22 Aug 2022 14:09:22 +0100 Subject: [PATCH 4/7] exercise second of errors --- mandatory/1-syntax-errors.js | 41 ++++++++++++++----------- mandatory/2-logic-error.js | 59 +++++++++++++++++++----------------- 2 files changed, 54 insertions(+), 46 deletions(-) diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index a10cc9ac2..2772c4ab9 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,17 +1,22 @@ // 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; } +console.log(addNumbers(3,4,5)); -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"; +} +console.log(introduceMe("Sima" , 35)); -function getTotal(a, b) { - total = a ++ b; + function getTotal(a, b) { + total = a + b; - return "The total is total"; -} + return "The total is " + total; + } + + console.log(getTotal(23,5)); /* =================================================== @@ -25,16 +30,16 @@ To run the tests for just this one file, type `npm test -- --testPathPattern 1-s =================================================== */ -test("addNumbers adds numbers correctly", () => { - expect(addNumbers(3, 4, 6)).toEqual(13); -}); +// test("addNumbers adds numbers correctly", () => { +// expect(addNumbers(3, 4, 6)).toEqual(13); +// }); -test("introduceMe function returns the correct string", () => { - expect(introduceMe("Sonjide", 27)).toEqual( - "Hello, my name is Sonjide and I am 27 years old" - ); -}); +// test("introduceMe function returns the correct string", () => { +// expect(introduceMe("Sonjide", 27)).toEqual( +// "Hello, my name is Sonjide and I am 27 years old" +// ); +// }); -test("getTotal returns a string describing the total", () => { - expect(getTotal(23, 5)).toEqual("The total is 28"); -}); +// test("getTotal returns a string describing the total", () => { +// expect(getTotal(23, 5)).toEqual("The total is 28"); +// }); diff --git a/mandatory/2-logic-error.js b/mandatory/2-logic-error.js index 9cca7603b..2794f7348 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -1,17 +1,20 @@ // The syntax for this function is valid but it has an error, find it and fix it. function trimWord(word) { - return wordtrim(); -} - -function getStringLength(word) { - return "word".length(); + return word.trim(); } +console.log(trimWord(" CodeYourFuture ")); + function getStringLength(word) { + return word.length; + } +console.log(trimWord(" CodeYourFuture teaches coding ")); function multiply(a, b, c) { - a * b * c; - return; -} + return a * b * c; + + } + console.log(multiply(3,5,7)); + console.log(getStringLength("Hello I am working")); /* =================================================== @@ -24,28 +27,28 @@ To run the tests for just this one file, type `npm test -- --testPathPattern 2-l =================================================== */ -test("trimWord trims leading and trailing whitespace", () => { - expect(trimWord(" CodeYourFuture ")).toEqual("CodeYourFuture"); -}); +// test("trimWord trims leading and trailing whitespace", () => { +// expect(trimWord(" CodeYourFuture ")).toEqual("CodeYourFuture"); +// }); -test("trimWord doesn't remove whitespace in the middle of the string", () => { - expect(trimWord(" CodeYourFuture teaches coding ")).toEqual( - "CodeYourFuture teaches coding" - ); -}); +// test("trimWord doesn't remove whitespace in the middle of the string", () => { +// expect(trimWord(" CodeYourFuture teaches coding ")).toEqual( +// "CodeYourFuture teaches coding" +// ); +// }); -test("getStringLength returns the length of a word", () => { - expect(getStringLength("Turtles")).toEqual(7); -}); +// test("getStringLength returns the length of a word", () => { +// expect(getStringLength("Turtles")).toEqual(7); +// }); -test("getStringLength returns the length of a sentence", () => { - expect(getStringLength("A wild sentence appeared!")).toEqual(25); -}); +// test("getStringLength returns the length of a sentence", () => { +// expect(getStringLength("A wild sentence appeared!")).toEqual(25); +// }); -test("multiply multiplies numbers", () => { - expect(multiply(2, 3, 6)).toEqual(36); -}); +// test("multiply multiplies numbers", () => { +// expect(multiply(2, 3, 6)).toEqual(36); +// }); -test("multiply multiplies different numbers", () => { - expect(multiply(2, 3, 4)).toEqual(24); -}); +// test("multiply multiplies different numbers", () => { +// expect(multiply(2, 3, 4)).toEqual(24); +// }); From d6837e0294e164dcaeb3bde255ffdf877333e94a Mon Sep 17 00:00:00 2001 From: Shimaadnan <78430611+Shimaadnan@users.noreply.github.com> Date: Tue, 23 Aug 2022 13:47:14 +0100 Subject: [PATCH 5/7] working on the tax question --- mandatory/3-function-output.js | 5 ++++- mandatory/4-tax.js | 13 ++++++++++--- package.json | 12 +++++++++--- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5a953ba60..bb6348625 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,13 +1,16 @@ // Add comments to explain what this function does. You're meant to use Google! +// This Function uses the Math random function to choose a random number bbetween zero and one 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! +//This Function combine the frist and second parameter which they both are strings. function combine2Words(word1, word2) { return word1.concat(word2); } - +//This function concatenate all the parameters which they can be string or numbers. 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. diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..62cbcfda1 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,10 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} +function calculateSalesTax(price) { + return price + (.2 * price); +} +console.log(calculateSalesTax(17.5)); /* CURRENCY FORMATTING @@ -16,8 +19,11 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ - -function addTaxAndFormatCurrency() {} +let sign = "£"; +function addTaxAndFormatCurrency(sign,price) { + return "£" + calculateSalesTax(price) ; +} +console.log( addTaxAndFormatCurrency(sign,17.5)); /* =================================================== @@ -34,6 +40,7 @@ test("calculateSalesTax for £15", () => { expect(calculateSalesTax(15)).toEqual(18); }); + test("calculateSalesTax for £17.50", () => { expect(calculateSalesTax(17.5)).toEqual(21); }); diff --git a/package.json b/package.json index 93e0861e3..9e7f2ffeb 100644 --- a/package.json +++ b/package.json @@ -14,15 +14,21 @@ "url": "https://github.com/CodeYourFuture/JavaScript-Core-1-Coursework-Week1/issues" }, "jest": { - "setupFilesAfterEnv": ["jest-extended"], + "setupFilesAfterEnv": [ + "jest-extended" + ], "projects": [ { "displayName": "mandatory", - "testMatch": ["/mandatory/*.js"] + "testMatch": [ + "/mandatory/*.js" + ] }, { "displayName": "extra", - "testMatch": ["/extra/*.js"] + "testMatch": [ + "/extra/*.js" + ] } ] }, From 5e5c2c6202270d20cb92b841cc04a99aaa993a8c Mon Sep 17 00:00:00 2001 From: Shimaadnan <78430611+Shimaadnan@users.noreply.github.com> Date: Mon, 29 Aug 2022 10:50:31 +0100 Subject: [PATCH 6/7] fixing the Error --- mandatory/4-tax.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index 62cbcfda1..cab74aaf0 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -6,7 +6,7 @@ */ function calculateSalesTax(price) { - return price + (.2 * price); + return price * 1.2; } console.log(calculateSalesTax(17.5)); @@ -19,11 +19,11 @@ console.log(calculateSalesTax(17.5)); Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -let sign = "£"; -function addTaxAndFormatCurrency(sign,price) { - return "£" + calculateSalesTax(price) ; + +function addTaxAndFormatCurrency(price) { + return "£" + calculateSalesTax(price).toFixed(2) ; } -console.log( addTaxAndFormatCurrency(sign,17.5)); +console.log( addTaxAndFormatCurrency(17.5)); /* =================================================== From baac063fe3c119e1f61004d853a5b54c71909985 Mon Sep 17 00:00:00 2001 From: Shimaadnan <78430611+Shimaadnan@users.noreply.github.com> Date: Mon, 29 Aug 2022 11:24:42 +0100 Subject: [PATCH 7/7] currency --- extra/1-currency-conversion.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..d9eca5f2f 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -5,7 +5,10 @@ Write a function that converts a price to USD (exchange rate is 1.4 $ to £) */ -function convertToUSD() {} +function convertToUSD(prices) { + return prices * 1.4; + +} /* CURRENCY CONVERSION @@ -15,7 +18,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(prices) { + return 5.7 * (.99 * prices).toFixed(2); +} /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working.