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

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