|
|
@ -0,0 +1,273 @@ |
|
|
|
<!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> |