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

6 years ago
<!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>