Содержание

  1. Типы данных
    1. Примитивные типы данных
      1. Целочисленные типы
      2. Символьный тип
      3. Числа с плавающей точкой
      4. Обертки примитивных типов
    2. Ссылочные типы
      1. Массивы
        1. Объявления
        2. Литералы
        3. Как объекты
        4. Ковариантность
        5. Reification
      2. Объекты
        1. Класс String
        2. Метод toString
        3. Класс StringBuilder
  2. Операции
    1. Приоритеты
    2. Ассоциативность
  3. Операторы
    1. Простые
    2. Ветвления
    3. Циклы
    4. Переходы
  4. Структура исходного кода
    1. Заголовок
    2. Классы
    3. Интерфейсы
    4. Поля
    5. Конструкторы
    6. Методы
    7. Инициализаторы

Слайды

HTML

Домашнее задание 8. Чемпионат

Чемпионат
  1. Решите как можно больше задач Чемпионата северо-запада России по программированию 2019.
  2. Материалы соревнования:
  3. Задачи для решения
    ЗадачаТемаСложность
    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
  4. Рекомендуемое время выполнения задания: 3 часа

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

Markdown to HTML
  1. Разработайте конвертер из Markdown-разметки в HTML.
  2. Конвертер должен поддерживать следующие возможности:
    1. Абзацы текста разделяются пустыми строками.
    2. Элементы строчной разметки: выделение (* или _), сильное выделение (** или __), зачеркивание (--), код (`)
    3. Заголовки (# * уровень заголовка)
  3. Конвертер должен называться md2html.Md2Html и принимать два аргумента: название входного файла с Markdown-разметкой и название выходного файла c HTML-разметкой. Оба файла должны иметь кодировку UTF-8.
  4. При выполнении этого ДЗ можно повторно использовать код ДЗ markup.
  5. Конвертер может хранить исходные и сконвертированные данные в памяти, в том числе, одновременно.
  6. Пример
    • Входной файл
      # Заголовок первого уровня
      
      ## Второго
      
      ### Третьего ## уровня
      
      #### Четвертого
      # Все еще четвертого
      
      Этот абзац текста,
      содержит две строки.
      
          # Может показаться, что это заголовок.
      Но нет, это абзац начинающийся с `#`.
      
      #И это не заголовок.
      
      ###### Заголовки могут быть многострочными
      (и с пропуском заголовков предыдущих уровней)
      
      Мы все любим *выделять* текст _разными_ способами.
      **Сильное выделение**, используется гораздо реже,
      но __почему бы и нет__?
      Немного --зачеркивания-- еще ни кому не вредило.
      Код представляется элементом `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>&lt;</code>, <code>&gt;</code> и <code>&amp;</code>.</p>
      <p>Знаете ли вы, что в Markdown, одиночные * и _
      не означают выделение?
      Они так же могут быть заэкранированы
      при помощи обратного слэша: *.</p>
      <p>Лишние пустые строки должны игнорироваться.</p>
      <p>Любите ли вы <em>вложеные <strong>выделения</strong></em> так,
      как <strong><s>люблю</s></strong> их я?</p>
                  
    • Реальная разметка

      Заголовок первого уровня

      Второго

      Третьего ## уровня

      Четвертого # Все еще четвертого

      Этот абзац текста, содержит две строки.

      # Может показаться, что это заголовок. Но нет, это абзац начинающийся с #.

      #И это не заголовок.

      Заголовки могут быть многострочными (и с пропуском заголовков предыдущих уровней)

      Мы все любим выделять текст разными способами. Сильное выделение, используется гораздо реже, но почему бы и нет? Немного зачеркивания еще ни кому не вредило. Код представляется элементом code.

      Обратите внимание, как экранируются специальные HTML-символы, такие как <, > и &.

      Знаете ли вы, что в Markdown, одиночные * и _ не означают выделение? Они так же могут быть заэкранированы при помощи обратного слэша: *.

      Лишние пустые строки должны игнорироваться.

      Любите ли вы вложеные выделения так, как люблю их я?

Экзаменационные вопросы

  1. Типы данных
  2. Операции
  3. Операторы
  4. Структура исходного кода

Практические навыки

  1. Реализация программ на Java с применением интерфейсов и абстрактных базовых классов