me c066b0923b
All checks were successful
Markup Tests / test (push) Successful in 8s
Markdown to Html Tests / test (push) Successful in 12s
Reverse Tests / test (push) Successful in 12s
Sum Tests / test (push) Successful in 11s
Word Stat Tests / test (push) Successful in 11s
Word Stat++ Tests / test (push) Successful in 1m16s
update README & workflows
2026-02-17 09:40:07 +03:00
2026-02-17 09:32:08 +03:00
2026-02-17 09:32:08 +03:00
2026-02-17 09:32:08 +03:00
2026-02-17 09:32:08 +03:00
2026-02-17 09:40:07 +03:00
2026-02-17 09:32:08 +03:00

Table of Contents

Тесты к курсу «Введение в программирование»

Условия домашних заданий

Домашнее задание 9. Markdown to HTML Markdown to HTML Tests

Модификации

  • Base
  • 3637
    • Добавьте поддержку <<вставок>>: <ins>вставок</ins> и }}удалений{{: <del>удалений</del>
  • 3839
    • Добавьте поддержку ```кода __без__ форматирования```: <pre>кода __без__ форматирования</pre>
  • 3233
    • Добавьте поддержку %переменных%%: <var>переменных</var>
  • 3435
    • Добавьте поддержку !!примеров!!: <samp>примеров</samp>

Домашнее задание 7. Разметка Markup Tests

Модификации

  • Base
    • Исходный код тестов:
    • Откомпилированных тестов не существует, так как они зависят от вашего кода
  • 3637, 3839, 4142, 4749
    • Дополнительно реализуйте метод toTex, генерирующий TeX-разметку:
      • Абзацы предваряются командой \par{}
      • Выделенный текст заключается в \emph{ и }
      • Сильно выделенный текст заключается в \textbf{ и }
      • Зачеркнутый текст заключается в \textst{ и }
    • Добавьте поддержку:
      • Нумерованных списков (класс OrderedList, окружение enumerate): последовательность элементов
      • Ненумерованных списков (класс UnorderedList, окружение itemize): последовательность элементов
      • Элементов списка (класс ListItem, тег \item: последовательность абзацев и списков
    • Для новых классов поддержка Markdown не требуется
    • Исходный код тестов
  • 3233, 3435
    • Дополнительно реализуйте метод toHtml, генерирующий HTML-разметку:
      • Абзацы окружаются тегом p
      • Выделенный текст окружается тегом em
      • Сильно выделенный текст окружается тегом strong
      • Зачеркнутый текст окружается тегом s

Домашнее задание 6. Подсчет слов++ Word Stat++ Tests

Модификации

  • Base
    • Класс должен иметь имя Wspp
    • Исходный код тестов: WsppTest.java, WsppTester.java
    • Откомпилированные тесты: WsppTest.jar
      • Аргументы командной строки: модификации
  • 3637
    • В выходном файле слова должны быть упорядочены по возрастанию длины, а при равной длине по порядку первого вхождения во входной файл
    • Вместо всех вхождений в файле надо указывать только последнее вхождение в строке
    • В словах могут дополнительно встречаться цифры и символы $ и _
    • Класс должен иметь имя WsppLast
  • 3839
    • В выходном файле слова должны быть упорядочены по возрастанию длины, а при равной длине по порядку первого вхождения во входной файл
    • Вместо всех вхождений в файле надо указывать только среднее вхождение строке
    • В словах могут дополнительно встречаться цифры и символы $ и _
    • Класс должен иметь имя WsppMiddle
  • 3435
    • В выходном файле слова должны быть упорядочены по возрастанию длины, а при равной длине по порядку первого вхождения во входной файл
    • Вместо номеров вхождений во всем файле надо указывать <номер строки>:<номер вхождения>, где номер вхождения считается с конца файла
    • В словах могут дополнительно встречаться цифры и символы $ и _
    • Класс должен иметь имя WsppPosition
  • 3233
    • В выходном файле слова должны быть упорядочены в порядке вхождения во входной файл
    • Вместо номеров вхождений во всем файле надо указывать <номер строки>:<номер вхождения>, где номер вхождения считается с конца файла
    • В словах могут дополнительно встречаться цифры и символы $ и _
    • Класс должен иметь имя WsppPos
  • 4142
    • В выходном файле слова должны быть упорядочены по возрастанию длины, а при равной длине по порядку первого вхождения во входной файл
    • Вместо всех вхождений в файле надо указывать только последнее вхождение в строке
    • В словах могут дополнительно встречаться цифры и символы $ и _
    • Класс должен иметь имя WsppLast
  • 4749
    • В выходном файле слова должны быть упорядочены по возрастанию длины, а при равной длине по порядку первого вхождения во входной файл
    • Вместо номеров вхождений во всем файле надо указывать <номер строки>:<номер вхождения>, где номер вхождения считается с конца файла
    • В словах могут дополнительно встречаться цифры и символы $ и _
    • Класс должен иметь имя WsppPosition

Домашнее задание 4. Подсчет слов Word Stat

Модификации

  • Base
  • FastSort
    • Пусть n число слов во входном файле, тогда программа должна работать за O(n log n).
  • 3637
    • Назовём серединой слова подстроку, полученную удалением первых и последних 3 символов слова. Слова длины меньшей 7 игнорируются.
    • Выходной файл должен содержать все различные середины слов, встречающихся во входном файле, упорядоченные по возрастанию длины (при равенстве по первому вхождению).
    • Класс должен иметь имя WordStatLengthMiddle
  • 3839
    • Назовём аффиксами слова его префикс и суффикс длины n / 2, где n — длина слова. Слова длины один игнорируются.
    • Выходной файл должен содержать все различные аффиксы слов, встречающихся во входном файле, упорядоченные по возрастанию длины (при равенстве по первому вхождению).
    • Класс должен иметь имя WordStatLengthAffix
  • 3435
    • Назовём суффиксом слова подстроку, состоящую из n / 2 последних символов слова, где n — длина слова. Слова длины один игнорируются.
    • Выходной файл должен содержать все различные суффиксы слов, встречающихся во входном файле, упорядоченные по возрастанию длины (при равенстве по первому вхождению).
    • Класс должен иметь имя WordStatLengthSuffix
  • 3233
    • Выходной файл должен содержать все различные слова встречающиеся во входном файле, упорядоченные по возрастанию длины (при равенстве по первому вхождению).
    • Класс должен иметь имя WordStatLength
  • 4142
    • Назовём серединой слова подстроку, полученную удалением первых и последних 3 символов слова. Слова длины меньшей 7 игнорируются.
    • Выходной файл должен содержать все различные середины слов, встречающихся во входном файле, упорядоченные по возрастанию длины (при равенстве по первому вхождению).
    • Класс должен иметь имя WordStatLengthMiddle
  • 4749
    • Назовём префиксом слова подстроку, состоящую из n / 2 первых символов слова, где n — длина слова. Слова длины один игнорируются.
    • Выходной файл должен содержать все различные префиксы слов, встречающихся во входном файле, упорядоченные по возрастанию длины (при равенстве по первому вхождению).
    • Класс должен иметь имя WordStatLengthPrefix

Домашнее задание 3. Реверс Reverse Tests

Модификации

  • Base
  • Memory
    • Программа должна сначала считывать все данные в память, и только потом обрабатывать их.
    • Пусть M объём памяти, необходимый для сохранения ввода в двумерном массиве int минимального размера. Ваша программа должна использовать не более 4_M_ + 1024 байт памяти.
    • Накладные расходы на запуск вашей программы JVM не учитываются.
  • 3637
    • Рассмотрим входные данные как (не полностью определенную) матрицу, вместо каждого числа выведите максимум из чисел, находящихся в его столбце в последующих строках, и его самого
    • Класс должен иметь имя ReverseMaxC
  • 3839
    • Рассмотрим входные данные как (не полностью определенную) матрицу, вместо каждого числа выведите максимум из чисел текущее число — правый нижний угол матрицы
    • Класс должен иметь имя ReverseMax
  • 3435
    • Рассмотрим входные данные как (не полностью определенную) матрицу, выведите ее поворот по часовой стрелке, например для ввода
          1 2 3 4
          5 6
          7 8 9
      
      вывод должен быть
          7 5 1
          8 6 2
          9 3
          4
      
    • Класс должен иметь имя ReverseRotate
  • 3233
    • Выведите (в реверсивном порядке) только числа, у которых сумма номеров строки и столбца четная
    • Класс должен иметь имя ReverseEven
  • 4142
    • Рассмотрим входные данные как (не полностью определенную) матрицу, вместо каждого числа выведите среднее из чисел в его столбце и строке
    • Класс должен иметь имя ReverseAvg
  • 4749
    • Рассмотрим входные данные как (не полностью определенную) матрицу, вместо каждого числа выведите сумму чиселв его столбце и строке
    • Класс должен иметь имя ReverseSum

Домашнее задание 2. Сумма чисел Sum Tests

Модификации

  • Base
  • 3637
    • Входные данные являются 64-битными числами в формате с плавающей точкой
    • На вход подаются десятичные и шестнадцатеричные числа
    • Шестнадцатеричные числа имеют префикс 0x, например 0xa.bp2 равно (10+11/16)·4 равно 42.75
    • Ввод регистронезависим
    • Класс должен иметь имя SumDoubleHex
  • 3839
    • Входные данные помещаются в тип BigDecimal
    • На вход подаются десятичные и шестнадцатеричные числа
    • Шестнадцатеричные числа имеют префикс 0x, например 0xbsc равно 11·10⁻¹² (мантисса и порядок являются целыми числами)
    • Ввод регистронезависим
    • Класс должен иметь имя SumBigDecimalHex
  • 3435
    • На вход подаются десятичные и шестнадцатеричные числа
    • Шестнадцатеричные числа имеют префикс 0x
    • Ввод регистронезависим
    • Класс должен иметь имя SumHex
  • 3233
    • Входные данные являются 64-битными числами в формате с плавающей точкой
    • Класс должен иметь имя SumDouble
  • 4142
    • Входные данные помещаются в тип BigInteger
    • восьмеричные числа имеют суффикс o
    • Класс должен иметь имя SumBigIntegerOctal
  • 4749
    • Входные данные являются 64-битными целыми числами
    • восьмеричные числа имеют суффикс o
    • Класс должен иметь имя SumLongOctal
Description
No description provided
Readme 2.4 MiB
Languages
Java 98.6%
Mermaid 1.4%