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