Skip to content
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
25 changes: 24 additions & 1 deletion task-1/book.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
function isBookApplicable(searchString) {
// Your code here
const bookTitle = "The fundamentals of JavaScript";

const normalizedSearch = searchString.trim().toLowerCase();
const normalizedTitle = bookTitle.toLowerCase();

return normalizedTitle.includes(normalizedSearch);


}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

            Make your code nice to read, 
not only for the computer, but for humans too: pay 
                                attention to proper indentation.

// Example usage:

console.log(isBookApplicable("javascript"));
// Output: true

console.log(isBookApplicable("javascript "));
// Output: true

console.log(isBookApplicable("python"));
// Output: false

console.log(isBookApplicable("JavaScript"));
// Output: true

console.log(isBookApplicable("JAVASCRIPT"));
// Output: true
37 changes: 36 additions & 1 deletion task-2/parse-date.js
Original file line number Diff line number Diff line change
@@ -1 +1,36 @@
// Your code here
function parseDateString(dateString) {

const [format, datePart] = dateString.split(" ");

const [first, second, third] = datePart.split("-");


if (format === "MDY") {
return {
day: Number(second),
month: Number(first),
year: Number(third)
};
} else {
// DMY format: Day-Month-Year

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

That's what you hope for, but you leave it untested.

return {
day: Number(first),
month: Number(second),
year: Number(third)
};
}
}

// Example usage:

console.log(parseDateString("MDY 10-21-1983"));
// Output: { day: 21, month: 10, year: 1983 }

console.log(parseDateString("DMY 21-10-1983"));
// Output: { day: 21, month: 10, year: 1983 }

console.log(parseDateString("MDY 03-15-2024"));
// Output: { day: 15, month: 3, year: 2024 }

console.log(parseDateString("DMY 15-03-2024"));
// Output: { day: 15, month: 3, year: 2024 }
24 changes: 24 additions & 0 deletions task-3/date.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// Date library module
export function convertHoursToMinutes(hours) {
return hours * 60;
}

export function convertMinutesToHours(minutes) {
return minutes / 60;
}

export function convertDaysToHours(days) {
return days * 24;
}

export function convertHoursToDays(hours) {
return hours / 24;
}

export function convertMinutesToSeconds(minutes) {
return minutes * 60;
}

export function convertSecondsToMinutes(seconds) {
return seconds / 60;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

👍

94 changes: 19 additions & 75 deletions task-4/cleanup.js
Original file line number Diff line number Diff line change
@@ -1,80 +1,24 @@
// Temperature conversion and weather report for City 1
let cityName1 = "Amsterdam";
let tempCelsius1 = 22;
let tempFahrenheit1 = (tempCelsius1 * 9 / 5) + 32;
let tempKelvin1 = tempCelsius1 + 273.15;
console.log("Weather Report for " + cityName1);
console.log("Temperature: " + tempCelsius1 + "°C");
console.log("Temperature: " + tempFahrenheit1 + "°F");
console.log("Temperature: " + tempKelvin1 + "K");
if (tempCelsius1 < 0) {
console.log("Status: Freezing");
} else if (tempCelsius1 >= 0 && tempCelsius1 < 10) {
console.log("Status: Cold");
} else if (tempCelsius1 >= 10 && tempCelsius1 < 20) {
console.log("Status: Mild");
} else if (tempCelsius1 >= 20 && tempCelsius1 < 30) {
console.log("Status: Warm");
} else {
console.log("Status: Hot");
function celsiusToFahrenheit(celsius) {
return (celsius * 9/5) + 32;
}
console.log("---");

// Temperature conversion and weather report for City 2
let cityName2 = "Berlin";
let tempCelsius2 = 15;
let tempFahrenheit2 = (tempCelsius2 * 9 / 5) + 32;
let tempKelvin2 = tempCelsius2 + 273.15;
console.log("Weather Report for " + cityName2);
console.log("Temperature: " + tempCelsius2 + "°C");
console.log("Temperature: " + tempFahrenheit2 + "°F");
console.log("Temperature: " + tempKelvin2 + "K");
if (tempCelsius2 < 0) {
console.log("Status: Freezing");
} else if (tempCelsius2 >= 0 && tempCelsius2 < 10) {
console.log("Status: Cold");
} else if (tempCelsius2 >= 10 && tempCelsius2 < 20) {
console.log("Status: Mild");
} else if (tempCelsius2 >= 20 && tempCelsius2 < 30) {
console.log("Status: Warm");
} else {
console.log("Status: Hot");
function calculateWindChill(temp, windSpeed) {
return 13.12 + 0.6215 * temp - 11.37 * Math.pow(windSpeed, 0.16) + 0.3965 * temp * Math.pow(windSpeed, 0.16);
}
console.log("---");

// Temperature conversion and weather report for City 3
let cityName3 = "Copenhagen";
let tempCelsius3 = -5;
let tempFahrenheit3 = (tempCelsius3 * 9 / 5) + 32;
let tempKelvin3 = tempCelsius3 + 273.15;
console.log("Weather Report for " + cityName3);
console.log("Temperature: " + tempCelsius3 + "°C");
console.log("Temperature: " + tempFahrenheit3 + "°F");
console.log("Temperature: " + tempKelvin3 + "K");
if (tempCelsius3 < 0) {
console.log("Status: Freezing");
} else if (tempCelsius3 >= 0 && tempCelsius3 < 10) {
console.log("Status: Cold");
} else if (tempCelsius3 >= 10 && tempCelsius3 < 20) {
console.log("Status: Mild");
} else if (tempCelsius3 >= 20 && tempCelsius3 < 30) {
console.log("Status: Warm");
} else {
console.log("Status: Hot");
function generateWeatherReport(city, tempCelsius, windSpeed) {

const tempFahrenheit = celsiusToFahrenheit(tempCelsius);
const windChill = calculateWindChill(tempCelsius, windSpeed);


console.log(`\nWeather Report for ${city}:`);
console.log(`Temperature: ${tempCelsius}C (${tempFahrenheit.toFixed(1)}F)`);
console.log(`Wind Speed: ${windSpeed} km/h`);
console.log(`Wind Chill: ${windChill.toFixed(1)}C`);
}
console.log("---");

// Wind chill calculation for City 1
let windSpeed1 = 15;
let windChill1 = 13.12 + 0.6215 * tempCelsius1 - 11.37 * Math.pow(windSpeed1, 0.16) + 0.3965 * tempCelsius1 * Math.pow(windSpeed1, 0.16);
console.log("Wind chill in " + cityName1 + ": " + windChill1.toFixed(2) + "°C");

// Wind chill calculation for City 2
let windSpeed2 = 20;
let windChill2 = 13.12 + 0.6215 * tempCelsius2 - 11.37 * Math.pow(windSpeed2, 0.16) + 0.3965 * tempCelsius2 * Math.pow(windSpeed2, 0.16);
console.log("Wind chill in " + cityName2 + ": " + windChill2.toFixed(2) + "°C");

// Wind chill calculation for City 3
let windSpeed3 = 25;
let windChill3 = 13.12 + 0.6215 * tempCelsius3 - 11.37 * Math.pow(windSpeed3, 0.16) + 0.3965 * tempCelsius3 * Math.pow(windSpeed3, 0.16);
console.log("Wind chill in " + cityName3 + ": " + windChill3.toFixed(2) + "°C");
// Example usage
generateWeatherReport("Amsterdam", 5, 20);
generateWeatherReport("London", 8, 15);
generateWeatherReport("New York", -2, 25);
generateWeatherReport("Tokyo", 12, 10);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

You did not meet this requirement from the assignment:

The refactored code should produce the same output as the original

Your code:

Weather Report for Amsterdam:
Temperature: 5C (41.0F)
Wind Speed: 20 km/h
Wind Chill: 1.1C

Weather Report for London:
Temperature: 8C (46.4F)
Wind Speed: 15 km/h
Wind Chill: 5.4C

Weather Report for New York:
Temperature: -2C (28.4F)
Wind Speed: 25 km/h
Wind Chill: -8.5C

Weather Report for Tokyo:
Temperature: 12C (53.6F)
Wind Speed: 10 km/h
Wind Chill: 11.0C

Original code:

Weather Report for Amsterdam
Temperature: 22°C
Temperature: 71.6°F
Temperature: 295.15K
Status: Warm
---
Weather Report for Berlin
Temperature: 15°C
Temperature: 59°F
Temperature: 288.15K
Status: Mild
---
Weather Report for Copenhagen
Temperature: -5°C
Temperature: 23°F
Temperature: 268.15K
Status: Freezing
---
Wind chill in Amsterdam: 22.71°C
Wind chill in Berlin: 13.69°C
Wind chill in Copenhagen: -12.34°C