Skip to content
This repository was archived by the owner on Jan 14, 2024. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions extra/1-factorial.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,20 @@

function factorial(input) {
// TODO
if (input < 0)
return -1;
else if (input == 0)
return 1;
else {
return (input * factorial(input - 1));
}


}


//npm test -- --testPathPattern 1-factorial

/* ======= TESTS - DO NOT MODIFY ===== */

describe("factorial", () => {
Expand Down
11 changes: 4 additions & 7 deletions mandatory/1-fix-functions.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,7 @@

*/

function getMood() {
let isHappy = true;

function getMood(isHappy) {
if (isHappy) {
return "I am happy";
} else {
Expand All @@ -21,15 +19,14 @@ function getMood() {
}

function greaterThan10(num) {
let isBigEnough;

if (isBigEnough) {
num == 10;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you tell me what you think this line does?

if (num > 10) {
return "num is greater than 10";
} else {
return "num is not big enough";
}
}

//npm test -- --testPathPattern 1-fix-function
/* ======= TESTS - DO NOT MODIFY ===== */

describe("getMood", () => {
Expand Down
60 changes: 54 additions & 6 deletions mandatory/2-function-creation.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,14 @@
1. the user should be 18 or older
2. the user must be logged in
*/
function isAcceptableUser(userAge, isLoggedIn) {}
function isAcceptableUser(userAge, isLoggedIn) {
userAge == 18;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, you have this same coding pattern. What does it do?

if(userAge >= 18 && isLoggedIn){
return true;
}else{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You seem to not have format on save turned on (or it is conflicting with your auto-save?). Could you work with your buddy or a volunteer on Saturday to fix this?

Copy link

@Muath-Alawadhi Muath-Alawadhi Mar 9, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am experiencing the same problem even though my format on save option is turned on. I will take a look at it on Saturday to see if I can fix it with volunteers help

return false;
}
}

/*
Complete the function to apply discount percent based on how much is totalPrice in user cart.
Expand All @@ -15,26 +22,59 @@ function isAcceptableUser(userAge, isLoggedIn) {}
is applieds and 142.5 should be returned)
*/

function applyDiscount(totalPrice) {}
function applyDiscount(totalPrice, discount) {
if (totalPrice >200) {
total= totalPrice-(totalPrice*0.1);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

total should be defined with let or const

return total;
} else if (totalPrice < 200){
total=totalPrice-(totalPrice*0.05);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These two lines occur twice. Can you see how if you had a new user requirement (for example, to add some rounding), you would need to change your code in 2 places. Could you rewrite this code to make it less verbose?

return total;
}
}

/*
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 count = 1;
while(count<=limit){
if(count %2 == 1){
console.log(count);
}
count++
}

}

/*
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) {

if (price1>price2) {
return price1;
} else {
return price2;
}

}

/*
Complete the function to determine if it is suitable for a person to register based on their age!
- if the person is 12 or younger it should return "You Are Too Young To Register"
- 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){
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you need to write age > 12 in this line? What would happen if you remove it?

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
Expand All @@ -45,7 +85,15 @@ function canRegister(age) {}
)
*/

function countReverse(number) {}
function countReverse(number) {
while( number >= 1){

console.log(number);
number--;
}

}
//npm test -- --testPathPattern 2-function-creation

/* ======= TESTS - DO NOT MODIFY ===== */

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"scripts": {
"test": "jest"
},
"jest": {
"jest": {
"projects": [
{
"displayName": "mandatory",
Expand Down