You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

273 lines
11 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Home_Task #5. Prokhorova Anna</title>
</head>
<body>
<script>
// 1. Создать объект Point, содержащий два свойства: "x" и "y" — координаты точки, и метод GetQuadrant, вычисляющий,
// в каком квадранте в декартовой системе координат находится данная точка.
// Протестируйте данный объект, изменяя значения его координат, и повторно вызавая метод GetQuadrant.
a = +prompt("Enter coordinates (x):");
b = +prompt("Enter coordinates (y):");
if (isNaN(a) || isNaN(b)) {
console.log("It isn't number!");
}
var point = {x: a, y: b};
var GetQuadrant = function(x, y) {
if (point.x > 0 && point.y > 0) {
console.log("Point in the first quadrant");
}
else if (point.x > 0 && point.y < 0) {
console.log("Point in the second quadrant");
}
else if (point.x < 0 && point.y < 0) {
console.log("Point in the third quadrant");
}
else if (point.x < 0 && point.y > 0 ) {
console.log("Point in the fourth quadrant");
}
else if (point.x == 0 && point.y == 0) {
console.log("This is origin");
}
}
GetQuadrant();
</script>
<script>
// 2. Создать объект Calculator, который должен содержать методы для расчета суммы, разности, произведения и частного двух чисел.
// Протестировать данный объект, принимая от пользователя значения двух операндов и знак операции.
// В зависимости от принятого знака операции, вызвать соответствующий метод.
var calculator = {
sum: function (a, b) {
var result = a + b;
console.log(result);
},
sub: function (a, b) {
var result = a - b;
console.log(result);
},
mul: function (a, b) {
var result = a * b;
console.log(result);
},
div: function (a, b) {
var result = a / b;
console.log(result);
},
}
var a = +prompt("Input first operand:");
var sign = prompt("Input sign:");
var b = +prompt("Input second operand:");
if (isNaN(a) || isNaN(b)) {
console.log("One of arguments is not a number!");
}
if (sign == "+") {
calculator.sum(a, b);
} else if (sign == "-") {
calculator.sub(a, b);
} else if (sign == "*") {
calculator.mul(a, b);
} else if (sign == "/") {
calculator.div(a, b);
} else {
console.log("Unsupported operation!");
}
</script>
<script>
// 3. Создать массив, который будет хранить в себе информацию о сотрудниках предприятия. Каждый элемент масива — объект,
// содержащий свойства: name, sName, age, occupation, и метод show, который выводит всю информацию о пользователе.
// Реализовать заполнение массива пользователем. По окончанию заполнения — вывести информацию о сотрудниках.
var company = [
p1 = {
name: a = prompt("Enter first name:"),
sName: b = prompt("Enter surname:"),
age: c = prompt("Enter age:"),
occupation: d = prompt("Enter occupation:"),
show: function() {
console.log("First name: " + this.name);
console.log("Surname: " + this.sName);
console.log("Age: " + this.age + " years old");
console.log("Occupation: " + this.occupation);
}
},
p2 = {
name: a = prompt("Enter first name:"),
sName: b = prompt("Enter surname:"),
age: c = prompt("Enter age:"),
occupation: d = prompt("Enter occupation:"),
show: function() {
console.log("First name: " + this.name);
console.log("Surname: " + this.sName);
console.log("Age: " + this.age + " years old");
console.log("Occupation: " + this.occupation);
}
},
p3 = {
name: a = prompt("Enter first name:"),
sName: b = prompt("Enter surname:"),
age: c = prompt("Enter age:"),
occupation: d = prompt("Enter occupation:"),
show: function() {
console.log("First name: " + this.name);
console.log("Surname: " + this.sName);
console.log("Age: " + this.age + " years old");
console.log("Occupation: " + this.occupation);
}
}
]
for (var i = 0; i < company.length; i++) {
company[i].show();
}
</script>
<script>
// 4. Для предыдущего задания создайте функцию, которая будет принимать в себя массив объектов-сотрудников, и каждому из объектов
// будет добавлять новое свойство "salary", хранящее зарплату сотрудника.
// Зарплата расчитывается, исходя из значения свойства "occupation" следующим образом:
// • "director" — 3000;
// • "manager" — 1500;
// • "programmer" — 2000;
// • для остальных значений — 1000.
// После выполнения функции — вывести информацию о сотрудниках.
var company = [
p1 = {
name: a = prompt("Enter first name:"),
sName: b = prompt("Enter surname:"),
age: c = prompt("Enter age:"),
occupation: d = prompt("Enter occupation:"),
},
p2 = {
name: a = prompt("Enter first name:"),
sName: b = prompt("Enter surname:"),
age: c = prompt("Enter age:"),
occupation: d = prompt("Enter occupation:"),
},
p3 = {
name: a = prompt("Enter first name:"),
sName: b = prompt("Enter surname:"),
age: c = prompt("Enter age:"),
occupation: d = prompt("Enter occupation:"),
}
]
function assignSalary(arr) {
for (var i = 0; i < arr.length; i++) {
switch (arr[i].occupation) {
case "director":
arr[i].salary = 3000;
break;
case "manager":
arr[i].salary = 1500;
break;
case "programmer":
arr[i].salary = 2000;
break;
default:
arr[i].salary = 1000;
}
}
}
assignSalary(company);
for (var i = 0; i < company.length; i++) {
console.log("First name: " + company[i].name);
console.log("Surname: " + company[i].sName);
console.log("Age: " + company[i].age + " years old");
console.log("Occupation: " + company[i].occupation);
console.log("Salary: " + company[i].salary);
}
</script>
<script>
// 5. Для задания 3 создать метод, позволяющий отсортировать массив сотрудников по одному из свойств: name, sName, age, occupation, salary.
// Параметр для сортировки принимается от пользователя.
// После выполнения функции — вывести информацию о сотрудниках.
var company = [
p1 = {
name: a = prompt("Enter first name:"),
sName: b = prompt("Enter surname:"),
age: c = +prompt("Enter age:"),
occupation: d = prompt("Enter occupation:"),
},
p2 = {
name: a = prompt("Enter first name:"),
sName: b = prompt("Enter surname:"),
age: c = +prompt("Enter age:"),
occupation: d = prompt("Enter occupation:"),
},
p3 = {
name: a = prompt("Enter first name:"),
sName: b = prompt("Enter surname:"),
age: c = +prompt("Enter age:"),
occupation: d = prompt("Enter occupation:"),
}
]
function assignSalary(arr) {
for (var i = 0; i < arr.length; i++) {
switch (arr[i].occupation) {
case "director":
arr[i].salary = 3000;
break;
case "manager":
arr[i].salary = 1500;
break;
case "programmer":
arr[i].salary = 2000;
break;
default:
arr[i].salary = 1000;
}
}
}
assignSalary(company);
var crit = prompt("Enter criteria (name, sName, age, salary): ");
company.sort(function(a, b) {
switch (crit) {
case "name":
if (a["name"] > b["name"]) {
return 1;
}
else if (a["name"] < b["name"]) {
return -1;
} else {return 0;}
break;
case "sName":
if (a["sName"] > b["sName"]) {
return 1;
}
else if (a["sName"] < b["sName"]) {
return -1;
} else {return 0;}
break;
case "age":
return a["age"] - b["age"];
break;
case "salary":
return a["salary"] - b["salary"];
break;
default:
alert("None");
}
})
</script>
</body>
</html>