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
2 changes: 2 additions & 0 deletions Sprint-1/1-key-exercises/1-count.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ count = count + 1;

// 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
// line 1 declares a the variable count then gives initial value of 0 in line 3 the = in an Operator which assigns result of count+1 to the variable

10 changes: 9 additions & 1 deletion Sprint-1/1-key-exercises/2-initials.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
let firstName = "Creola";
let middleName = "Katherine";
let lastName = "Johnson";
firstName[0]
middleName[0]
lastName[0]
let initials = (firstName[0] + middleName[0] + lastName[0]);
console.log (initials);




// 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.

let initials = ``;


// https://www.google.com/search?q=get+first+character+of+string+mdn

9 changes: 7 additions & 2 deletions Sprint-1/1-key-exercises/3-paths.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,12 @@ 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 = base.slice(base.lastIndexOf("."));


console.log(filePath, dir);
console.log(filePath, ext);


// https://www.google.com/search?q=slice+mdn
4 changes: 4 additions & 0 deletions Sprint-1/1-key-exercises/4-random.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,7 @@ 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

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 also try explaining the meaning of each sub-expression?

    Math.random() 
    Math.random() * (maximum - minimum + 1)
    Math.floor(Math.random() * (maximum - minimum + 1))
    Math.floor(Math.random() * (maximum - minimum + 1)) + minimum

Copy link
Author

Choose a reason for hiding this comment

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

Math.random(): Gives a random number between 0 and 1.
Math.random() * (maximum - minimum + 1): Stretches the random number so it can cover all the numbers in the range, stretches 0 to 1 into 0 to 100.
Math.floor(Math.random() * (maximum - minimum + 1)): Removes the decimal part so we get a whole number.
Math.floor(Math.random() * (maximum - minimum + 1)) + minimum: Adding the minimum moves all the numbers up, so the lowest equals the minimum I chose.

Copy link
Contributor

Choose a reason for hiding this comment

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

Phrases like "a number between X and Y" are not precise enough in a program specification, because they do not clearly state whether the endpoints X and Y are included.

You can consider using the concise and precise interval notation to describe a range of values.

  • [, ] => inclusion
  • (, ) => exclusion

If -5 < x <= 50, we can say x is a number in the interval (-5, 50].

Can you lookup the return value of Math.random() and describe its return value using this notation?

// num represents a random whole number between 1 and 100

console.log(num); //prints the random number
4 changes: 2 additions & 2 deletions Sprint-1/2-mandatory-errors/0.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
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?
5 changes: 3 additions & 2 deletions Sprint-1/2-mandatory-errors/1.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// trying to create an age variable and then reassign the value by 1

const age = 33;
age = age + 1;
let age = 33;
age = age + 1;
console.log(age)
3 changes: 2 additions & 1 deletion Sprint-1/2-mandatory-errors/2.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// Currently trying to print the string "I was born in Bolton" but it isn't working...
// what's the error ?

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

7 changes: 6 additions & 1 deletion Sprint-1/2-mandatory-errors/3.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
const cardNumber = 4533787178994213;
const last4Digits = cardNumber.slice(-4);
const last4Digits = cardNumber.toString().slice(-4);
console.log(last4Digits);
console.log(cardNumber.toString().slice(-4));


// 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

//The code won't work because .slice() only works on Strings or Arrays and cardNumber is a number
5 changes: 3 additions & 2 deletions Sprint-1/2-mandatory-errors/4.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
const 12HourClockTime = "20:53";
const 24hourClockTime = "08:53";
const time24h = "20:53";
const time12h = "08:53";

12 changes: 11 additions & 1 deletion Sprint-1/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 @@ -13,10 +13,20 @@ console.log(`The percentage change is ${percentageChange}`);

// a) How many function calls are there in this file? Write down all the lines where a function call is made

// functions calls are on lines 4,5,8 and 10.

// 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?

// the line where the error is coming from is line 5, because there wasn't a comma between argument in replaceAll(",", "")).

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

// the lines that variable reassignment are 4 and 5.

// d) Identify all the lines that are variable declarations

// the lines where variable declarations are 1 and 2

// e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression?

// we have carPrice which is a STRING AND ALSO 10,000 so need to replaceAll and remove the commas to turn it into a number so we can do math
12 changes: 12 additions & 0 deletions Sprint-1/3-mandatory-interpret/2-time-format.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,25 @@ console.log(result);

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

// there is 7 variable declarations.

// b) How many function calls are there?

// there is 4 function calls.

// c) Using documentation, explain what the expression movieLength % 60 represents
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators

// it gives the number of seconds left after counting all full minutes.

// d) Interpret line 4, what does the expression assigned to totalMinutes mean?

// is the total number of complete minutes in the movie.

// e) What do you think the variable result represents? Can you think of a better name for this variable?

// represents the hours,minutes,seconds of the movie/no

// f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer

// The code won’t work for all values of movieLength. If it’s negative, the result doesn’t make sense because time cannot be negative.
8 changes: 7 additions & 1 deletion Sprint-1/3-mandatory-interpret/3-to-pounds.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,10 @@ console.log(`£${pounds}.${pence}`);
// Try and describe the purpose / rationale behind each step

// To begin, we can start with
// 1. const penceString = "399p": initialises a string variable with the value "399p"
// 1. const penceString = "399p": initialises a string variable with the value "399p".
// 2. line (3) it returns a substring from the given string, it takes penceString and returns the substring that start with index 0 ends one character before the end we have 399p it returns 399.
// 3. line (8) we have the string 399 that's 3 characters means we can split it to pounds.
// 4. line (9) We have the start and the end. We start at 0, then end two characters before the string’s end, because the last two characters represent pence.
// 5. line (14) This takes the last two characters of the string, which represent the pence portion of the price.it also Extracts the pence digits safely and makes sure it’s always two digits, even if the original number was small.
// 6. line (18) This prints the final price to the console in pounds and pence, using the pounds and pence variables to show it like £3.99.