[КТ] Язык программирования С++
  • О курсе
    • Язык программирования C++ (поток Скакова П. С.)
      • Контакты
      • Краткое напоминание о том, как не получить долг по C/C++
      • Условные обозначения
  • Организационные вопросы
    • Система оценивания
      • Лабораторные работы
      • Проверка работ, сроки и дедлайны
      • Защита работ
    • Технические вопросы
      • Отправка работ
      • GitHub
      • CodeWars
      • Автотесты на GitHub
      • Автотесты (local)
    • Правила оформления и написания работ
      • Требования ко всем работам
      • Оформление исходных текстов
Powered by GitBook
On this page
  • Регистрация в рамках курса
  • Задачи
  • Compilation / Testing
  1. Организационные вопросы
  2. Технические вопросы

CodeWars

PreviousGitHubNextАвтотесты на GitHub

Last updated 3 months ago

Сайт:

Codewars — это платформа, которая помогает вам учиться, тренировать и совершенствовать свои навыки программирования, решая задачи программирования разных типов и уровней сложности. Чем полезны подобные платформы: постоянная практика языка, алгоритмов, прокачка знаний.

На платформе проверка заданий автоматизирована и позволяет сразу увидеть ошибки сборки программы или результат её работы.

Регистрация в рамках курса

Важно: как только ваша учетная запись будет настроена, вы получите электронное письмо с просьбой подтвердить свой адрес электронной почты. Имейте в виду, что некоторые функции Codewars будут ограничены до тех пор, пока ваша учетная запись не будет подтверждена.

Опыт разработки — выберите любой вариант, который, по вашему мнению, описывает вас лучше всего. Если вы делаете свои первые шаги в мире программирования, просто выберите «Учимся программировать».

Задачи

Задания разного уровня называются Kata (далее ката). Уровень сложности – Kyu (далее кю или сложность). 8 kyu – самые легкие задачи.

После открытия страницы ката вам будет представлен подробный вид ката с общей информацией о нем. Чтобы начать выполнение, нажмите TRAIN.

В открывшемся разделе:

  • слева располагаются "Условие ката" Instructions, "Вывод сборки/тестирования" Output, "Прошлые решения" Past Solutions (если ката уже выполнялась).

  • справа сверху располагается редактор кода Solution, куда необходимо вписать/вставить код решения.

  • справа снизу находится код для тестирования на платформе.

Чтобы проверить код на работоспособность, нужно нажать кнопку TEST. После нажатия в Output появится информация об успехе/неудаче сборки и тестирования. В режиме TEST запускаются открытые тесты из Sample Tests.

Чтобы задача отмечалась как решённая, необходимо сделать попытку прохождения полного набора тестов ATTEMPT. В таком случае запускаются тесты из полного набора: базовые тесты из Sample tests (BasicTests) и автосгенерированные тесты (RandomTests). Полный набор тестов обычно намного больше, чем образцы тестов, и он содержит тестовые сценарии для различных входных данных, конфигураций данных, крайних случаев, производительности и т.д.

Если после этого все тесты пройдены, то в личном профиле задача будет отображаться в разделе Complited, а не Unfinished. Также внизу поля Solution будет отображаться "✅ Excellent!..."

Чтобы задача была засчитана как выполненная (complited), нобходимо нажать ATTEMPT и увидеть появление сообщения об успешности прохождения тестов и кнопку SUBMIT. Нажимать на последнюю не обязательно. Убедиться самостоятельно в статусе задачи можно, перейдя в личный профиль и в разделе Kata отфильтровать задачи по статусу Complited. Если задача там есть, значит она выполнена и дата выполнения подгрузится в таблицу курса.

Compilation / Testing

Сборка решения на платформе:

clang \
    -std=c18 \
# Libraries. See Packages section below for more details.
    -lm -lcrypto -ldl -pthread -lcriterion -lsqlite3 \
    -Wall -Wextra \
# Optional preloaded code
    preloaded.c \
# Solution and tests
    solution.c \
    tests.c \
# Hooks for reporting
    criterion-hooks.o

Timeout: 12 секунд

https://www.codewars.com/