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.
JSbasic/Training tasks.html

317 lines
12 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Training</title>
</head>
<body>
<script>
// 1. Загадки. Подсчитать количество правильных ответов.
var score = 0; // правильные ответы
var answer = ''; // строка, то что будет вводить пользователь в ответ на загадки
answer = prompt ('Зимой и летом одним цветом');
if (answer == 'елка') {
alert('верно');
score = score + 1; // добавляем кол-во правильных ответов
} else {
alert('неверно');
}
answer = prompt('Кто его раздевает, тот слезы проливает');
if (answer == 'лук') {
alert('верно');
score = score + 1;
} else {
alert('неверно');
}
alert('Верных ответов: ' + score);
</script>
<script>
// 2. Пользователь вводит любое число. Определить, оно положительное, отрицательное или равно нулю.
var n = +prompt('Введите число:');
if (n > 0) {
alert('Число положительное');
} else if (n < 0) {
alert('Число отрицательное');
} else if (n == 0) {
alert('Число равно нулю');
} else {
alert('Это не число!'); // если ни одно из условий не выполнилось NaN
}
</script>
<script>
// 3. Определить, какое из трех чисел, введенных пользователем является наибольшим.
var a = +prompt("Enter number a:");
var b = +prompt("Enter number b:");
var c = +prompt("Enter number c:");
if ( (a >b) && (a>c) ) {
alert("a the biggest!");
} else if ( (b >a) && (b > c) ) {
alert("b the biggest!");
} else if ( (c > a) && (c > b) ) {
alert("c the biggest!");
} else {
alert("The biggest numbers are several");
}
</script>
<script>
// 4. Убедиться, что все данные, введенные пользователем, являются числами.
var a = +prompt("Enter number a:");
var b = +prompt("Enter number b:");
var c = +prompt("Enter number c:");
if ( isNaN(a) || isNaN(b) || isNaN(c) ) {
alert("There isn't a number!");
} else {
alert("Someday this numbers will use");
}
</script>
<script>
// 5. Определить, находится ли число a между числами b и с, числа запросить у пользователя.
var a = +prompt("Enter number a:");
var b = +prompt("Enter number b:");
var c = +prompt("Enter number c:");
if ( ((a > b) && (a < c)) || ((a > c) && (a < b)) ) {
alert('a is between b and c');
} else {
alert ("a isn't between b and c");
}
</script>
<script>
// 6. Простотип игры "angry birds". Пользователь вводит число, которое указывает, под каким углом
// будет стрелять рогатка, чтобы поразить мишени. В программе нужно указать диапазон условного коридора,
// попав в который, мишень будет поражена.
var angle = +prompt("Enter angle:");
if ( ((angle >= 20) && (angle <= 35)) || ((angle >= 45) && (angle <= 60)) ) {
alert('target hit!');
} else {
alert('miss!');
}
</script>
<script>
// 7. Посчитать от 1 до 10 и от 10 до 1.
var n = 0;
while(n <= 9) {
n = n + 1; // or n++
alert(n);
}
while(n > 1) {
n--;
alert(n);
}
</script>
<script>
// 8. Русская рулетка.
var n = 0;
do {
if ((Math.random() * 6) <1) {
alert("finita la comedia");
break;
}
n++;
} while (prompt('1 - play, other - stop:') == '1');
alert('rounds played: ' + n);
</script>
<script>
// 9. Посчитать от 0 до 10 и наоборот используя цикл for.
for (var n = 0; n <=10; n++) {
alert(n);
}
for (var n = 10; n >= 0; n-- ) {
alert(n);
}
</script>
<script>
// 10. Посчитать от 0 до 100, выводить только четные числа.
for (n = 0; n <= 100; n = n + 2) {
alert(n);
}
</script>
<script>
// 11. Имеем депозит в банке. Ввести сумму вклада (a), годовую процентную ставку (b) и срок вклада (c).
// Проценты начисляются ежегодно в конце года, с капитализацией. Посчитать итоговую сумму вклада.
var a = +prompt("Введите сумму вклада:");
var b = +prompt("Введите годовую % ставку:");
var c = +prompt("Введите срок вклада:");
for (var i = 1; i <= c; i++) {
a = a + a * b / 100;
alert ('Прошло лет: ' + i + ', сумма на счету: ' + Math.floor(a));
}
</script>
<script>
// 12. Вывести числа от 4 до 400 на экран.
var tmp = '';
for ( i = 4; i <= 400; i++) {
tmp = tmp + i + ' ';
}
document.write(tmp);
</script>
<script>
// 13. Вывести числа в последовательности: 4 7 10 13 с помощью цикла.
var tmp = '';
for ( i = 4; i <= 13; i = i +3) {
tmp = tmp + i + ' ';
}
document.write(tmp);
</script>
<script>
// 14. Вывести числа 654 653 652 до нуля.
var tmp = '';
for ( i = 654; i >= 0; i--) {
tmp = tmp + i + ' ';
}
document.write(tmp);
</script>
<script>
// 15. Вывести все годы с 1983 до 2017.
var tmp = '';
for ( i = 1983; i <= 2017; i++) {
tmp = tmp + i + ' ';
}
document.write(tmp);
</script>
<script>
// 16. Вывести числа -4 -2 0 2 4 6 ...100.
var tmp = '';
for ( i = -4; i <= 100; i++) {
tmp = tmp + i + ' ';
}
document.write(tmp);
</script>
<script>
// 17. С помощью цикла напечатайте таблицу умножения на 7 от 1 до 9.
var tmp = '';
for ( i = 1; i <= 9; i++) {
tmp = tmp + 7 + ' * ' + i + ' = ' + 7 * i + '<br> ';
}
document.write(tmp);
</script>
<script>
// 18. Выведите с помощью цикла коды спецсимволов от 1000 до 2000.
// Напомню, что спецсимвол получается комбинацией &#число; Например &#1222;
var tmp = '';
for ( i = 1000; i <= 2000; i++) {
tmp = tmp + '&#' + i + ' ';
}
document.write(tmp);
</script>
<script>
// 19. Найти сумму чисел от 0 до 100 (включительно). (0+1+2+3+4+5).
var sum = 0;
for (i = 0; i <= 100; i++) {
sum = sum + i;
}
document.write(sum);
</script>
<script>
// 20. С помощью цикла вывести произведение чисел от 1 до 50.
var mul = 1;
for (i = 1; i <= 50; i++) {
mul = mul * i;
}
document.write(mul);
</script>
<script>
// 21. В первом подъезде квартиры с 1 по 20. Во втором с 21 по 48. В третьем с 49 по 90.
// Пользователь вводит номер квартиры. Программа должна указать в каком подъезде находится данная квартира.
var flat = +prompt("Enter flat number:");
if ( (flat >=1 ) && (flat <=20) ) {
alert('This is first entrance');
} else if ( (flat >=21) && (flat <= 48) ) {
alert('This is second entrance');
} else if ( (flat >= 49) && (flat <= 90) ) {
alert('This is third entrance');
} else {
alert("There isn't flat with this number");
}
</script>
<script>
// 22. Пользователь вводит логин и пароль. Если логин и пароль совпадают с указанными ниже, то выводится «Добро пожаловать».
// Если не совпадают то «Ошибка входа». Данные для задачи: ivan 334455; alex 777; petr b5678.
var login = prompt('Enter login:');
var password = prompt('Enter password');
if ( (login === 'ivan' && password === '334455') || (login === 'alex' && password === '777') || (login === 'petr' && password === 'b5678') ) {
alert('Welcome');
} else {
alert('Error');
}
</script>
<script>
// 23. Пользователь вводит год рождения.
// Программа показывает количество лет и если лет больше или равно 16, то пишет «добро пожаловать», если нет «вход воспрещен».
var year = +prompt('When you was born?')
var age = 2019 - year;
if ( age >= 16) {
alert('Welcome');
} else {
alert('Entrance is ban');
}
</script>
<script>
// 24. Создайте программу, которая выводит надбавку за стаж. Пользователь вводит стаж работы, а программа пишет ему надбавку.
// Стаж от 0 до 3 лет - 0%; 3 - 10 лет - 10%; 10 - 20 лет - 20%; 20 лет и выше - 25%. Учтите вариант ошибки пользователь вводит отрицательное число.
var experience = +prompt('Enter your experience:');
if (experience >=0 && experience < 3) {
alert('Your surcharge is 0% ');
} else if (experience >= 3 && experience < 10) {
alert('Your surcharge is 10%');
} else if (experience >= 10 && experience < 20) {
alert('Your surcharge is 20%');
} else if (experience >= 20) {
alert('Your surcharge is 25%');
} else if (experience < 0) {
alert('You entered a negative number');
} else {
alert('Error. Repeat input');
}
</script>
<script>
// 25. Создайте программу, которая поочередно будет выводить положительные и отрицательные числа от -100 до 100.
function getRandomInt (min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
alert(getRandomInt(0,100));
alert(getRandomInt(-100,0));
</script>
<script>
// 26. Блэк - джек.
</script>
</body>
</html>