Skip to content
This repository was archived by the owner on Jan 14, 2024. It is now read-only.
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("finally understood how to use terminal");
console.log("gives error without quotes");
console.log(100);
console.log("it gets the number")
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`

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

let message = "Tony was here";
let type= typeof message;
console.log(message);
console.log(type);
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 first = "My name is";
let second = " King Tony";
let message = first + second;
console.log(message);
3 changes: 2 additions & 1 deletion exercises/F-strings-methods/exercise.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// Start by creating a variable `message`

var name = "tony";

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.

At the moment, you're using var to declare a varibable. We probably need to update our exercises: however, whenever you're declaring a variable be sure to use the let or const keyword. You'll learn more about why this is the case later on in the course.

var message = name.length;
console.log(message);
2 changes: 1 addition & 1 deletion exercises/F-strings-methods/exercise2.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
const name = " Daniel ";

let message=name.toLowerCase();
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 numOfStudents=15;
let numOfMentors=8;

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.

Same issue again with spaces. Make sure you come back and tweak these lines 😃

Suggested change
let numOfMentors=8;
let numOfMentors = 8;

let abs=numOfMentors+numOfStudents;

@Dedekind561 Dedekind561 Nov 30, 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.

How can you improve the readability of your code here ?
You've created a variable called abs but it's not immediately apparent to me what this means. Remember your code is not only read by a computer, but also by other people too! So remember to think carefully about your choice of variable names.

console.log("the total number of sty and men are:" + abs)
7 changes: 7 additions & 0 deletions exercises/I-floats/exercise.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
var numberOfStudents = 15;
var numberOfMentors = 8;

var sum=numberOfMentors+numberOfStudents;
var men=Math.round((numberOfMentors/sum)*100);
var stu=Math.round((numberOfStudents/sum)*100);
console.log(men);
console.log(stu);

1 change: 1 addition & 0 deletions exercises/J-functions/exercise.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
function halve(number) {
// complete the function here
return number/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.

Same issue with spacing applies here too - you can leave a space between number, the / and the 2.

}

var result = halve(12);
Expand Down
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*number*number

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.

Spacing here 👓

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.

And semi-colon 😄

}

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) {

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.

As with the other statements, in a function declaration here it is also convention to place spaces between parameters:

Suggested change
function multiply(a,b) {
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
4 changes: 3 additions & 1 deletion exercises/K-functions-parameters/exercise2.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
// Declare your function first

function divide(a,b){
return a/b
};
var result = divide(3, 4);

console.log(result);
4 changes: 3 additions & 1 deletion exercises/K-functions-parameters/exercise3.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
// Write your function here

function createGreeting(name){
return ("Nice to meet you " + name)

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.

Here you've wrapped the return value in parentheses.
Do you need these parentheses in order for this function to work?

}
var greeting = createGreeting("Daniel");

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

// Call the function and assign to a variable `sum`

function summed(a,b){
return a+b
};
let sum =summed(13,24)

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.

summed is a cool variable name 😎. Can you explain why it is a good variable name in this context though?

console.log(sum);
9 changes: 7 additions & 2 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(gbp) {
return Number((gbp*1.4).toFixed(2));
}

/*
CURRENCY CONVERSION
Expand All @@ -15,7 +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(brazil) {
let ninetyNine=(brazil*99)/100;

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.

Let's think about how we can make this code even clearer.
You've created a variable to save the value after you've taken away 1%. But what about the expression - ninetyNine * 5.7 - what does this represent ? Could you store this expression in a variable and give it a name so it's clearer what exactly you're calculating.

return Number((ninetyNine*5.7).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
14 changes: 8 additions & 6 deletions extra/2-piping.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,28 @@
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(c) {
return `£${c}`;

}

const startingValue = 2;

// Why can this code be seen as bad practice? Comment your answer.
let badCode =
let badCode = format((startingValue+10)*2);

/* BETTER PRACTICE */

let goodCode =
let goodCode = format((startingValue+10)*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
72 changes: 71 additions & 1 deletion extra/3-magic-8-ball.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,65 @@
Outlook not so good.
Very doubtful.
*/
const { toBeOneOf } = require("jest-extended");

const veryPositiveAnswers = [
"It is certain.",
"It is decidedly so.",
"Without a doubt.",
"Yes - definitely.",
"You may rely on it.",
];

const positiveAnswers = [
" As I see it, yes.",
"Most likely.",
" Outlook good.",
"Yes.",
" Signs point to yes.",
];

const negativeAnswers = [
"Reply hazy, try again.",
"Ask again later.",
"Better not tell you now.",
"Cannot predict now.",
"Concentrate and ask again.",
];
const veryNegativeAnswers = [
"Don't count on it.",
"My reply is no.",
"My sources say no.",
"Outlook not so good.",
"Very doubtful.",
];

const listsOfAnswers = [
veryPositiveAnswers,
positiveAnswers,
negativeAnswers,
veryNegativeAnswers,
];

let answer;

// This should log "The ball has shaken!"
// and return the answer.
function shakeBall() {
//Write your code in here
console.log("The ball has shaken!")
answer= randomAnswer();
return answer;
}
function randomAnswer(){
let list=listsOfAnswers[getRandom(4)];
let answer=list[getRandom(5)];
return answer;
}

function getRandom(max){
return Math.floor(Math.random()*max);
}
/*
This function should say whether the answer it is given is
- very positive
Expand All @@ -58,10 +110,28 @@ function shakeBall() {

This function should expect to be called with any value which was returned by the shakeBall function.
*/
function checkAnswer(answer) {
function checkAnswer(string) {

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 change the name of this parameter from answer to string?

//Write your code in here
for (let i=0; i<4;i++){
let list=listsOfAnswers[i];
for (let j = 0; j < 5; j++) {

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.

Good attempt at variable naming here! A little wordy perhaps, but easier for me to work out what's going on in your code very quickly.

let answerFromList = list[j];
if (answerFromList === string) {
if (i === 0) {
return "very positive";
} else if (i === 1) {
return "positive";
} else if (i === 2) {
return "negative";
} else {
return "very negative";
}
}
}
}
}


/*
==================================
======= TESTS - DO NOT MODIFY =====
Expand Down
11 changes: 6 additions & 5 deletions mandatory/1-syntax-errors.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
// 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
7 changes: 3 additions & 4 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();
return word.length;
}

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

/*
Expand Down
5 changes: 3 additions & 2 deletions mandatory/3-function-output.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
// Add comments to explain what this function does. You're meant to use Google!
// Add comments to explain what this function does. You're meant to use Google! Math random gets numbers between 0-1. to get an integer we would need to use Math.floor as well as the function below can return decimals.
function getRandomNumber() {
return Math.random() * 10;
}

// Add comments to explain what this function does. You're meant to use Google!
// Add comments to explain what this function does. You're meant to use Google! it will combine the two words without any space and return them.
function combine2Words(word1, word2) {
return word1.concat(word2);
}

function concatenate(firstWord, secondWord, 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.
return firstWord.concat(" ", secondWord, " ", thirdWord);
}

/*
Expand Down
12 changes: 10 additions & 2 deletions mandatory/4-tax.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@
Sales tax is 20% of the price of the product.
*/

function calculateSalesTax() {}
function calculateSalesTax(product) {
let incTax=product*1.2;
return incTax;

}

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

function addTaxAndFormatCurrency() {}
function addTaxAndFormatCurrency(currency) {
let first=calculateSalesTax(currency);

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.

Think about your indenting here - how can you update these variable declarations to make your code more readable. Also think about the naming of your variables here again. For example, what does the variable first mean ?

let second=first.toFixed(2);
return `£${second}`;
}

/*
===================================================
Expand Down