Skip to content

Commit 5b7c4bd

Browse files
committed
Complete sprint 1 coursework
1 parent b31a586 commit 5b7c4bd

14 files changed

Lines changed: 97 additions & 24 deletions

File tree

Sprint-1/1-key-exercises/1-count.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ let count = 0;
33
count = count + 1;
44

55
// Line 1 is a variable declaration, creating the count variable with an initial value of 0
6-
// Describe what line 3 is doing, in particular focus on what = is doing
6+
// The = takes the result of count + 1 and saves it back into the count variable, replacing the old value.

Sprint-1/1-key-exercises/2-initials.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ let lastName = "Johnson";
55
// Declare a variable called initials that stores the first character of each string.
66
// This should produce the string "CKJ", but you must not write the characters C, K, or J in the code of your solution.
77

8-
let initials = ``;
8+
let initials = `${firstName[0]}${middleName[0]}${lastName[0]}`;
99

10+
console.log(initials);
1011
// https://www.google.com/search?q=get+first+character+of+string+mdn
1112

Sprint-1/1-key-exercises/3-paths.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ console.log(`The base part of ${filePath} is ${base}`);
1717
// Create a variable to store the dir part of the filePath variable
1818
// Create a variable to store the ext part of the variable
1919

20-
const dir = ;
21-
const ext = ;
20+
const dir = filePath.slice(0, lastSlashIndex);
21+
const ext = base.slice(base.lastIndexOf("."));
2222

2323
// https://www.google.com/search?q=slice+mdn

Sprint-1/1-key-exercises/4-random.js

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,13 @@ const maximum = 100;
33

44
const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum;
55

6-
// In this exercise, you will need to work out what num represents?
7-
// Try breaking down the expression and using documentation to explain what it means
8-
// It will help to think about the order in which expressions are evaluated
9-
// Try logging the value of num and running the program several times to build an idea of what the program is doing
6+
console.log(num);
7+
8+
9+
// num represents a random integer between 1 and 100 (inclusive).
10+
11+
// 1. Math.random() generates a random decimal in [0, 1)
12+
// 2. (maximum - minimum + 1) = 100, which means Math.random() * 100 gives a decimal in [0, 100)
13+
// 3. Math.floor(...) rounds down to an integer in [0, 99]
14+
// 4. Adding minimum (1) shifts the range to [1, 100]
15+
// Which means num is a random whole number from 1 to 100.

Sprint-1/2-mandatory-errors/0.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1-
This is just an instruction for the first activity - but it is just for human consumption
2-
We don't want the computer to run these 2 lines - how can we solve this problem?
1+
// This is just an instruction for the first activity - but it is just for human consumption
2+
// We don't want the computer to run these 2 lines - how can we solve this problem?
3+
4+
// Solution is making the instruction to a comment by using two slashes.

Sprint-1/2-mandatory-errors/1.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
// trying to create an age variable and then reassign the value by 1
22

3-
const age = 33;
3+
let age = 33;
44
age = age + 1;
5+
6+
// The error is assignment to constant variable.
7+
// const variables cannot be reassigned. I can fix this by using let instead.

Sprint-1/2-mandatory-errors/2.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
// Currently trying to print the string "I was born in Bolton" but it isn't working...
22
// what's the error ?
33

4-
console.log(`I was born in ${cityOfBirth}`);
4+
55
const cityOfBirth = "Bolton";
6+
console.log(`I was born in ${cityOfBirth}`);
7+
8+
// console.log is meant to be at the bottom

Sprint-1/2-mandatory-errors/3.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,22 @@
11
const cardNumber = 4533787178994213;
2-
const last4Digits = cardNumber.slice(-4);
2+
const last4Digits = String(cardNumber).slice(-4);
3+
4+
console.log(last4Digits);
35

46
// The last4Digits variable should store the last 4 digits of cardNumber
57
// However, the code isn't working
68
// Before running the code, make and explain a prediction about why the code won't work
9+
10+
// I think the code will not work because cardNumber is a number, and .slice() only works with strings.
11+
712
// Then run the code and see what error it gives.
13+
14+
//TypeError: cardNumber.slice is not a function
15+
16+
817
// Consider: Why does it give this error? Is this what I predicted? If not, what's different?
18+
19+
// The error happens because slice() cannot be used on a number. It only works on strings. Yes, this is what I predicted because I expected an error caused by trying to use slice() on a number. There is no difference between my prediction and the actual error.
20+
21+
922
// Then try updating the expression last4Digits is assigned to, in order to get the correct value

Sprint-1/2-mandatory-errors/4.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
const 12HourClockTime = "8:53pm";
2-
const 24hourClockTime = "20:53";
1+
const twelveHourClockTime = "8:53pm";
2+
const twentyFourHourClockTime = "20:53";

Sprint-1/3-mandatory-interpret/1-percentage-change.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ let carPrice = "10,000";
22
let priceAfterOneYear = "8,543";
33

44
carPrice = Number(carPrice.replaceAll(",", ""));
5-
priceAfterOneYear = Number(priceAfterOneYear.replaceAll("," ""));
5+
priceAfterOneYear = Number(priceAfterOneYear.replaceAll(",", ""));
66

77
const priceDifference = carPrice - priceAfterOneYear;
88
const percentageChange = (priceDifference / carPrice) * 100;
@@ -12,11 +12,19 @@ console.log(`The percentage change is ${percentageChange}`);
1212
// Read the code and then answer the questions below
1313

1414
// a) How many function calls are there in this file? Write down all the lines where a function call is made
15+
//The function call are made five times
16+
//line 4, 5, 10
1517

1618
// b) Run the code and identify the line where the error is coming from - why is this error occurring? How can you fix this problem?
19+
// Line 5, A comma was missing between the arguments. Include a comma between the arguments to fix the error.
1720

1821
// c) Identify all the lines that are variable reassignment statements
1922

23+
//Lines 7 & 8
24+
2025
// d) Identify all the lines that are variable declarations
2126

27+
//Lines 1 & 2
28+
2229
// e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression?
30+
//It first removes all commas from the string (e.g. "10,000" becomes "10000"), then converts the resulting string into a number using Number(). This allows the value to be used in mathematical calculations.

0 commit comments

Comments
 (0)