Содержание
- Типы данных
- Примитивные типы данных
- Целочисленные типы
- Символьный тип
- Числа с плавающей точкой
- Обертки примитивных типов
- Ссылочные типы
- Массивы
- Объявления
- Литералы
- Как объекты
- Ковариантность
- Reification
- Объекты
- Класс String
- Метод toString
- Класс StringBuilder
- Массивы
- Примитивные типы данных
- Операции
- Приоритеты
- Ассоциативность
- Операторы
- Простые
- Ветвления
- Циклы
- Переходы
- Структура исходного кода
- Заголовок
- Классы
- Интерфейсы
- Поля
- Конструкторы
- Методы
- Инициализаторы
Домашнее задание 8. Git
Загрузите решения домашних заданий (в том числе сданных) в ваш персональный git-репозиторий. Со следующей недели сдача домашних заданий будет производиться только через репозитории.
Персональные репозитории являются клонами этого репозитория. В нём вы можете ознакомиться с правилами ведения репозитория и рекомендациями по его настройке.
Персональные репозитории имеют URL
https://www.kgeorgiy.info/git-students/year2024/<USER>/prog-intro
,
где <USER>
— имя пользователя в PCMS
(пароль так же используется из PCMS).
Если у вас нет логина/пароля в PCMS, то
cоберитесь группой и обратитесь к Николаю Викторовичу.
Домашнее задание 9. Markdown to HTML
- Разработайте конвертер из Markdown-разметки в HTML.
-
Конвертер должен поддерживать следующие возможности:
- Абзацы текста разделяются пустыми строками.
-
Элементы строчной разметки:
выделение (
*
или_
), сильное выделение (**
или__
), зачеркивание (--
), код (`
) -
Заголовки (
#
* уровень заголовка)
-
Конвертер должен называться
md2html.Md2Html
и принимать два аргумента: название входного файла с Markdown-разметкой и название выходного файла c 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, одиночные * и _ не означают выделение? Они так же могут быть заэкранированы при помощи обратного слэша: *.
Лишние пустые строки должны игнорироваться.
Любите ли вы вложенные выделения так, как
люблюих я?
-
Входной файл
Домашнее задание 10. Чемпионат
- Решите как можно больше задач Чемпионата северо-запада России по программированию 2019.
-
Материалы соревнования:
- PCMS: Java. North-Western Russia Regional Contest - 2019
- Условия задач
- Разбор задач
-
Задачи для решения
Задача Тема Сложность A. Accurate Movement Формула 5 B. Bad Treap Циклы 10 C. Cross-Stitch Графы 40 D. Double Palindrome Массивы 40 E. Equidistant Деревья 30 H. High Load Database Массивы 20 I. Ideal Pyramid Циклы 15 J. Just the Last Digit Матрицы 20 K. King’s Children Массивы 40 M. Managing Difficulties Коллекции 10 - Рекомендуемое время выполнения задания: 3 часа.
- Дедлайн: вторник, 12 ноября, 9:00.
Экзаменационные вопросы
- Типы данных
- Операции
- Операторы
- Структура исходного кода
Практические навыки
- Реализация программ на Java с применением интерфейсов и абстрактных базовых классов