From 75db762e7a45a4a96cf9c1e045651c232651b623 Mon Sep 17 00:00:00 2001 From: PaulinaWywrot Date: Mon, 27 Feb 2023 19:32:52 +0000 Subject: [PATCH 1/3] mandatory + extra --- extra/1-factorial.js | 14 ++++++-- mandatory/1-fix-functions.js | 7 ++-- mandatory/2-function-creation.js | 62 ++++++++++++++++++++++++++++---- 3 files changed, 70 insertions(+), 13 deletions(-) diff --git a/extra/1-factorial.js b/extra/1-factorial.js index da9f8e6c..b689c720 100644 --- a/extra/1-factorial.js +++ b/extra/1-factorial.js @@ -6,11 +6,21 @@ 5! is 120 (because 5 * 4 * 3 * 2 * 1 = 120) Using a loop, complete the function below so it returns the factorial of the number being passed in. -*/ + + function factorial(input) { - // TODO + let value=1; + while (input >=1) { + value=value*input; + input=input-1; + } + return value; } + + + + /* ======= TESTS - DO NOT MODIFY ===== */ diff --git a/mandatory/1-fix-functions.js b/mandatory/1-fix-functions.js index 6323604f..1a1942f6 100644 --- a/mandatory/1-fix-functions.js +++ b/mandatory/1-fix-functions.js @@ -10,9 +10,8 @@ */ -function getMood() { - let isHappy = true; - +function getMood(isHappy) { + if (isHappy) { return "I am happy"; } else { @@ -21,7 +20,7 @@ function getMood() { } function greaterThan10(num) { - let isBigEnough; + let isBigEnough = num > 10; if (isBigEnough) { return "num is greater than 10"; diff --git a/mandatory/2-function-creation.js b/mandatory/2-function-creation.js index d4590920..8ef0b7a6 100644 --- a/mandatory/2-function-creation.js +++ b/mandatory/2-function-creation.js @@ -4,7 +4,15 @@ 1. the user should be 18 or older 2. the user must be logged in */ -function isAcceptableUser(userAge, isLoggedIn) {} +function isAcceptableUser(userAge, isLoggedIn) { + if (userAge >= 18 && isLoggedIn) { + return true; + } + else { + return false; + } + } + /* Complete the function to apply discount percent based on how much is totalPrice in user cart. @@ -15,18 +23,44 @@ function isAcceptableUser(userAge, isLoggedIn) {} is applieds and 142.5 should be returned) */ -function applyDiscount(totalPrice) {} +function applyDiscount(totalPrice) { + + if (totalPrice > 200) { + let newPrice = totalPrice - (totalPrice * 0.1); + return newPrice; + } + else if (totalPrice < 200) { + newPrice = totalPrice - (totalPrice * 0.05); + return newPrice; + } +} /* Complete the function to print to the console the odd numbers between 1 and limit (use a while loop): */ -function printOddNumbers(limit) {} +function printOddNumbers(limit) { + let number = 1; +while(number <= limit) { + console.log(number); + number = number+2; +} + +} /* Complete the buyTwoGetTheCheapestFree function: if user buys two items, the cheapest item will be free! The function should return the price to be paid once the discount is applied. */ -function buyTwoGetTheCheapestFree(price1, price2) {} +function buyTwoGetTheCheapestFree(price1, price2) { + totalPrice=price1+price2; + if (price1 > price2) { + return totalPrice - price2; + } + else if (price2 > price1) { + return totalPrice - price1; + } + } + /* Complete the function to determine if it is suitable for a person to register based on their age! @@ -34,7 +68,17 @@ function buyTwoGetTheCheapestFree(price1, price2) {} - if the person is older than 12 and younger than 90 it should return "You Can Register" - if the person is 90 or older it should return "You Don't Need To Register" */ -function canRegister(age) {} +function canRegister(age) { + if(age <= 12) { + return "You Are Too Young To Register"; + } + else if(age>12 && age<90) { + return "You Can Register" + } + else { + return "You Don't Need To Register" + } +} /* Complete the function so that it prints out to the console numbers in reverse order starting at @@ -45,8 +89,12 @@ function canRegister(age) {} ) */ -function countReverse(number) {} - +function countReverse(number) { +while(number > 0) { + console.log(number); + number = number - 1; +} +} /* ======= TESTS - DO NOT MODIFY ===== */ describe("isAcceptableUser", () => { From 1f820f2886491bfa123d3a42baf4f9a4a20279a4 Mon Sep 17 00:00:00 2001 From: PaulinaWywrot Date: Mon, 27 Feb 2023 19:36:23 +0000 Subject: [PATCH 2/3] update extra --- extra/1-factorial.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/extra/1-factorial.js b/extra/1-factorial.js index b689c720..2642ff3b 100644 --- a/extra/1-factorial.js +++ b/extra/1-factorial.js @@ -6,7 +6,9 @@ 5! is 120 (because 5 * 4 * 3 * 2 * 1 = 120) Using a loop, complete the function below so it returns the factorial of the number being passed in. - +*/// +// +// function factorial(input) { From 73d540920f765356e633cf2b6713cacd89252c5c Mon Sep 17 00:00:00 2001 From: PaulinaWywrot Date: Tue, 25 Jul 2023 21:32:04 +0100 Subject: [PATCH 3/3] mandatory changed --- mandatory/1-fix-functions.js | 1 - mandatory/2-function-creation.js | 92 +++++++++++++++----------------- 2 files changed, 42 insertions(+), 51 deletions(-) diff --git a/mandatory/1-fix-functions.js b/mandatory/1-fix-functions.js index 1a1942f6..07b27579 100644 --- a/mandatory/1-fix-functions.js +++ b/mandatory/1-fix-functions.js @@ -11,7 +11,6 @@ */ function getMood(isHappy) { - if (isHappy) { return "I am happy"; } else { diff --git a/mandatory/2-function-creation.js b/mandatory/2-function-creation.js index 8ef0b7a6..0bbe032c 100644 --- a/mandatory/2-function-creation.js +++ b/mandatory/2-function-creation.js @@ -7,12 +7,10 @@ function isAcceptableUser(userAge, isLoggedIn) { if (userAge >= 18 && isLoggedIn) { return true; + } else { + return false; } - else { - return false; - } - } - +} /* Complete the function to apply discount percent based on how much is totalPrice in user cart. @@ -24,14 +22,12 @@ function isAcceptableUser(userAge, isLoggedIn) { */ function applyDiscount(totalPrice) { - - if (totalPrice > 200) { - let newPrice = totalPrice - (totalPrice * 0.1); - return newPrice; - } - else if (totalPrice < 200) { - newPrice = totalPrice - (totalPrice * 0.05); - return newPrice; + let priceBelow200 = (95 / 100) * totalPrice; + let priceAbove200 = (90 / 100) * totalPrice; + if (totalPrice < 200) { + return priceBelow200; + } else { + return priceAbove200; } } @@ -39,28 +35,25 @@ function applyDiscount(totalPrice) { Complete the function to print to the console the odd numbers between 1 and limit (use a while loop): */ function printOddNumbers(limit) { - let number = 1; -while(number <= limit) { - console.log(number); - number = number+2; -} - + let i = 1; + while (i < limit) { + if (i % 2 === 1) { + console.log(i); + } + i++; + } } - /* Complete the buyTwoGetTheCheapestFree function: if user buys two items, the cheapest item will be free! The function should return the price to be paid once the discount is applied. */ function buyTwoGetTheCheapestFree(price1, price2) { - totalPrice=price1+price2; if (price1 > price2) { - return totalPrice - price2; + return price1; + } else if (price2 > price1) { + return price2; } - else if (price2 > price1) { - return totalPrice - price1; - } - } - +} /* Complete the function to determine if it is suitable for a person to register based on their age! @@ -69,14 +62,12 @@ function buyTwoGetTheCheapestFree(price1, price2) { - if the person is 90 or older it should return "You Don't Need To Register" */ function canRegister(age) { - if(age <= 12) { + if (age <= 12) { return "You Are Too Young To Register"; - } - else if(age>12 && age<90) { - return "You Can Register" - } - else { - return "You Don't Need To Register" + } else if (age > 12 && age < 90) { + return "You Can Register"; + } else if (age >= 90) { + return "You Don't Need To Register"; } } @@ -90,11 +81,12 @@ function canRegister(age) { */ function countReverse(number) { -while(number > 0) { - console.log(number); - number = number - 1; -} + while (number > 0) { + console.log(number); + number--; + } } + /* ======= TESTS - DO NOT MODIFY ===== */ describe("isAcceptableUser", () => { @@ -138,11 +130,11 @@ describe("printOddNumbers", () => { const consoleLogSpy = jest.spyOn(console, "log"); printOddNumbers(10); - expect(consoleLogSpy).toHaveBeenNthCalledWith(1,1); - expect(consoleLogSpy).toHaveBeenNthCalledWith(2,3); - expect(consoleLogSpy).toHaveBeenNthCalledWith(3,5); - expect(consoleLogSpy).toHaveBeenNthCalledWith(4,7); - expect(consoleLogSpy).toHaveBeenNthCalledWith(5,9); + expect(consoleLogSpy).toHaveBeenNthCalledWith(1, 1); + expect(consoleLogSpy).toHaveBeenNthCalledWith(2, 3); + expect(consoleLogSpy).toHaveBeenNthCalledWith(3, 5); + expect(consoleLogSpy).toHaveBeenNthCalledWith(4, 7); + expect(consoleLogSpy).toHaveBeenNthCalledWith(5, 9); consoleLogSpy.mockRestore(); }); @@ -189,13 +181,13 @@ describe("countReverse", () => { const consoleLogSpy = jest.spyOn(console, "log"); countReverse(7); - expect(consoleLogSpy).toHaveBeenNthCalledWith(1,7); - expect(consoleLogSpy).toHaveBeenNthCalledWith(2,6); - expect(consoleLogSpy).toHaveBeenNthCalledWith(3,5); - expect(consoleLogSpy).toHaveBeenNthCalledWith(4,4); - expect(consoleLogSpy).toHaveBeenNthCalledWith(5,3); - expect(consoleLogSpy).toHaveBeenNthCalledWith(6,2); - expect(consoleLogSpy).toHaveBeenNthCalledWith(7,1); + expect(consoleLogSpy).toHaveBeenNthCalledWith(1, 7); + expect(consoleLogSpy).toHaveBeenNthCalledWith(2, 6); + expect(consoleLogSpy).toHaveBeenNthCalledWith(3, 5); + expect(consoleLogSpy).toHaveBeenNthCalledWith(4, 4); + expect(consoleLogSpy).toHaveBeenNthCalledWith(5, 3); + expect(consoleLogSpy).toHaveBeenNthCalledWith(6, 2); + expect(consoleLogSpy).toHaveBeenNthCalledWith(7, 1); consoleLogSpy.mockRestore(); });