From 3c1b619897374c19b1e9dfb63a87145967151e95 Mon Sep 17 00:00:00 2001 From: BoshraM <113248018+BoshraM@users.noreply.github.com> Date: Mon, 21 Nov 2022 23:46:08 +0000 Subject: [PATCH 1/2] complete exercises and mandatory --- exercises/B-hello-world/exercise.js | 4 ++++ exercises/C-variables/exercise.js | 4 +++- exercises/D-strings/exercise.js | 3 ++- exercises/E-strings-concatenation/exercise.js | 4 +++- exercises/F-strings-methods/exercise.js | 12 ++++++++++ exercises/F-strings-methods/exercise2.js | 4 ++-- exercises/G-numbers/exercise.js | 4 ++++ exercises/I-floats/exercise.js | 6 +++++ exercises/J-functions/exercise.js | 5 +++++ 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 | 6 +++++ exercises/K-functions-parameters/exercise4.js | 5 ++++- exercises/K-functions-parameters/exercise5.js | 3 +++ exercises/L-functions-nested/exercise.js | 14 ++++++++++++ exercises/L-functions-nested/greeting.js | 3 +++ extra/1-currency-conversion.js | 11 +++++++--- extra/2-piping.js | 22 +++++++++++-------- mandatory/1-syntax-errors.js | 12 +++++----- mandatory/2-logic-error.js | 9 ++++---- mandatory/3-function-output.js | 3 +++ mandatory/4-tax.js | 10 ++++++--- 23 files changed, 118 insertions(+), 33 deletions(-) create mode 100644 exercises/L-functions-nested/greeting.js diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..3f1a55d70 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,5 @@ console.log("Hello world"); +console.log("hello world! i just started learning Java Script");// printed out inside quotes +console.log(2345);//printed out number +console.log(hello world i am 33 i just leaning java script);//running error + diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..aa2166baf 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 = "I am BOshra"; +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..3e4a4b669 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..3723b7ad8 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 = "My name is"; +let myName = "Boshra"; +let message = greeting + " " + myName; console.log(message); diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..48475b15c 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` +let myName = "BOSHRA"; +let message = + "my name is " + + myName + + " and my name is" + + myName.length + + " characters long"; +console.log(message); + +let nameLowerCase = myName.toLowerCase(); +console.log(nameLowerCase); +message = myName.trim(); console.log(message); diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..518cef11c 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,3 @@ -const name = " Daniel "; - +let myName = " Daniel "; +let message = myName.trim(); console.log(message); diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..846467835 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 = 25; +let numberOfMentors = 10; +let message = numberOfMentors + numberOfStudents; +console.log(message); diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..0eeccced2 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,8 @@ var numberOfStudents = 15; var numberOfMentors = 8; +let totalNumber = numberOfMentors + numberOfStudents; +let percentageOfStudents = (numberOfStudents / totalNumber) * 100; +let roughPercentageOfStudents = Math.round(percentageOfStudents); +console.log(roughPercentageOfStudents); +let percentageOfMentors = (numberOfMentors / totalNumber) * 100; +console.log(Math.round(percentageOfMentors)); diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..21c3e8305 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); console.log(result); +result = halve(43); +console.log(result); +result = halve(23453); +console.log(result); 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..dbd50454d 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(a, b) { // Calculate the result of the function and return it + return a * b; } // 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..b5ed97877 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,5 +1,11 @@ // Write your function here +function createGreeting(string) { + return "my name is " + string; +} var greeting = createGreeting("Daniel"); console.log(greeting); + +var greeting = createGreeting("Boshra"); +console.log(greeting); diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..cde6fff7b 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(a, b) { + return a + b; +} // Call the function and assign to a variable `sum` +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..09167ebeb 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(string, number) { + return "Hello my name is " + string + "and I am " + number + " 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..ae9b9bb60 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -3,3 +3,17 @@ var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + +function upperCaseName(mentor) { + return mentor.toUpperCase(); +} + +function greeting(mentor) { + return `HELLO ${upperCaseName(mentor)}`; +} + +console.log(greeting(mentor1)); +console.log(greeting(mentor2)); +console.log(greeting(mentor3)); +console.log(greeting(mentor4)); +console.log(greeting(mentor5)); diff --git a/exercises/L-functions-nested/greeting.js b/exercises/L-functions-nested/greeting.js new file mode 100644 index 000000000..5a9c9c0ed --- /dev/null +++ b/exercises/L-functions-nested/greeting.js @@ -0,0 +1,3 @@ +function greeting(mentor) { + return "HELLO " + upperCaseName(mentor); +} diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..4e3b1b995 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 CONVERSION @@ -15,8 +17,11 @@ 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(num) { + let price = num * 0.99 * 5.7; + return price.toFixed(2); +} +console.log(convertToBRL(£30)); /* ======= 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 b4f8c4c1b..f16813c9b 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,30 @@ 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() { - +function format(number) { + return "£" + number; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +let badCode = format(multiply(add(startingValue, 10), 2)); /* BETTER PRACTICE */ - -let goodCode = +function giveNewValueTo(startingValue) { + let sum = add(startingValue, 10); + let multiplication = multiply(sum, 2); + return format(multiplication); +} +let goodCode = giveNewValueTo(startingValue); /* ======= 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/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index a10cc9ac2..730b464ac 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,16 +1,16 @@ // 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 9cca7603b..a8e97ef8e 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(); +function getStringLength(string) { + return string.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..efadbd46a 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -3,12 +3,15 @@ function getRandomNumber() { return Math.random() * 10; } +//by using random it will get a number between 0 and 1 then multiply it in 10. // Add comments to explain what this function does. You're meant to use Google! function combine2Words(word1, word2) { return word1.concat(word2); } +//concat combine to arrays and make new one. in this example it will add two words together. 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..b53cae468 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 + (price * 20) / 100; +} /* CURRENCY FORMATTING @@ -17,8 +19,10 @@ 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)}`; +} +//console.log(addTaxAndFormatCurrency(34)); /* =================================================== ======= TESTS - DO NOT MODIFY BELOW THIS LINE ===== From 0ecb2d76f51047e274ba86357594374074cbf73d Mon Sep 17 00:00:00 2001 From: BoshraM <113248018+BoshraM@users.noreply.github.com> Date: Tue, 22 Nov 2022 12:56:25 +0000 Subject: [PATCH 2/2] finish the first two in extra file --- extra/1-currency-conversion.js | 7 +++---- extra/2-piping.js | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 4e3b1b995..c73cd9962 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -17,11 +17,10 @@ function convertToUSD(price) { 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(num) { - let price = num * 0.99 * 5.7; - return price.toFixed(2); +function convertToBRL(price) { + let newPrice = price * 0.99 * 5.7; + return Number(newPrice.toFixed(2)); } -console.log(convertToBRL(£30)); /* ======= 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 f16813c9b..1eb03f47f 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -30,7 +30,7 @@ function format(number) { const startingValue = 2; -// Why can this code be seen as bad practice? Comment your answer. +// Why can this code be seen as bad practice? Comment your answer.//there is lots of function in one line which makes hard to understands for someone who read the codes let badCode = format(multiply(add(startingValue, 10), 2)); /* BETTER PRACTICE */ @@ -39,7 +39,7 @@ function giveNewValueTo(startingValue) { let multiplication = multiply(sum, 2); return format(multiplication); } -let goodCode = giveNewValueTo(startingValue); +let goodCode = giveNewValueTo(startingValue); // i made new function which put inside it what function are need , i think it is easier to read /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working.