Skip to content
This repository was archived by the owner on Jan 14, 2024. It is now read-only.
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
4 changes: 4 additions & 0 deletions exercises/B-hello-world/exercise.js
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
console.log("Hello world");
console.log("hello world! i just started learning Java Script");// printed out inside quotes
console.log(2345);//printed out number
console.log(hello world i am 33 i just leaning java script);//running error

4 changes: 3 additions & 1 deletion exercises/C-variables/exercise.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// Start by creating a variable `greeting`

var greeting = "I am BOshra";

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hi there @BoshraM,
We've just updated our coursework with a change to the variable declarations.
From now on when you're writing variable declarations be sure to use let / const over var.

Suggested change
var greeting = "I am BOshra";
const greeting = "I am BOshra";

console.log(greeting);
console.log(greeting);
console.log(greeting);
3 changes: 2 additions & 1 deletion exercises/D-strings/exercise.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// Start by creating a variable `message`

let message = "this is a string";
console.log(message);
console.log(typeof message);
4 changes: 3 additions & 1 deletion exercises/E-strings-concatenation/exercise.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// Start by creating a variable `message`

let greeting = "My name is";
let myName = "Boshra";
let message = greeting + " " + myName;

@Dedekind561 Dedekind561 Dec 1, 2022

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This looks good.
How else do you think you can improve the RHS ( Right Hand Side ) on line 4 though? You're currently using + to concatenate the strings together - but what other techniques can you use for forming strings using variables. Try checking out template literals and see if you can refactor your code :)

console.log(message);
12 changes: 12 additions & 0 deletions exercises/F-strings-methods/exercise.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
// Start by creating a variable `message`
let myName = "BOSHRA";
let message =
"my name is " +
myName +
" and my name is" +
myName.length +
" characters long";
console.log(message);

let nameLowerCase = myName.toLowerCase();
console.log(nameLowerCase);

message = myName.trim();
console.log(message);
4 changes: 2 additions & 2 deletions exercises/F-strings-methods/exercise2.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
const name = " Daniel ";

let myName = " Daniel ";
let message = myName.trim();
console.log(message);
4 changes: 4 additions & 0 deletions exercises/G-numbers/exercise.js
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
// Start by creating a variables `numberOfStudents` and `numberOfMentors`
let numberOfStudents = 25;
let numberOfMentors = 10;
let message = numberOfMentors + numberOfStudents;
console.log(message);
6 changes: 6 additions & 0 deletions exercises/I-floats/exercise.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@
var numberOfStudents = 15;
var numberOfMentors = 8;
let totalNumber = numberOfMentors + numberOfStudents;
let percentageOfStudents = (numberOfStudents / totalNumber) * 100;
let roughPercentageOfStudents = Math.round(percentageOfStudents);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why did you decide to call this variable roughPercentageOfStudents in this case - what makes it rough?

console.log(roughPercentageOfStudents);
let percentageOfMentors = (numberOfMentors / totalNumber) * 100;
console.log(Math.round(percentageOfMentors));
5 changes: 5 additions & 0 deletions exercises/J-functions/exercise.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
function halve(number) {
// complete the function here
return number / 2;
}

var result = halve(12);

console.log(result);
result = halve(43);
console.log(result);
result = halve(23453);
console.log(result);
1 change: 1 addition & 0 deletions exercises/J-functions/exercise2.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
function triple(number) {
// complete function here
return number * 3;
}

var result = triple(12);
Expand Down
3 changes: 2 additions & 1 deletion exercises/K-functions-parameters/exercise.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Complete the function so that it takes input parameters
function multiply() {
function multiply(a, b) {
// Calculate the result of the function and return it
return a * b;
}

// Assign the result of calling the function the variable `result`
Expand Down
3 changes: 3 additions & 0 deletions exercises/K-functions-parameters/exercise2.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
// Declare your function first
function divide(a, b) {
return a / b;
}

var result = divide(3, 4);

Expand Down
6 changes: 6 additions & 0 deletions exercises/K-functions-parameters/exercise3.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
// Write your function here
function createGreeting(string) {
return "my name is " + string;
}

var greeting = createGreeting("Daniel");

console.log(greeting);

var greeting = createGreeting("Boshra");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

👓 Watch out for var here, again!

console.log(greeting);
5 changes: 4 additions & 1 deletion exercises/K-functions-parameters/exercise4.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
// Declare your function first

function add(a, b) {
return a + b;
}
// Call the function and assign to a variable `sum`
sum = add(13, 124);

console.log(sum);
3 changes: 3 additions & 0 deletions exercises/K-functions-parameters/exercise5.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
// Declare your function here
function createLongGreeting(string, number) {
return "Hello my name is " + string + "and I am " + number + " years old";
}

const greeting = createLongGreeting("Daniel", 30);

Expand Down
14 changes: 14 additions & 0 deletions exercises/L-functions-nested/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,17 @@ var mentor2 = "Irina";
var mentor3 = "Mimi";
var mentor4 = "Rob";
var mentor5 = "Yohannes";

function upperCaseName(mentor) {
return mentor.toUpperCase();
}

function greeting(mentor) {
return `HELLO ${upperCaseName(mentor)}`;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nice use of template literals here! 😄

}

console.log(greeting(mentor1));
console.log(greeting(mentor2));
console.log(greeting(mentor3));
console.log(greeting(mentor4));
console.log(greeting(mentor5));
3 changes: 3 additions & 0 deletions exercises/L-functions-nested/greeting.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
function greeting(mentor) {
return "HELLO " + upperCaseName(mentor);
}
10 changes: 7 additions & 3 deletions extra/1-currency-conversion.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
Write a function that converts a price to USD (exchange rate is 1.4 $ to £)
*/

function convertToUSD() {}
function convertToUSD(price) {
return price * 1.4;
}

/*
CURRENCY CONVERSION
Expand All @@ -15,8 +17,10 @@ function convertToUSD() {}
They have also decided that they should add a 1% fee to all foreign transactions, which means you only convert 99% of the £ to BRL.
*/

function convertToBRL() {}

function convertToBRL(price) {
let newPrice = price * 0.99 * 5.7;

@Dedekind561 Dedekind561 Dec 1, 2022

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This solution looks good to me - I like your use of multiplication by 0.99 to reduce the original value by 1%. 😎
Think about this function for a moment from the perspective of somebody who perhaps is a bit less familiar.
They probably won't have much idea of what the 5.7 means.
Could you assign 5.7 to a variable with a clear name showing what it represents ?

return Number(newPrice.toFixed(2));
}
/* ======= TESTS - DO NOT MODIFY =====
There are some Tests in this file that will help you work out if your code is working.

Expand Down
24 changes: 14 additions & 10 deletions extra/2-piping.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,30 @@
the final result to the variable goodCode
*/

function add() {

function add(a, b) {
return a + b;
}

function multiply() {

function multiply(a, b) {
return a * b;
}

function format() {

function format(number) {
return "£" + number;
}

const startingValue = 2;

// Why can this code be seen as bad practice? Comment your answer.
let badCode =
// Why can this code be seen as bad practice? Comment your answer.//there is lots of function in one line which makes hard to understands for someone who read the codes
let badCode = format(multiply(add(startingValue, 10), 2));

/* BETTER PRACTICE */

let goodCode =
function giveNewValueTo(startingValue) {
let sum = add(startingValue, 10);
let multiplication = multiply(sum, 2);
return format(multiplication);
}
let goodCode = giveNewValueTo(startingValue); // i made new function which put inside it what function are need , i think it is easier to read

/* ======= TESTS - DO NOT MODIFY =====
There are some Tests in this file that will help you work out if your code is working.
Expand Down
12 changes: 6 additions & 6 deletions mandatory/1-syntax-errors.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
// There are syntax errors in this code - can you fix it to pass the tests?

function addNumbers(a b c) {
function addNumbers(a, b, c) {
return a + b + c;
}

function introduceMe(name, age)
return "Hello, my name is " + name "and I am " age + "years old";

function introduceMe(name, age) {
return "Hello, my name is " + name + " and I am " + age + " years old";
}
function getTotal(a, b) {
total = a ++ b;
total = a + b;

return "The total is total";
return "The total is " + total;
}

/*
Expand Down
9 changes: 4 additions & 5 deletions mandatory/2-logic-error.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
// The syntax for this function is valid but it has an error, find it and fix it.

function trimWord(word) {
return wordtrim();
return word.trim();
}

function getStringLength(word) {
return "word".length();
function getStringLength(string) {
return string.length;
}

function multiply(a, b, c) {
a * b * c;
return;
return a * b * c;
}

/*
Expand Down
3 changes: 3 additions & 0 deletions mandatory/3-function-output.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@ function getRandomNumber() {
return Math.random() * 10;
}

//by using random it will get a number between 0 and 1 then multiply it in 10.
// Add comments to explain what this function does. You're meant to use Google!
function combine2Words(word1, word2) {
return word1.concat(word2);
}
//concat combine to arrays and make new one. in this example it will add two words together.

function concatenate(firstWord, secondWord, thirdWord) {
return firstWord.concat(" ", secondWord).concat(" ", thirdWord);
// Write the body of this function to concatenate three words together.
// Look at the test case below to understand what this function is expected to return.
}
Expand Down
10 changes: 7 additions & 3 deletions mandatory/4-tax.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
Sales tax is 20% of the price of the product.
*/

function calculateSalesTax() {}
function calculateSalesTax(price) {
return price + (price * 20) / 100;
}

/*
CURRENCY FORMATTING
Expand All @@ -17,8 +19,10 @@ function calculateSalesTax() {}
Remember that the prices must include the sales tax (hint: you already wrote a function for this!)
*/

function addTaxAndFormatCurrency() {}

function addTaxAndFormatCurrency(price) {
return `£${calculateSalesTax(price).toFixed(2)}`;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Possibly think about adding another variable in here to make the final return value a bit more readable.
Which part of the expression calculateSalesTax(price).toFixed(2) could you lift out of the template literal and give a meaningful name to ?

}
//console.log(addTaxAndFormatCurrency(34));
/*
===================================================
======= TESTS - DO NOT MODIFY BELOW THIS LINE =====
Expand Down