GithubHelp home page GithubHelp logo

prog-intro's Introduction

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

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

Домашнее задание 13. Обработка ошибок

Модификации

  • Базовая
    • Класс ExpressionParser должен реализовывать интерфейс Parser
    • Классы CheckedAdd, CheckedSubtract, CheckedMultiply, CheckedDivide и CheckedNegate должны реализовывать интерфейс TripleExpression
    • Нельзя использовать типы long и double
    • Нельзя использовать методы классов Math и StrictMath
    • Исходный код тестов

Домашнее задание 12. Разбор выражений

Модификации

  • Базовая
  • Shifts
    • Дополнительно реализуйте бинарные операции:
      • << – сдвиг влево, минимальный приоритет (1 << 5 + 3 равно 1 << (5 + 3) равно 256);
      • >> – сдвиг вправо, минимальный приоритет (1024 >> 5 + 3 равно 1024 >> (5 + 3) равно 4);
    • Исходный код тестов
  • ReverseDigits
    • Реализуйте операции из модификации Shifts.
    • Дополнительно реализуйте унарные операции (приоритет как у унарного минуса):
      • reverse – число с переставленными цифрами, reverse -12345 равно -54321;
      • digits – сумма цифр числа, digits -12345 равно 15.
    • Исходный код тестов
  • Abs
    • Реализуйте операции из модификации Shifts.
    • Дополнительно реализуйте унарные операции (приоритет как у унарного минуса):
      • abs – модуль числа, abs -5 равно 5;
      • square – возведение в квадрат, square -5 равно 25.
    • Исходный код тестов

Домашнее задание 11. Выражения

Модификации

Домашнее задание 10. Игра n,m,k

Модификации

  • Турнир
    • Добавьте поддержку кругового турнира из c кругов
    • Выведите таблицу очков по схеме:
      • 3 очка за победу
      • 1 очко за ничью
      • 0 очков за поражение
  • Multiplayer
    • Добавьте поддержку значков - и |
    • Добавьте возможность игры для 3 и 4 игроков
  • Ромб
    • Добавить поддержку доски в форме ромба
  • Матчи
    • Добавьте поддержку матчей: последовательность игр указанного числа побед
    • Стороны в матче должны меняться каждую игру

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

Модификации

Исходный код тестов: Md2HtmlTest.java

Откомпилированные тесты: Md2HtmlTest.jar

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

Модификации

  • HTML
    • Дополнительно реализуйте метод toHtml, генерирующий HTML-разметку:
      • выделеный текст окружается тегом em;
      • сильно выделеный текст окружается тегом strong;
      • зачеркнутый текст окружается тегом s.
    • Исходный код тестов
  • HTML списки
    • Добавьте поддержку:
      • Нумерованных списков (класс OrderedList, тег ol): последовательность элементов
      • Ненумерованных списков (класс UnorderedList, тег ul): последовательность элементов
      • Элементов списка (класс ListItem, тег li): последовательность абзацев и списков
    • Для новых классов поддержка Markdown не требуется
    • Исходный код тестов
  • TeX
    • Дополнительно реализуйте метод toTex, генерирующий TeX-разметку:
      • выделеный текст заключается в \emph{ и };
      • сильно выделеный текст заключается в \textbf{ и };
      • зачеркнутый текст заключается в \textst{ и }.
    • Исходный код тестов
  • Tex списки
    • Добавьте поддержку:
      • Нумерованных списков (класс OrderedList, окружение enumerate): последовательность элементов
      • Ненумерованных списков (класс UnorderedList, окружение itemize): последовательность элементов
      • Элементов списка (класс ListItem, тег \item: последовательность абзацев и списков
    • Для новых классов поддержка Markdown не требуется
    • Исходный код тестов

Исходный код тестов:

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

Модификации

Исходный код тестов:

Откомпилированные тесты: WordStatIndexTest.jar

Домашнее задание 5. Свой сканнер

Модификации

Исходный код тестов:

Откомпилированные тесты: FastReverseTest.jar

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

Модификации

  • Words
  • Sort
    • Пусть n – число слов во входном файле, тогда программа должна работать за O(n log n).
  • Count
    • В выходном файле слова должны быть упорядочены по возрастанию числа вхождений, а при равном числе вхождений – по порядку первого вхождения во входном файле
    • Класс должен иметь имя WordStatCount
    • Исходный код тестов
    • Откомпилированные тесты

Исходный код тестов:

Откомпилированные тесты: WordStatInputTest.jar

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

Модификации

  • Even
  • Linear
    • Пусть n – сумма числа чисел и строк во входе, тогда программе разрешается потратить не более 5_n_+O(1) памяти
  • Sum

Исходный код тестов:

Откомпилированные тесты: ReverseTest.jar

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

Модификации

Для того, чтобы протестировать исходную программу:

  1. Скачайте откомпилированные тесты (SumTest.jar)
  • Откомпилируйте Sum.java
  • Проверьте, что создался Sum.class
  • В каталоге, в котором находится Sum.class выполните команду
       java -jar <путь к SumTest.jar>
    
    • Например, если SumTest.jar находится в текущем каталоге, выполните команду
        java -jar SumTest.jar
    

Исходный код тестов:

Домашнее задание 1. Запусти меня!

  1. Скачайте исходный код (RunMe.java)
  2. Откомпилируйте код (должен получиться RunMe.class)
  3. Запустите класс RunMe с выданными вам аргументами командной строки
  4. Следуйте выведенной инструкции

prog-intro's People

Contributors

agentdolphin avatar artem avatar karavaevitalii avatar shemplo avatar vedernikov avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.