Задачи с решениями на JS
![Задачи с решениями на JS](/images/articles/js-reshenie-zadach.jpg)
Изучать программирования без решения практических задач, не имеет никакого смысла. Вам не нужна теория, просто ради теории и работодателю тоже. Ведь не зря на собеседовании, просят решить какую-нибудь задачу. Вам нужно понимать, что практическое закрепление теории, находится в зоне вашей ответственности.
Задача на создание примитивного калькулятора на JS
Запросите у пользователя ввести два числа и верните ему сумму этих двух чисел. Для решения используйте функции: prompt и parseInt.
Решение задачи:
В переменные a и b запишутся, введенные пользователем числа в поля ввода модальных окон. Если пользователь введет строку или число с дробной частью, то функция parseInt преобразует их к целым числам. Команда alert выведет результат сложения двух чисел.
let a = prompt("Введите первое число:"); // ввели число
a = parseInt(a); // преобразовали к целому числу
let b = prompt("Введите второе число:"); // ввели число
b = parseInt(b); // преобразовали к целому числу
alert(a+b); // вывели результат сложения
Задача на ветвление (if-else) на JS
Реализуйте алгоритм: участнику викторины задается 2 вопроса. За каждый правильный ответ начисляется 1 балл. Подсчитать и вывести количество правильных ответов на экран.
Решение задачи:
Заведем две переменные для исходных данных: для счетчика баллов (point) и ответов от участника (answer). Пока в нашем счетчике лежит 0 баллов, а переменная для ответов - пустая. Функция prompt вызывает окно с вопросом и поле для ввода ответа. Введенный участником ответ попадаете в переменную answer. Программа сравнивает (==) правильный ответ с ответом участника. Если (if) ответ правильный, то программа пойдет по одной ветке: выведет окно с текстом 'Верно' и увеличит счетчик на единицу (0 + 1 = 1). В противном случае (else), если ответ неправильный, то программа пойдет по другой ветке и выведет окно с текстом 'Неверно!'.
Точно так же программа обработает второй вопрос. В итоге в переменной point может оказаться от 0 до 2 баллов, это зависит от количества правильных ответов.
let point = 0;
let answer = "";
answer = prompt("Какую птицу называют лесным доктором?");
if (answer == "дятел"){
alert("Верно");
point = point + 1; // сокращенная запись point++
}else{
alert("Неверно!");
}
answer = prompt("Самое глубокое пресноводное озеро в мире?");
if (answer == "Байкал"){
alert("Верно");
point = point + 1; // point++
}else{
alert("Неверно!");
}
alert("Вы набрали: " + point + " баллов");
Наверняка вы заметили, что в задаче на ветвления для каждого вопроса повторяется один и тот же блок кода. А что если вопросов будет больше, то код программы разрастется до гигантских размеров. Чтобы такого не произошло, в программировании придумали циклы.
Цикл - это набор команд, который может повторно выполняться пока заданное условие верно, возвращает истину.
Задача на циклы и массивы на JS
Напишите программу, которая будет задавать вопросы пользователю и затем выведет ответы на странице. Для решения используйте функцию prompt и цикл for.
Решение задачи:
Мы не будем помещать каждый вопрос в отдельную переменную, а создадим массив из вопросов и присвоим его одной переменной. Ещё создадим пустой массив для ответов.
В круглых скобках цикла for, мы настроим его работу:
- создадим переменную счетчик со значением 0.
- зададим условие, до каких пор будет работать цикл. Цикл работает, пока значение счетчика меньше длины массива.
- задаем шаг для счетчика, при каждом повторе, значение счетчика будет увеличиваться на 1. Когда условие, что i меньше длины массива, перестанет быть правдой, цикл закончит свою работу.
let answers = [];
questions = [
'Как вас зовут?',
'Кто вы по профессии?',
'Где вы работаете?'
];
for(let i = 0; i < questions.length; i++){
answers[i] = prompt(questions[i]);
}
document.write(answers);
В фигурных скобках (теле цикла), указываются инструкции, которые должны выполнятся, при новом витке цикла. Мы говорим программе: При каждом проходе цикла, запрашивай у пользователя ответ на вопрос, и полученный ответ записывай в переменную answer. Когда вопросы закончатся, то цикл сам остановится и выведет на страницу все ответы. Правильно настроенный цикл, делает всю рутинную работу за программиста.
-
-
Михаил Русаков
Комментарии (1):
Я решил первую задачу вот так <script> let q = prompt('введите число;' ); let w = prompt('введите число;' ); let e = prompt('выберите действие + - * /') if (e =='+') { Out.innerHTML= (+q) + (+w) } if (e =='-') { Out.innerHTML= (+q) - (+w) } if (e =='*') { Out.innerHTML= (+q) * (+w) } if (e =='/') { Out.innerHTML= (+q) / (+w) } </script>
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.