-
-
Notifications
You must be signed in to change notification settings - Fork 342
London | 26-ITP-May | Remi M. | Sprint 1 | Coursework Sprint 1 #1322
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
0392c8e
55f3ec6
cabc767
2dec0c8
7f6b975
8d4e8a1
c056344
62c8f2f
031eb39
1d240a1
db7d71e
0e9535d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,3 +7,14 @@ 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); | ||
|
|
||
| // Math.floor()= rounds a number down to the nearest integer | ||
| // Math.random() = generates a random float number between 0 and 1 (not including 1) | ||
| // Math.random() * 100 = generates a random float number between 0 and 99.999... | ||
|
Comment on lines
+13
to
+15
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Note: To describe a range of numbers, we can use the concise and precise interval notation:
For example, |
||
| // (maximum - minimum + 1) -> scales the range of random numbers to be between the minimum and maximum values (including the maximum value) | ||
| // + minimum -> shifts the range of random numbers to start from the minimum value instead of 0 | ||
| // So, the expression generates a random integer between the minimum and maximum values (inclusive) | ||
| // num = a random integer between 1 and 100 (including 100) | ||
|
|
||
| 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? |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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; |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,7 @@ | ||
| // 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}`); | ||
|
|
||
| // cityOfBirth has to be declared as a variable before we can use it in the console.log statement. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,9 +1,23 @@ | ||
| const cardNumber = 4533787178994213; | ||
| const last4Digits = cardNumber.slice(-4); | ||
| const last4Digits = 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 | ||
|
|
||
| // Prediction: I think the code won't work because cardNumber is a number and the | ||
| // slice method is for strings. So, it will give an error that slice is not a function. | ||
|
|
||
| // Error: TypeError: cardNumber.slice is not a function | ||
| // It was what I predicted. This is because it occurs because cardNumber is a number, | ||
| // and numbers do not have the slice method. To fix this, we can convert cardNumber | ||
| // to a string before using the slice method. | ||
|
|
||
| // Fix: I converted cardNumber to a string using the toString() method, and then | ||
| // I used the slice method to get the last 4 digits. The updated code is above. | ||
|
|
||
| console.log(last4Digits); | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,2 +1,7 @@ | ||
| const 12HourClockTime = "8:53pm"; | ||
| const 24hourClockTime = "20:53"; | ||
| const twelveHourClockTime = "8:53pm"; | ||
| const twentyFourHourClockTime = "20:53"; | ||
|
|
||
| // Found out that variable names cannot start with a number in JavaScript. | ||
| // To fix this, we can rename the variables to start with a letter or an | ||
| // underscore. | ||
| // In this instance I spelled out the numbers as words. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -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,23 @@ 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 | ||
| // Line 4: replaceAll(",", "") and Number() | ||
| // Line 5: replaceAll(",", "") and Number() | ||
| // Line 10: console.log() | ||
|
|
||
| // 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? | ||
| // Line 5 has a SyntaxError - there is a missing comma between "," and "" in replaceAll(","" should be replaceAll(",", "") | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In the function call |
||
|
|
||
| // c) Identify all the lines that are variable reassignment statements | ||
| // Line 4: carPrice = ... | ||
| // Line 5: priceAfterOneYear = ... | ||
|
|
||
| // d) Identify all the lines that are variable declarations | ||
| // Line 1: let carPrice = "10,000" | ||
| // Line 2: let priceAfterOneYear = "8,543" | ||
| // Line 7: const priceDifference = ... | ||
| // Line 8: const percentageChange = .. | ||
|
|
||
| // e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression? | ||
| // replaceAll(",", "") removes all commas from the string e.g. "10,000" becomes "10000" | ||
| // Number() then converts that string into an actual number so we can do maths on it | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -25,3 +25,8 @@ console.log(`£${pounds}.${pence}`); | |
|
|
||
| // To begin, we can start with | ||
| // 1. const penceString = "399p": initialises a string variable with the value "399p" | ||
| // 2. penceString.substring(0, penceString.length - 1): removes the trailing "p" by taking all characters except the last one -> "399" | ||
| // 3. paddedPenceNumberString = "399".padStart(3, "0"): ensures the string is at least 3 characters long, padding with "0" on the left if needed. "399" stays "399" but "5p" would become "005" | ||
| // 4. pounds = paddedPenceNumberString.substring(0, length - 2): takes everything except the last 2 digits, giving the pounds part -> "3" | ||
| // 5. pence = paddedPenceNumberString.substring(length - 2).padEnd(2, "0"): takes the last 2 digits for the pence -> "99". padEnd ensures it stays 2 digits e.g. "5" would become "50" | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could we expect this program to work as intended for any valid |
||
| // 6. console.log prints the final result combining pounds and pence -> £3.99 | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Operation like
count = count + 1is very common in programming, and there is a programming term describing such operation.Can you find out what one-word programming term describes the operation on line 3?