Задачи по программированию с автопроверкой: более 2200 задач

Тренажёр программирования в браузере: от первой программы в школе до собеседования на работу. Выберите задачу, напишите решение в редакторе, и тесты сразу покажут, где оно ошибается. Есть подсказки, подборки по целям и план по темам, где вы застряли. Начать можно без регистрации.

Начать тренировкуБесплатно. Начать можно без входа; вход сохраняет прогресс на всех устройствах и открывает уровни.

Зачем решать задачи по программированию

Программировать учатся на задачах. Можно прочитать главу про циклы или словари, но понимание приходит, когда пишешь код сам и видишь, на каком входе он ломается. Поэтому задачи по программированию нужны на любом этапе: в школе, перед экзаменом, на первом курсе, перед отбором на стажировку и перед собеседованием на работу.

Обычный сборник задач по программированию даёт только условие. Здесь у каждой задачи есть тесты: решение проверяется сразу, без преподавателя и без установки среды. Если тест не прошёл, видно входные данные и ожидаемый ответ. Так вы находите ошибку сами и запоминаете её лучше, чем по готовому разбору.

Как заниматься: начните с лёгких задач своей темы. Когда три подряд решаются без подсказок, переходите к средним. Если застряли дольше двадцати минут, откройте подсказку, а не чужое решение: так задача всё ещё тренирует. Через день-два вернитесь к задаче, на которой ошиблись, и решите её заново с чистого листа. Одна-две задачи каждый день дают больше, чем десять за один вечер в неделю: навык держится на повторении. Перед экзаменом и собеседованием важна ещё и скорость, поэтому со временем засекайте время и старайтесь решать среднюю задачу за двадцать-тридцать минут.

Задачи для вашего этапа

  • Школа

    Первые программы на Python: условия, циклы, строки и списки. Лёгкие задачи с подсказками, чтобы понять основы.

    Открыть задачи
  • ЕГЭ и ОГЭ

    Задачи на обработку строк и чисел, как во второй части ОГЭ и ЕГЭ по информатике.

    Открыть задачи
  • Универ

    Рекурсия, сортировки, бинарный поиск, динамическое программирование, деревья и графы: темы курса алгоритмов и структур данных.

    Открыть задачи
  • Стажировка

    Лёгкие и средние задачи, с которых начинаются отборы на стажировки: массивы, строки, словари и множества.

    Открыть задачи
  • Собеседование

    Средние и сложные задачи с технических собеседований, подборки для бэкенда, фронтенда и аналитиков, SQL.

    Открыть задачи

Как это работает

  1. Выберите этап выше или задачу по теме, языку и сложности. Поиск находит задачу по названию.
  2. Напишите решение в редакторе кода прямо в браузере. Ничего не нужно устанавливать.
  3. Нажмите «Проверить»: тесты прогонят решение и покажут, на каком входе оно ошиблось. Решённая задача попадёт в прогресс.

Что даёт тренировка

  • Подсказки к задаче: открываются по одной, когда вы застряли.
  • Подборки к собеседованию и по темам: строки, хэш-таблицы, бинарный поиск, динамическое программирование, SQL.
  • План по темам, где вы застреваете: тренировка сама предлагает, что решать дальше.
  • Уровень в каждой теме по задачам, решённым без подсказок (после бесплатного входа).
  • Языки решения: Python, JavaScript, TypeScript, Java, Go и SQL.

Темы задач

Каждая тема ведёт в тренировку с фильтром по ней. Под темой несколько задач с условием и проверкой онлайн.

Редактор кода для вашего языка

Если нужен просто онлайн-редактор, например чтобы показать код другу или преподавателю, откройте страницу своего языка.

Частые вопросы

Это бесплатно?
Да. Все задачи открыты бесплатно, без пробного периода и без карты.
Нужна ли регистрация?
Чтобы начать, нет: решайте сразу, прогресс хранится в браузере. Бесплатный вход сохраняет его на всех устройствах и открывает уровни.
Подойдёт ли школьнику?
Да. Начните с лёгких задач на Python: в них условия, циклы и строки. Подсказки помогают, если не получается.
Как проверяется решение?
Код запускается на наборе тестов. Если тест не прошёл, вы видите входные данные, ожидаемый и полученный ответ.
На каких языках можно решать?
На Python, JavaScript, TypeScript, Java, Go и SQL. Многие задачи можно решать на любом из них.
Сколько задач решать в день?
Одну-две каждый день полезнее, чем десять раз в неделю. Начните с лёгких задач и переходите к средним, когда лёгкие решаются без подсказок.
Откуда задачи?
Часть задач мы написали сами, часть переведена и адаптирована из открытых наборов с указанием источника и лицензии на странице задачи.
Все возможности CodeShare