From eea88c3b76a4316bcd1d69f3bb38e488e4c28d61 Mon Sep 17 00:00:00 2001 From: HannaOdud Date: Sun, 5 Oct 2025 19:27:02 +0100 Subject: [PATCH 1/2] Sprint 1 ia done. --- Sprint-1/1-key-exercises/1-count.js | 2 ++ Sprint-1/1-key-exercises/2-initials.js | 4 +++- Sprint-1/1-key-exercises/3-paths.js | 8 +++++-- Sprint-1/1-key-exercises/4-random.js | 7 ++++++ Sprint-1/2-mandatory-errors/0.js | 4 +++- Sprint-1/2-mandatory-errors/1.js | 2 ++ Sprint-1/2-mandatory-errors/2.js | 2 ++ Sprint-1/2-mandatory-errors/3.js | 5 ++++ Sprint-1/2-mandatory-errors/4.js | 4 +++- .../1-percentage-change.js | 12 ++++++---- .../3-mandatory-interpret/2-time-format.js | 15 +++++++----- Sprint-1/3-mandatory-interpret/3-to-pounds.js | 23 ++++++++++--------- Sprint-1/4-stretch-explore/chrome.md | 4 +++- Sprint-1/4-stretch-explore/objects.md | 9 ++++++-- 14 files changed, 71 insertions(+), 30 deletions(-) diff --git a/Sprint-1/1-key-exercises/1-count.js b/Sprint-1/1-key-exercises/1-count.js index 117bcb2b6..f7dc7b7ca 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 +//Answer: +//In line 3 to existing variable count assigned new value = old value of variable + 1. diff --git a/Sprint-1/1-key-exercises/2-initials.js b/Sprint-1/1-key-exercises/2-initials.js index 47561f617..4920cbc80 100644 --- a/Sprint-1/1-key-exercises/2-initials.js +++ b/Sprint-1/1-key-exercises/2-initials.js @@ -5,7 +5,9 @@ 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 = ``; + //let initials = `${firstName.charAt(0)}+${middleName.charAt(0)}+${lastName.charAt(0)}}`; + let initials = `${firstName.charAt(0)+middleName.charAt(0)+lastName.charAt(0)}`; + console.log(`The initials are: ${initials}`) // 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 ab90ebb28..aa2d33825 100644 --- a/Sprint-1/1-key-exercises/3-paths.js +++ b/Sprint-1/1-key-exercises/3-paths.js @@ -11,13 +11,17 @@ const filePath = "/Users/mitch/cyf/Module-JS1/week-1/interpret/file.txt"; const lastSlashIndex = filePath.lastIndexOf("/"); +console.log(`Last slash index ${lastSlashIndex}`) const base = filePath.slice(lastSlashIndex + 1); +console.log(`Base: ${base}`) 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 + 1); +console.log(`The dir part is: ${dir}`); +const ext = console.log(`The ext part is: ${filePath.slice(-3)}`) ; // 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 292f83aab..903d8606f 100644 --- a/Sprint-1/1-key-exercises/4-random.js +++ b/Sprint-1/1-key-exercises/4-random.js @@ -7,3 +7,10 @@ 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) + +//Explenation: + +// Math.random - generates a random number (could be anything like: 0,1-0,750 etc in the range from 0(inclusive) to 1 (exclusive)); +// Math.floar - rounds the number to the closest integer; +// Consequently, given expression on line 4 gives us a random round number in the range from minimum to maximum. \ No newline at end of file diff --git a/Sprint-1/2-mandatory-errors/0.js b/Sprint-1/2-mandatory-errors/0.js index cf6c5039f..b245bc2a6 100644 --- a/Sprint-1/2-mandatory-errors/0.js +++ b/Sprint-1/2-mandatory-errors/0.js @@ -1,2 +1,4 @@ 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 +We don't want the computer to run these 2 lines - how can we solve this problem? + +//We have to add " // " \ 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 7a43cbea7..e456f93c2 100644 --- a/Sprint-1/2-mandatory-errors/1.js +++ b/Sprint-1/2-mandatory-errors/1.js @@ -2,3 +2,5 @@ const age = 33; age = age + 1; + +// declared variable is const which means that can't be changed (Should be assigned like "let age"); \ No newline at end of file diff --git a/Sprint-1/2-mandatory-errors/2.js b/Sprint-1/2-mandatory-errors/2.js index e09b89831..bb7b5d036 100644 --- a/Sprint-1/2-mandatory-errors/2.js +++ b/Sprint-1/2-mandatory-errors/2.js @@ -3,3 +3,5 @@ console.log(`I was born in ${cityOfBirth}`); const cityOfBirth = "Bolton"; + +//The variable declaration should be on the beginning diff --git a/Sprint-1/2-mandatory-errors/3.js b/Sprint-1/2-mandatory-errors/3.js index ec101884d..eaac7c1e7 100644 --- a/Sprint-1/2-mandatory-errors/3.js +++ b/Sprint-1/2-mandatory-errors/3.js @@ -7,3 +7,8 @@ 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 + + +//Explenation: method Slice is valid for String type. +//we need to change a type: +//const last4Digits = cardNumber.toString.slice(-4); \ No newline at end of file diff --git a/Sprint-1/2-mandatory-errors/4.js b/Sprint-1/2-mandatory-errors/4.js index 21dad8c5d..0f2f379b6 100644 --- a/Sprint-1/2-mandatory-errors/4.js +++ b/Sprint-1/2-mandatory-errors/4.js @@ -1,2 +1,4 @@ const 12HourClockTime = "20:53"; -const 24hourClockTime = "08:53"; \ No newline at end of file +const 24hourClockTime = "08:53"; + +//Explenation: the name of value in JS can not start with numbers. \ No newline at end of file diff --git a/Sprint-1/3-mandatory-interpret/1-percentage-change.js b/Sprint-1/3-mandatory-interpret/1-percentage-change.js index e24ecb8e1..799b0221c 100644 --- a/Sprint-1/3-mandatory-interpret/1-percentage-change.js +++ b/Sprint-1/3-mandatory-interpret/1-percentage-change.js @@ -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; @@ -12,11 +12,13 @@ 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 - + //4,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? - + // // c) Identify all the lines that are variable reassignment statements - + //4,5 // d) Identify all the lines that are variable declarations - + //1,2,7,8 // e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression? + // we replace all commas into "". Then, we convert variable CarPrice into Integer, because it was String. + // The purpose of this action is next step of calculation. \ 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 47d239558..ac24268af 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -1,6 +1,7 @@ -const movieLength = 8784; // length of movie in seconds +const movieLength = -8784; // length of movie in seconds (8784) const remainingSeconds = movieLength % 60; +//console.log(`Remaining Seconds:${remainingSeconds}`) const totalMinutes = (movieLength - remainingSeconds) / 60; const remainingMinutes = totalMinutes % 60; @@ -12,14 +13,16 @@ 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? - + //1 // c) Using documentation, explain what the expression movieLength % 60 represents // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators - + // %-this is remaider operator that help us get remaining. In this case, dividing MovieLength % 60 returned + // remainder. It is not a typical mathematic division, it is division where we can get remainder. // d) Interpret line 4, what does the expression assigned to totalMinutes mean? - + // Mean the subtraction remaider(second) from the total length (in second) and divide by 60, because we need Minutes (1 min = 60 sec) // e) What do you think the variable result represents? Can you think of a better name for this variable? - + //time // f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer + //It works with a different values(negative and positive numbers). \ No newline at end of file diff --git a/Sprint-1/3-mandatory-interpret/3-to-pounds.js b/Sprint-1/3-mandatory-interpret/3-to-pounds.js index 60c9ace69..7406339c6 100644 --- a/Sprint-1/3-mandatory-interpret/3-to-pounds.js +++ b/Sprint-1/3-mandatory-interpret/3-to-pounds.js @@ -1,19 +1,15 @@ const penceString = "399p"; -const penceStringWithoutTrailingP = penceString.substring( - 0, - penceString.length - 1 -); +const penceStringWithoutTrailingP = penceString.substring( 0,penceString.length - 1); +console.log(penceStringWithoutTrailingP); const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0"); -const pounds = paddedPenceNumberString.substring( - 0, - paddedPenceNumberString.length - 2 -); +console.log(paddedPenceNumberString); +const pounds = paddedPenceNumberString.substring(0, paddedPenceNumberString.length - 2); +console.log(pounds); -const pence = paddedPenceNumberString - .substring(paddedPenceNumberString.length - 2) - .padEnd(2, "0"); +const pence = paddedPenceNumberString.substring(paddedPenceNumberString.length - 2).padEnd(2, "0"); +console.log(pence); console.log(`£${pounds}.${pence}`); @@ -25,3 +21,8 @@ console.log(`£${pounds}.${pence}`); // To begin, we can start with // 1. const penceString = "399p": initialises a string variable with the value "399p" +// 3. declaration of penceStringWithoutTrailingP, that = 399 because of method substracting() +// 6. declaration of paddedPenceNumberString, that = 399 because of padStart(3, "0") +// 8. declaration of paddedPenceNumberString, substring() cut two last characters, padEnd(3,"0") - add "0" on the right side. +// 11. declaration of pence, that substring(two last characters of paddedPenceNumberString ) and padEnd(2, "0") that may add two "00" in the end of the right side. +// 14. shoows pounds and pence with special sign and comma. \ No newline at end of file diff --git a/Sprint-1/4-stretch-explore/chrome.md b/Sprint-1/4-stretch-explore/chrome.md index e7dd5feaf..14b6c66f6 100644 --- a/Sprint-1/4-stretch-explore/chrome.md +++ b/Sprint-1/4-stretch-explore/chrome.md @@ -11,8 +11,10 @@ In the Chrome console, invoke the function `alert` with an input string of `"Hello world!"`; What effect does calling the `alert` function have? - + //pop up window appeared. Now try invoking the function `prompt` with a string input of `"What is your name?"` - store the return value of your call to `prompt` in an variable called `myName`. What effect does calling the `prompt` function have? + //pop up with input appeared What is the return value of `prompt`? + //return value is user input diff --git a/Sprint-1/4-stretch-explore/objects.md b/Sprint-1/4-stretch-explore/objects.md index 0216dee56..77c19f46a 100644 --- a/Sprint-1/4-stretch-explore/objects.md +++ b/Sprint-1/4-stretch-explore/objects.md @@ -4,13 +4,18 @@ In this activity, we'll explore some additional concepts that you'll encounter i Open the Chrome devtools Console, type in `console.log` and then hit enter -What output do you get? +What output do you get? + +//ƒ log() { [native code] } Now enter just `console` in the Console, what output do you get back? +// console {debug: ƒ, error: ƒ, info: ƒ, log: ƒ, warn: ƒ, …} Try also entering `typeof console` - +// 'object' Answer the following questions: What does `console` store? +// Console is JS object for logging output. What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean? +// log() and assert() are method of console object that can be accesed with "." notation. From 66fa83d929dcf8726f1ee818795fa970d5382cd0 Mon Sep 17 00:00:00 2001 From: HannaOdud Date: Mon, 6 Oct 2025 18:06:22 +0100 Subject: [PATCH 2/2] Small changes according to review. --- Sprint-1/1-key-exercises/2-initials.js | 3 +-- Sprint-1/2-mandatory-errors/4.js | 5 +++-- Sprint-1/3-mandatory-interpret/2-time-format.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Sprint-1/1-key-exercises/2-initials.js b/Sprint-1/1-key-exercises/2-initials.js index 4920cbc80..dc1df3352 100644 --- a/Sprint-1/1-key-exercises/2-initials.js +++ b/Sprint-1/1-key-exercises/2-initials.js @@ -5,8 +5,7 @@ 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 = `${firstName.charAt(0)}+${middleName.charAt(0)}+${lastName.charAt(0)}}`; - let initials = `${firstName.charAt(0)+middleName.charAt(0)+lastName.charAt(0)}`; +let initials = firstName.charAt(0)+middleName.charAt(0)+lastName.charAt(0); console.log(`The initials are: ${initials}`) // https://www.google.com/search?q=get+first+character+of+string+mdn diff --git a/Sprint-1/2-mandatory-errors/4.js b/Sprint-1/2-mandatory-errors/4.js index 0f2f379b6..8ecd88ffe 100644 --- a/Sprint-1/2-mandatory-errors/4.js +++ b/Sprint-1/2-mandatory-errors/4.js @@ -1,4 +1,5 @@ const 12HourClockTime = "20:53"; + //twelveHourClockTime const 24hourClockTime = "08:53"; - -//Explenation: the name of value in JS can not start with numbers. \ No newline at end of file + //twentyFourHourClockTime +//Explanation: the name of value in JS can not start with numbers. diff --git a/Sprint-1/3-mandatory-interpret/2-time-format.js b/Sprint-1/3-mandatory-interpret/2-time-format.js index ac24268af..8b18b4826 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -21,8 +21,8 @@ console.log(result); // %-this is remaider operator that help us get remaining. In this case, dividing MovieLength % 60 returned // remainder. It is not a typical mathematic division, it is division where we can get remainder. // d) Interpret line 4, what does the expression assigned to totalMinutes mean? - // Mean the subtraction remaider(second) from the total length (in second) and divide by 60, because we need Minutes (1 min = 60 sec) + // Means the subtraction remaider(second) from the total length (in second) and divide by 60, because we need Minutes (1 min = 60 sec) // e) What do you think the variable result represents? Can you think of a better name for this variable? - //time + //FormattedMovieTime // f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer //It works with a different values(negative and positive numbers). \ No newline at end of file