Skip to content

Korshikov/javaScript_2014

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Тесты к курсу "Парадигмы программирования"

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

Домашнее задание 10. Обработка выражений

  • Дополнительные требования
    • Реализуйте функции sin и cos.
    • Усложненная версия: реализуйте поддержку переменных x, y и z.
    • Файл должен называться jsdiff.js
  • [Тесты] (JSDiffTest.java)

Домашнее задание 9. Вычисление выражений

  • Дополнительные требования
    • Реализуйте функцию abs.
    • Реализуйте функцию log.
    • Реализуйте поддержку переменных x, y и z.
    • Файл должен называться eval.js
  • [Тесты] (TestJS.java)

Исходный код к лекции по JavaScript

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

  • Реализуйте класс ExpressionParser с методом public static Expression3 parse(String)
  • В выражении могут встречаться умножение *, деление /, сложение +, вычитание -, унарный минус, целочисленные константы (в десятичной системе счисления, которые помещаются в 32-битный знаковый целочисленный тип), круглые скобки, переменные (x, y и z) и произвольное число пробельных символов в любом месте (не внутри констант).
  • Операторы, упорядоченные по приоритетам, начиная с самого приоритетного
    • унарный минус
    • умножение и деление
    • сложение и вычитание
  • Деление выполняется целочисленно (смотрите, как делятся int'ы)
  • Рекомендуется использовать алгоритм рекурсивного спуска разбора выражений. Алгоритм должен работать за линейное время.
  • [Тесты] (ParserTest.java)

Домашнее задание 4. Вычисление выражений

  • Сложная версия
    • Выражения должны поддерживать три переменные -- x, y и z.
    • Выражения должны реализовывать интерфейс Expression3.
    • Тесты
  • Простая версия
    • Выражения должны поддерживать три -- x, y и z.
    • Выражения должны реализовывать интерфейс Expression.
    • Тесты

Домашнее задание 3. Очередь на массиве

  • Сложная версия
    • Должна быть реализована очередь с двумя концами (дэк, deque)
    • Название классов: ArrayDequeSingleton (модуль), ArrayDequeuADT (абстрактный тип данных), ArrayDeque (обычный класс)
    • Методы:
      • Работа с началом очереди: addFirst, removeFirst, peekFirst
      • Работа с концом очереди: addLast, removeLast, peekLast
      • Размеры: size, isEmpty
    • Тесты
  • Простая версия
    • Должна быть реализована FIFO-очередь
    • Название классов: ArrayQueueSingleton (модуль), ArrayQueueADT (абстрактный тип данных), ArrayQueue (обычный класс)
    • Методы:
      • Добавление элемента: enqueue
      • Удаление элемента: dequeue
      • Просмотр элемента: peek
      • Размеры: size, isEmpty
    • Тесты

Домашнее задание 2. Бинарный поиск

About

javaScript_2014

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors