Циклы

Циклы повторяют действия много раз: спрашивают, пока не ответят правильно, перебирают массивы, рисуют узоры.

📋 Заданий: 7✅ С автопроверкой: 7✨ Новых: 3

🔁Задания

Здесь пишем только JavaScript. console.log() и alert() выводят результат в консоль под редактором, а prompt() откроет окошко для ввода. При проверке ответы на prompt() подставляются сами.

1

Загадка с повтором

легкоавтопроверка

Программа загадывает загадку «Чем можно поделиться только один раз?» и спрашивает ответ, пока пользователь не ответит правильно (секретом). На неправильный ответ пишет Ответ неверный, попробуй ещё раз..., на правильный — секретом это правильный ответ! Молодец. Используй цикл while.

ВопросКак работает
Показать ответ (сначала попробуй сам!)
let riddle = 'Чем можно поделиться только один раз?'
let answer = 'секретом'

alert('Попробуй отгадай загадку - ' + riddle)

let guess = ''
while (guess !== answer) {
    guess = prompt('Ваш ответ: ').toLowerCase()
    if (guess !== answer) {
        alert('Ответ неверный, попробуй ещё раз...')
    }
}
alert(guess + ' это правильный ответ! Молодец')
2

Самое большое и самое маленькое

среднеавтопроверка

Найди в массиве самое большое и самое маленькое число с помощью цикла (без Math.max) и выведи Минимальное: … и Максимальное: …

ВопросРезультат
Показать ответ (сначала попробуй сам!)
let arr = [7, 12, 42, 66, 0, -7, 122, -7.5]
let max = arr[0]
let min = arr[0]

for (let i = 1; i < arr.length; i++) {
    if (arr[i] < min) {
        min = arr[i]
    }
    if (arr[i] > max) {
        max = arr[i]
    }
}

console.log('Минимальное: ' + min)
console.log('Максимальное: ' + max)
Решение задания
3

Сумма ряда чисел

легкоавтопроверка

Спроси у пользователя число и выведи сумму всех чисел от 1 до него: Сумма всех чисел у числа: 10. Равняется: 55. Что такое арифметическая прогрессия.

ВопросВводРезультат
Показать ответ (сначала попробуй сам!)
let userInput = Number(prompt('Введите число: '))
let result = 0

for (let i = 0; i < userInput + 1; i++) {
    result += i   
}

alert('Сумма всех чисел у числа: ' + userInput + '. Равняется: ' + result)
Решение задания
4

Одномерный мир

сложноавтопроверка

Сделай мини-игру: в мире ['*', '_', '_', '_'] персонаж * ходит налево (left) и направо (right). Перед каждым ходом покажи мир через alert(field.join(' ')). Если идти некуда — Налево нельзя! / Направо нельзя!. Команда exit (или «Отмена») — Спасибо за игру!

Пример
Показать ответ (сначала попробуй сам!)
let field = ['*', '_', '_', '_']

while (true) {
    alert(field.join(' '))
    let userInput = prompt('Укажите направление для перемещения * - left, right. А также exit для выхода')
    let location = field.indexOf('*') 
    if (userInput === 'exit' || userInput === null) {
        alert('Спасибо за игру!')
        break
    } else if (userInput === 'left') {
        if (location > 0) {
            field[location] = '_'
            field[location - 1]= '*'
        } else {
            alert('Налево нельзя!')
        }
    } else if (userInput === 'right') {
        if (location + 1 < field.length) {
            field[location] = '_'
            field[location + 1] = '*'
        } else {
            alert('Направо нельзя!')
        }
    }
}
5

Таблица умножения

легконовоеавтопроверка

Спроси число и выведи для него таблицу умножения от 1 до 10 в виде 7 x 3 = 21 — каждую строку через console.log.

Показать ответ (сначала попробуй сам!)
let n = Number(prompt('Какую таблицу умножения показать? '))

for (let i = 1; i <= 10; i++) {
    console.log(n + ' x ' + i + ' = ' + n * i)
}
6

FizzBuzz

средненовоеавтопроверка

Выведи числа от 1 до 15, но вместо чисел, которые делятся на 3, пиши Fizz, на 5 — Buzz, а на 3 и 5 сразу — FizzBuzz. Это знаменитая задача с собеседований программистов!

Показать ответ (сначала попробуй сам!)
for (let i = 1; i <= 15; i++) {
    if (i % 15 === 0) {
        console.log('FizzBuzz')
    } else if (i % 3 === 0) {
        console.log('Fizz')
    } else if (i % 5 === 0) {
        console.log('Buzz')
    } else {
        console.log(i)
    }
}
7

Звёздная лесенка

средненовоеавтопроверка

Спроси высоту лесенки и нарисуй её звёздочками — в первой строке одна *, во второй две и так далее.

Для высоты 4

*
**
***
****
Показать ответ (сначала попробуй сам!)
let height = Number(prompt('Высота лесенки: '))
let line = ''

for (let i = 1; i <= height; i++) {
    line += '*'
    console.log(line)
}