Skip to content
4 changes: 4 additions & 0 deletions Sprint-2/1-key-exercises/1-count.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,9 @@ let count = 0;

count = count + 1;

console.log(count)

// Line 1 is a variable declaration, creating the count variable with an initial value of 0
// Describe what line 3 is doing, in particular focus on what = is doing

// = is an assignment operator that assigns value to variables, in this instance count was assigned the value of 0
5 changes: 4 additions & 1 deletion Sprint-2/1-key-exercises/2-initials.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@ const firstName = "Creola";
const middleName = "Katherine";
const lastName = "Johnson";


// Declare a variable called initials that stores the first character of each string.
// This should produce the string "CKJ", but you must not write the characters C, K, or J in the code of your solution.

const initials = ``;
const initials = `${firstName.charAt(0)}${middleName.charAt(0)}${lastName.charAt(0)}`;

console.log(initials)

// https://www.google.com/search?q=get+first+character+of+string+mdn
7 changes: 5 additions & 2 deletions Sprint-2/1-key-exercises/3-paths.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@ console.log(`The base part of ${filePath} is ${base}`);
// Create a variable to store the dir part of the filePath variable
// Create a variable to store the ext part of the variable

const dir = ;
const ext = ;
const dir = filePath.slice(0,lastSlashIndex);
const ext = filePath.slice(filePath.lastIndexOf(".")+1);
// ^^ combination

console.log(`The dir part of filePath is ${dir}, while ext is ${ext}`)

// https://www.google.com/search?q=slice+mdn
8 changes: 8 additions & 0 deletions Sprint-2/1-key-exercises/4-random.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,11 @@ const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum;
// Try breaking down the expression and using documentation to explain what it means
// It will help to think about the order in which expressions are evaluated
// Try logging the value of num and running the program several times to build an idea of what the program is doing

console.log(num)

// num in this case returns to us a random number when ran in the console
// Math.floor is used to round a number down to nearest integer
// Math.random returns a random number between 0 and 1, and when multiplied by an exclusive number, say 10, then the Math.random function returns a number between 0 and 10
// the (Maximum - minimum + 1) is to calculate the size the numbers we want
// + minimum at the end adds the minimum value back so that the selected number never goes below the minimum
8 changes: 6 additions & 2 deletions Sprint-2/2-mandatory-errors/0.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
This is just an instruction for the first activity - but it is just for human consumption
We don't want the computer to run these 2 lines - how can we solve this problem?
// This is just an instruction for the first activity - but it is just for human consumption
// We don't want the computer to run these 2 lines - how can we solve this problem?

// When we run this file, the syntax error returned is identified as "unexpected" as it should have been made into a comment to better reflect the purpose of it
// To fix this issue and stop the computer from running the 2 line, we turn it into a comment.

2 changes: 2 additions & 0 deletions Sprint-2/2-mandatory-errors/1.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@

const age = 33;
age = age + 1;

// In this case, the error is a TypeError which highlights that a different value cannot be assigned to a declared const variable.
2 changes: 2 additions & 0 deletions Sprint-2/2-mandatory-errors/2.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@

console.log(`I was born in ${cityOfBirth}`);
const cityOfBirth = "Bolton";

// The error returned is a reference error explaining that the variable cannot be accessed before initialisation, meaning that the variable needs to be declared first to access it.
7 changes: 6 additions & 1 deletion Sprint-2/2-mandatory-errors/3.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
const cardNumber = 4533787178994213;
const cardNumber = "4533787178994213";
const last4Digits = cardNumber.slice(-4);

console.log(last4Digits);
// The last4Digits variable should store the last 4 digits of cardNumber
// However, the code isn't working
// Before running the code, make and explain a prediction about why the code won't work
// Then run the code and see what error it gives.
// Consider: Why does it give this error? Is this what I predicted? If not, what's different?
// Then try updating the expression last4Digits is assigned to, in order to get the correct value

// My prediction is that the code won't work since the .slice function searches the index to find the selected letters and -4 does not exist in an index
// I have ran the code and found that the function is not working, due to missing quotation marks for cardNumber variable which means it was not a string
// I have learned that a minus can be used to slice the latter indexes of a string
9 changes: 7 additions & 2 deletions Sprint-2/2-mandatory-errors/4.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
const 12HourClockTime = "8:53pm";
const 24hourClockTime = "20:53";
const HourClockTime12 = "8:53pm";
const hourClockTime24 = "20:53";

console.log(`${HourClockTime12}, ${hourClockTime24}`);

// variable names can never start with a number
// The lack of letter case convention use in the first variable is also noted, but does not effect the code.
8 changes: 7 additions & 1 deletion Sprint-2/3-mandatory-interpret/1-percentage-change.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ let carPrice = "10,000";
let priceAfterOneYear = "8,543";

carPrice = Number(carPrice.replaceAll(",", ""));
priceAfterOneYear = Number(priceAfterOneYear.replaceAll("," ""));
priceAfterOneYear = Number(priceAfterOneYear.replaceAll(",", ""));

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

// a) How many function calls are there in this file? Write down all the lines where a function call is made
// Both Number functions on line 4 and 5

// 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?
// In line 5, in the .replace.All method, there was a missing comma between what was being replaced and by what.

// c) Identify all the lines that are variable reassignment statements
// Line 4 and 5

// d) Identify all the lines that are variable declarations
// Lines 1, 2, 7 and 8

// e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression?
// The purpose of the Number function is to turn a value, in this case a string into a number data type.
// The expression is replacing the commas in the carPrice string with nothing so that it can be turned into a number
8 changes: 7 additions & 1 deletion Sprint-2/3-mandatory-interpret/2-time-format.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const movieLength = 8784; // length of movie in seconds
const movieLength = 18784; // length of movie in seconds

const remainingSeconds = movieLength % 60;
const totalMinutes = (movieLength - remainingSeconds) / 60;
Expand All @@ -12,14 +12,20 @@ console.log(result);
// For the piece of code above, read the code and then answer the following questions

// a) How many variable declarations are there in this program?
// 6

// b) How many function calls are there?
// none

// c) Using documentation, explain what the expression movieLength % 60 represents
// movieLength represents the total seconds and with the remainder operator it represents the amount of seconds left over after the number is divided by 60
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators

// d) Interpret line 4, what does the expression assigned to totalMinutes mean?
// It means to create the amount of total minutes by subtracting the remainingSeconds from movieLength and dividing the resulting number of seconds by 60 to get the result in minutes

// e) What do you think the variable result represents? Can you think of a better name for this variable?
// It represents the movie length in hours, minutes and seconds. A better name would be totalMovielength

// f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer
// I changed the movieLength to 18784 and the code still works as it gave me back 5:13:4 after running it. The variables would need to be altered or changed for it to stop working.
12 changes: 12 additions & 0 deletions Sprint-2/3-mandatory-interpret/3-to-pounds.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,15 @@ console.log(`£${pounds}.${pence}`);

// To begin, we can start with
// 1. const penceString = "399p": initialises a string variable with the value "399p"

// Line 3 to 6: declaring a new variable called penceSrtingWithoutTraiingP, then uses the .substring method to select indexes from 0, to penceString variable.length which gives us all 4 indexes. Then -1 to remove the p.

// Line 8: declare new variable, paddedPenceNumberString, which equates to penceStringWithoutTrailingP then using the .padStart method to specify string length and pad it if it is short of that length. it specifies target length as 3 and padding character as 0.

// Line 9 to 12: New variable declared called pounds, equates to paddedPenceNumberString then accessing substring method to create a new substring, from index 0 to length of paddedPenceNumberString which is 3 then -2 which makes it 1, which is the first index in the string: "3".

// Line 14 to 16: New variable declared called pence, equates to paddedPenceNumberString. The .substring method is used to create a new string, which is paddedPenceNumberString.length which is 3, the -2 which is 1.
// because only one index is called, that being 1, the second index, this means that 1 and everything after it is included.
// Then .padEnd method is used, which is the opposite of padStart, it pads the ending of the index in the case of string length being short of specified length. 2 is the length and 0 is the padding character, which is not needed in this case because string meets length.

//Line 18: console.log to see the result in terminal while using template lateral to include multiple variables.
Loading