|
|
|
|
<!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>
|