diff --git a/Sprint-1/1-key-exercises/1-count.js b/Sprint-1/1-key-exercises/1-count.js index 117bcb2b6e..515880c942 100644 --- a/Sprint-1/1-key-exercises/1-count.js +++ b/Sprint-1/1-key-exercises/1-count.js @@ -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 + +The = served as the executer of the assignment operation. \ No newline at end of file diff --git a/Sprint-1/1-key-exercises/2-initials.js b/Sprint-1/1-key-exercises/2-initials.js index 47561f6175..2730cc1c03 100644 --- a/Sprint-1/1-key-exercises/2-initials.js +++ b/Sprint-1/1-key-exercises/2-initials.js @@ -1,11 +1,19 @@ +// 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 firstName = "Creola"; let middleName = "Katherine"; let 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. -let initials = ``; +function getInitials() { + return `${firstName[0]}${middleName[0]}${lastName[0]}`; +} + +console.log(getInitials()); + +// Export the initials for testing instead of returning at top-level +module.exports = getInitials; + -// https://www.google.com/search?q=get+first+character+of+string+mdn diff --git a/Sprint-1/1-key-exercises/3-paths.js b/Sprint-1/1-key-exercises/3-paths.js index ab90ebb28e..9def9e2c50 100644 --- a/Sprint-1/1-key-exercises/3-paths.js +++ b/Sprint-1/1-key-exercises/3-paths.js @@ -17,7 +17,7 @@ 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 = ; /Users/mitch/cyf/Module-JS1/week-1/interpret/ +const ext = ; file.txt; // https://www.google.com/search?q=slice+mdn \ No newline at end of file diff --git a/Sprint-1/1-key-exercises/4-random.js b/Sprint-1/1-key-exercises/4-random.js index 292f83aabb..78ce28c05a 100644 --- a/Sprint-1/1-key-exercises/4-random.js +++ b/Sprint-1/1-key-exercises/4-random.js @@ -1,7 +1,10 @@ const minimum = 1; const maximum = 100; -const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum; +for (let i = 0; i < 5; i++) { + const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum; + console.log(num); +} // In this exercise, you will need to work out what num represents? // Try breaking down the expression and using documentation to explain what it means diff --git a/Sprint-1/2-mandatory-errors/0.js b/Sprint-1/2-mandatory-errors/0.js index cf6c5039f7..d97690b20c 100644 --- a/Sprint-1/2-mandatory-errors/0.js +++ b/Sprint-1/2-mandatory-errors/0.js @@ -1,2 +1,5 @@ -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? \ No newline at end of file +//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? + +To prevent the computer from executing these lines of code, you can comment them out, +you can use `//` for single-line comments or `/* */` for multi-line comments, like i demonstated above. \ No newline at end of file diff --git a/Sprint-1/2-mandatory-errors/1.js b/Sprint-1/2-mandatory-errors/1.js index 7a43cbea76..031839b47d 100644 --- a/Sprint-1/2-mandatory-errors/1.js +++ b/Sprint-1/2-mandatory-errors/1.js @@ -1,4 +1,4 @@ // trying to create an age variable and then reassign the value by 1 -const age = 33; +let age = 33; age = age + 1; diff --git a/Sprint-1/2-mandatory-errors/2.js b/Sprint-1/2-mandatory-errors/2.js index e09b89831d..2865eb8a42 100644 --- a/Sprint-1/2-mandatory-errors/2.js +++ b/Sprint-1/2-mandatory-errors/2.js @@ -1,5 +1,5 @@ // 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}`); diff --git a/Sprint-1/2-mandatory-errors/3.js b/Sprint-1/2-mandatory-errors/3.js index ec101884db..a86a9ec910 100644 --- a/Sprint-1/2-mandatory-errors/3.js +++ b/Sprint-1/2-mandatory-errors/3.js @@ -7,3 +7,16 @@ const last4Digits = cardNumber.slice(-4); // 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 + +PREDICTION: +//the code wont work because the card number isnt in ("") and the computer wont be able to apply the .slice due to this. + +THE ERROR: +//cardNumber.slice is not a function + +//YES! the error is what i predicted. + +FIX: +const cardnumber = "4533787178994213"; +const last4Digits = cardnumber.slice(-4); +console.log(last4Digits); diff --git a/Sprint-1/2-mandatory-errors/4.js b/Sprint-1/2-mandatory-errors/4.js index 5f86c730bc..a49fb2f1f8 100644 --- a/Sprint-1/2-mandatory-errors/4.js +++ b/Sprint-1/2-mandatory-errors/4.js @@ -1,2 +1,5 @@ -const 12HourClockTime = "8:53pm"; -const 24hourClockTime = "20:53"; +const twelveHourClockTime = "8:53pm"; +const twentyFourHourClockTime = "20:53"; + +//The Error: +//The code would not run because only a letter can follow the 'const' and 'let' declarations in javascript. diff --git a/Sprint-1/3-mandatory-interpret/1-percentage-change.js b/Sprint-1/3-mandatory-interpret/1-percentage-change.js index e24ecb8e18..413d9d952d 100644 --- a/Sprint-1/3-mandatory-interpret/1-percentage-change.js +++ b/Sprint-1/3-mandatory-interpret/1-percentage-change.js @@ -12,11 +12,26 @@ 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 + //1. Line 5: carPrice.replaceAll(",", "") + //2. Line 6: priceAfterOneYear.replaceAll(",", "") + //3. Line 8: console.log(`The percentage change is ${percentageChange}`) // 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 error is in line 5, the error is occurring because there was a comma missing here; ("," ""). // c) Identify all the lines that are variable reassignment statements + //carPrice = Number(carPrice.replaceAll(",", "")); + //priceAfterOneYear = Number(priceAfterOneYear.replaceAll(",","")); // d) Identify all the lines that are variable declarations + //let carPrice = "10,000"; + //let priceAfterOneYear = "8,543"; + //const priceDifference = carPrice - priceAfterOneYear; + //const percentageChange = (priceDifference / carPrice) * 100; + // e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression? + //The expression is converting the string representation of the car price to a number by first removing the comma. + + //Purpose: + //To allow the computer identify the value of the car price as a number so that it can be used in calculations. \ No newline at end of file diff --git a/Sprint-1/3-mandatory-interpret/2-time-format.js b/Sprint-1/3-mandatory-interpret/2-time-format.js index 47d2395587..da8efe9a2b 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -12,14 +12,32 @@ 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? +//1.movieLength +//2.remainingSeconds +//3.totalMinutes +//4.remainingMinutes +//5.totalHours +//6.result // b) How many function calls are there? +//1. Line 10: console.log(result) // c) Using documentation, explain what the expression movieLength % 60 represents // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators +//The % symbol is called the modulus operator. It returns the remainder of a division operation. +// In this case, movieLength % 60 calculates the remaining seconds after dividing the total movie length by 60 (the number of seconds in a minute). +// This gives us the number of seconds that do not make up a full minute in the movie length. + // d) Interpret line 4, what does the expression assigned to totalMinutes mean? +// The expression (movieLength - remainingSeconds) / 60 calculates the total number of minutes in the movie by subtracting the remaining seconds from the total seconds +// and then dividing by 60. // e) What do you think the variable result represents? Can you think of a better name for this variable? +// The variable result represents the formatted time of the movie in hours, minutes, and seconds. A better name for this variable could be movieDuration. // f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer +//It will do the math perfectly for most normal positive numbers, but there are a few situations where the code will act wierdly. +//1. Visual problems +//2. Negative numbers +//3.Decimal numbers diff --git a/Sprint-1/3-mandatory-interpret/3-to-pounds.js b/Sprint-1/3-mandatory-interpret/3-to-pounds.js index 60c9ace69a..d61918371d 100644 --- a/Sprint-1/3-mandatory-interpret/3-to-pounds.js +++ b/Sprint-1/3-mandatory-interpret/3-to-pounds.js @@ -25,3 +25,19 @@ console.log(`£${pounds}.${pence}`); // To begin, we can start with // 1. const penceString = "399p": initialises a string variable with the value "399p" + +// 2. const penceStringWithoutTrailingP = penceString.substring(0,penceString.length - 1): This removes the letter 'p' from the end of the string, +// leaving just the numbers part of the string. The substring method is used to extract a portion of the string, +// starting from index 0 and ending at the second-to-last character (length - 1). + +// 3. const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0"); This is to ensure the numbers presented after the substring is at least 3 characters long, +// if the number is shorter the computer would add '0' or '0's in front of the number to make it 3 digits long. + +// 4. const pounds = paddedPenceNumberString.substring(0, paddedPenceNumberString.length - 2): +// This extracts the pounds part of the string by taking all characters except the last two. + +// 5. const pence = paddedPenceNumberString.substring(paddedPenceNumberString.length - 2).padEnd(2, "0"); +// This extracts the pence part of the string by taking the last two characters and ensures that it is at least 2 characters long by adding '0' at the end +// if necessary as this is because we need the decimal value. + +// 6. console.log(`£${pounds}.${pence}`): This outputs the final answer in the format of pounds and allows the user to see the final result also. diff --git a/Sprint-1/4-stretch-explore/chrome.md b/Sprint-1/4-stretch-explore/chrome.md index e7dd5feafe..63cb21f26e 100644 --- a/Sprint-1/4-stretch-explore/chrome.md +++ b/Sprint-1/4-stretch-explore/chrome.md @@ -16,3 +16,11 @@ Now try invoking the function `prompt` with a string input of `"What is your nam What effect does calling the `prompt` function have? What is the return value of `prompt`? + +MY RESULTS: + +After running the alert function the browser to immediately open a pop up box at the top of the screen displaying what i inputted 'Hello World!'. + +After running the prompt 'let myName = prompt("what is your name") the browser opened a pop up window that allowed me to type in my name and it was saved after clicking OK. + +Running the 'prompt' "myName" the browser displayed the name i inputted in the console immediately. diff --git a/Sprint-1/4-stretch-explore/objects.md b/Sprint-1/4-stretch-explore/objects.md index 0216dee56a..251667ce80 100644 --- a/Sprint-1/4-stretch-explore/objects.md +++ b/Sprint-1/4-stretch-explore/objects.md @@ -14,3 +14,15 @@ Answer the following questions: What does `console` store? What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean? + +OUTPUTS +`console.log` came back as ƒ log() { [native code] } after hitting enter + +`console` came back as console {debug: ƒ, error: ƒ, info: ƒ, log: ƒ, warn: ƒ, …} + +typeof console came back as 'object' + +ANSWERS +The console stores a collection of functions and data that allow javascript code to interact with the browser's debugging tools + +The "." is known as a property accessor, it acts as a bridge telling the javascript to look inside the object on the left to find a specific item on the right.