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

168 lines
5.3 KiB

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Home Task #3. Prokhorova</title>
</head>
<body>
<script>
// Задание 1. Создать функцию calculate(operand1, operand2, sign), где operand1 и operand2 — два числа, sign — знак арифметической операции.
//Функция должна расчитывать результат операции, исходя из переданного ей знака.
//Функция должна проверять корректность введенных чисел и знака операции.
//Все аргументы для функции принять от пользователя.
function calculate(operand1, operand2, sign) {
var result;
if (isNaN(operand1) || isNaN(operand2) )
{
alert("One of arguments is not a number!");
return;
}
switch (sign) {
case "+" : {
result = operand1 + operand2;
break;
}
case "-" : {
result = operand1 - operand2;
break;
}
case "/" : {
result = operand1 / operand2;
break;
}
case "*" : {
result = operand1 * operand2;
break;
}
default: {
alert("Unsupported operation!");
return;
}
}
return result;
}
var operand1 = +prompt("Enter number:");
var operand2 = +prompt("Enter number:");
var sign = prompt("Enter sign:");
result = calculate(operand1, operand2, sign);
if (result != undefined) {
alert(result);
}
</script>
<script>
// 2. Создать функцию, возводящую число в степень, число и сама степень вводится пользователем.
var number = +prompt('Enter number:');
var power = +prompt('Enter power:');
function abs(val) {
if (val < 0) {
return -val;
}
else {
return val;
}
}
function fun1(a,b) {
if (b == 0) {
return 1;
} else if (b == 1) {
return a;
}
var r = 1;
for (var n = 0; n < abs(b); n++) {
r = r * a;
}
if (b < 0) {
return 1 / r;
}
return r;
}
alert(fun1(number, power));
</script>
<script>
// 3. Создать игру "Камень-Ножницы-Бумага".
// Выбор компьютера определяется строкой:
// var computerChoice = Math.random();
// alert(computerChoice);
// Math.random() выдает произвольное число в промежутке от 0 до 1, на основании этого можно построить принцип выбора решения компьютера.
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
function play() {
do {
pcChoice = getRandomInt(0, 3);
switch (pcChoice) {
case 0:
alert("stone!");
break;
case 1:
alert("scissors!");
break;
case 2:
alert("paper!");
break;
default:
alert("Something wrong!");
}
question = confirm("Another one?");
} while (question);
}
play();
</script>
<script>
// 4. Напишите функцию, которая возвращает n-е число Фибоначчи. Для решения используйте цикл.
// бонус: для решения использовать не цикл, а рекурсию
function fibo(n) {
var f = 0, p = 1, c;
if (n <= 0) {
return NaN;
} else if (n == 1) {
return f;
} else if (n == 2) {
return p;
}
for (var i = 0; i < n - 2; i++) {
c = f + p;
f = p;
p = c;
}
return c;
}
n = +prompt("Enter n:");
alert(fibo(n));
</script>
<script>
// 4. бонус: для решения использовать не цикл, а рекурсию
var f = 0, p = 1;
function fibor(f, p, n) {
if (n <= 0) {
return NaN;
} else if (n == 1) {
return 0;
}
var c = f + p;
n -= 1;
f = p;
p = c;
if (n - 2 > 0) {
c = fibor(f, p, n);
}
return c;
}
n = +prompt("Enter n:");
alert(fibor(f, p, n));
</script>
</body>
</html>