Содержание
- Типы данных
- Примитивные типы данных
- Целочисленные типы
- Символьный тип
- Числа с плавающей точкой
- Обертки примитивных типов
- Ссылочные типы
- Массивы
- Объявления
- Литералы
- Как объекты
- Ковариантность
- Reification
- Объекты
- Класс String
- Метод toString
- Класс StringBuilder
- Массивы
- Примитивные типы данных
- Операции
- Приоритеты
- Ассоциативность
- Операторы
- Простые
- Ветвления
- Циклы
- Переходы
- Структура исходного кода
- Заголовок
- Классы
- Интерфейсы
- Поля
- Конструкторы
- Методы
- Инициализаторы
Домашнее задание 8. Git
Загрузите решения домашних заданий (в том числе сданных) в ваш персональный git-репозиторий. Со следующей недели сдача домашних заданий будет производиться только через репозитории.
Персональные репозитории являются клонами этого репозитория. В нём вы можете ознакомиться с правилами ведения репозитория и рекомендациями по его настройке.
Персональные репозитории имеют URL
https://www.kgeorgiy.info/git-students/year2025/<USER>/prog-intro,
где <USER> — имя пользователя в PCMS
(пароль так же используется из PCMS).
Если у вас нет логина/пароля в PCMS, то
соберитесь группой и обратитесь к Николаю Викторовичу.
Домашнее задание 9. Markdown to HTML
- Разработайте конвертер из Markdown-разметки в HTML.
-
Конвертер должен поддерживать следующие возможности:
- Абзацы текста разделяются пустыми строками.
-
Элементы строчной разметки:
выделение (
*или_), сильное выделение (**или__), зачеркивание (--), код (`) -
Заголовки (
#* уровень заголовка)
-
Конвертер должен называться
md2html.Md2Htmlи принимать два аргумента: название входного файла с Markdown-разметкой и название выходного файла с HTML-разметкой. Оба файла должны иметь кодировку UTF-8. -
При выполнении этого ДЗ можно повторно использовать код
ДЗ
markup. - Конвертер может хранить исходные и сконвертированные данные в памяти, в том числе одновременно.
-
Пример
-
Входной файл
# Заголовок первого уровня ## Второго ### Третьего ## уровня #### Четвертого # Все еще четвертого Этот абзац текста содержит две строки. # Может показаться, что это заголовок. Но нет, это абзац, начинающийся с `#`. #И это не заголовок. ###### Заголовки могут быть многострочными (и с пропуском заголовков предыдущих уровней) Мы все любим *выделять* текст _разными_ способами. **Сильное выделение**, используется гораздо реже, но __почему бы и нет__? Немного --зачеркивания-- еще никому не вредило. Код представляется элементом `code`. Обратите внимание, как экранируются специальные HTML-символы, такие как `<`, `>` и `&`. Знаете ли вы, что в Markdown, одиночные * и _ не означают выделение? Они так же могут быть заэкранированы при помощи обратного слэша: \*. Лишние пустые строки должны игнорироваться. Любите ли вы *вложенные __выделения__* так, как __--люблю--__ их я? -
Выходной файл
<h1>Заголовок первого уровня</h1> <h2>Второго</h2> <h3>Третьего ## уровня</h3> <h4>Четвертого # Все еще четвертого</h4> <p>Этот абзац текста содержит две строки.</p> <p> # Может показаться, что это заголовок. Но нет, это абзац, начинающийся с <code>#</code>.</p> <p>#И это не заголовок.</p> <h6>Заголовки могут быть многострочными (и с пропуском заголовков предыдущих уровней)</h6> <p>Мы все любим <em>выделять</em> текст <em>разными</em> способами. <strong>Сильное выделение</strong>, используется гораздо реже, но <strong>почему бы и нет</strong>? Немного <s>зачеркивания</s> еще никому не вредило. Код представляется элементом <code>code</code>.</p> <p>Обратите внимание, как экранируются специальные HTML-символы, такие как <code><</code>, <code>></code> и <code>&</code>.</p> <p>Знаете ли вы, что в Markdown, одиночные * и _ не означают выделение? Они так же могут быть заэкранированы при помощи обратного слэша: *.</p> <p>Лишние пустые строки должны игнорироваться.</p> <p>Любите ли вы <em>вложенные <strong>выделения</strong></em> так, как <strong><s>люблю</s></strong> их я?</p> -
Реальная разметка
Заголовок первого уровня
Второго
Третьего ## уровня
Четвертого # Все еще четвертого
Этот абзац текста содержит две строки.
# Может показаться, что это заголовок. Но нет, это абзац, начинающийся с
#.#И это не заголовок.
Заголовки могут быть многострочными (и с пропуском заголовков предыдущих уровней)
Мы все любим выделять текст разными способами. Сильное выделение, используется гораздо реже, но почему бы и нет? Немного
зачеркиванияеще никому не вредило. Код представляется элементомcode.Обратите внимание, как экранируются специальные HTML-символы, такие как
<,>и&.Знаете ли вы, что в Markdown, одиночные * и _ не означают выделение? Они так же могут быть заэкранированы при помощи обратного слэша: *.
Лишние пустые строки должны игнорироваться.
Любите ли вы вложенные выделения так, как
люблюих я?
-
Входной файл
Экзаменационные вопросы
- Типы данных
- Операции
- Операторы
- Структура исходного кода
Практические навыки
- Реализация программ на Java с применением интерфейсов и абстрактных базовых классов