Skip to content
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 Sprint-2/1-key-errors/0.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
// Predict and explain first...
// =============> write your prediction here

//str has allready been declared.

// call the function capitalise with a string input
// interpret the error message and figure out why an error is occurring

Expand All @@ -10,4 +12,14 @@ function capitalise(str) {
}

// =============> write your explanation here
/*
I think its because of been called multiple times, at "let str" after "funtion capitalise(str)"
changing "let str" to "let capitalised" should help the issue.
*/
// =============> write your new code here
/*
function capitalise(str) {
let capitalised = `${str[0].toUpperCase()}${str.slice(1)}`;
return capitalised;
}
*/
21 changes: 19 additions & 2 deletions Sprint-2/1-key-errors/1.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

// Why will an error occur when this program runs?
// =============> write your prediction here

/*
Yes an error will occur.
decimalNumber has been declared
an error will another errour would be for, decimalNumber is not defined
*/
// Try playing computer with the example to work out what is going on

function convertToPercentage(decimalNumber) {
Expand All @@ -15,6 +19,19 @@ function convertToPercentage(decimalNumber) {
console.log(decimalNumber);

// =============> write your explanation here

/*
decimalNumber has been called and set as a const.
"console.log(decimalNumber)" wont work as decimalNumber only excistes inside the function not outside it.
*/
// Finally, correct the code to fix the problem
// =============> write your new code here
/*
function convertToPercentage(decimalNumber) {
const decimal = 0.5;
const percentage = `${decimal * 100}%`;

return percentage;

}
console.log(convertToPercentage)
Comment on lines +29 to +36

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

How would you make the function to work for any valid argument?

For example, calling convertToPercentage(0.1) would return "10%".

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Like this?

function convertToPercentage(decimalNumber) {
return percentage = ${decimalNumber * 100}%;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

*/
13 changes: 9 additions & 4 deletions Sprint-2/1-key-errors/2.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@

// Predict and explain first BEFORE you run any code...

// this function should square any number but instead we're going to get an error

// =============> write your prediction of the error here
Expand All @@ -10,11 +9,17 @@ function square(3) {
}

// =============> write the error message here
// SyntaxError: Unexpected number

// =============> explain this error message here

// the (3) is a value not a variable or parimitor name, it should be num instead for the functino to work corretly.
// Finally, correct the code to fix the problem

// =============> write your new code here


/*
function square(num) {
return num * num;
}

console.log (square(3));
*?
14 changes: 13 additions & 1 deletion Sprint-2/2-mandatory-debug/0.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Predict and explain first...

// =============> write your prediction here
// is going to have undefined

function multiply(a, b) {
console.log(a * b);
Expand All @@ -9,6 +10,17 @@ function multiply(a, b) {
console.log(`The result of multiplying 10 and 32 is ${multiply(10, 32)}`);

// =============> write your explanation here

/*
its going to have undefined for the ${multiply(10, 32) as in teh function it has console.log.
It needs to have "return" in order for it to keep teh vaule for the function as it is only displying it right now.
*?
// Finally, correct the code to fix the problem
// =============> write your new code here
/*
function multiply(a, b) {
return(a * b);
}

console.log(`The result of multiplying 10 and 32 is ${multiply(10, 32)}`);

*/
9 changes: 9 additions & 0 deletions Sprint-2/2-mandatory-debug/1.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// Predict and explain first...
// =============> write your prediction here
// return undefined for ${sum(10, 32)}

function sum(a, b) {
return;
Expand All @@ -9,5 +10,13 @@ function sum(a, b) {
console.log(`The sum of 10 and 32 is ${sum(10, 32)}`);

// =============> write your explanation here
// in the function return is split from a + b by ;
// Finally, correct the code to fix the problem
// =============> write your new code here
/*
function sum(a, b) {
return a + b;
}

console.log(`The sum of 10 and 32 is ${sum(10, 32)}`);
*/
18 changes: 18 additions & 0 deletions Sprint-2/2-mandatory-debug/2.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

// Predict the output of the following code:
// =============> Write your prediction here
// There wont be an error warning shown, it will show 3 request.

const num = 103;

Expand All @@ -15,10 +16,27 @@ console.log(`The last digit of 806 is ${getLastDigit(806)}`);

// Now run the code and compare the output to your prediction
// =============> write the output here
/*
The last digit of 42 is 3
The last digit of 105 is 3
The last digit of 806 is 3
*/
// Explain why the output is the way it is
// =============> write your explanation here
/* Simply the "const num = 103" is forcing return num to be 103 at all times.
This can be fixed by putting num in getLastDigit(num), removing the "const num = 103" as it isnt needed.
// Finally, correct the code to fix the problem
// =============> write your new code here
/*
function getLastDigit(num) {
return num.toString().slice(-1);
}

console.log(`The last digit of 42 is ${getLastDigit(42)}`);
console.log(`The last digit of 105 is ${getLastDigit(105)}`);
console.log(`The last digit of 806 is ${getLastDigit(806)}`);
*/


// This program should tell the user the last digit of each number.
// Explain why getLastDigit is not working properly - correct the problem
7 changes: 6 additions & 1 deletion Sprint-2/3-mandatory-implement/1-bmi.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,10 @@
// It should return their Body Mass Index to 1 decimal place

function calculateBMI(weight, height) {
let squaredHeight = (height * height);
let baseBmi = (weight / squaredHeight);
return bmi = Math.round(baseBmi * 10) / 10;
}
console.log (`BMI is ${calculateBMI(70,1.73)}`);

// return the BMI of someone based off their weight and height
}
8 changes: 8 additions & 0 deletions Sprint-2/3-mandatory-implement/2-cases.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,11 @@
// You will need to come up with an appropriate name for the function
// Use the MDN string documentation to help you find a solution
// This might help https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase

function UpperSnake(text) {
let upperCase = text.toUpperCase();
let snakeCase = upperCase.replaceAll(" ","_");
return snakeCase;
}
Comment on lines +18 to +22

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code is correct.

Can you look up the naming conventions in JavaScript? In particular,

  • Variable and function names

Then, update the function names according to those conventions.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Not to sure what you mean with this one?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

What's best practice to name a function in JavaScript?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

The name should describe clearly what the function is doing.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

so I should have named it more like upperCase => makeUpperCase and snakeCase => makeSnakeCase ?

@cjyuan cjyuan Aug 7, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Yes. A to prefix also works.


console.log(UpperSnake("hello there bob"));
24 changes: 24 additions & 0 deletions Sprint-2/3-mandatory-implement/3-to-pounds.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,27 @@
// You will need to declare a function called toPounds with an appropriately named parameter.

// You should call this function a number of times to check it works for different inputs

function toPounds(penceString) {
const penceStringWithoutTrailingP = penceString.substring(
0,
penceString.length - 1
);

const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0");
const pounds = paddedPenceNumberString.substring(
0,
paddedPenceNumberString.length - 2
);

const pence = paddedPenceNumberString
.substring(paddedPenceNumberString.length - 2)
.padEnd(2, "0");

console.log(`£${pounds}.${pence}`);
}

toPounds("399p");
toPounds("9p");
toPounds("1399p");
toPounds("5697p");
10 changes: 5 additions & 5 deletions Sprint-2/4-mandatory-interpret/time-format.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,18 @@ function formatTimeDisplay(seconds) {
// Questions

// a) When formatTimeDisplay is called how many times will pad be called?
// =============> write your answer here
// =============> 3 times

// Call formatTimeDisplay with an input of 61, now answer the following:

// b) What is the value assigned to num when pad is called for the first time?
// =============> write your answer here
// =============> 0

// c) What is the return value of pad is called for the first time?
// =============> write your answer here
// =============> 00

// d) What is the value assigned to num when pad is called for the last time in this program? Explain your answer
// =============> write your answer here
// =============> 1, when pad is last called its at ${pad(remainingSeconds)} where the value left is 1

// e) What is the return value of pad when it is called for the last time in this program? Explain your answer
// =============> write your answer here
// =============> 01 as its value is 1 and it pads to two digits, so makes it 01