Скрипты 2013-2014

ФТ-101

~vm

~Дейкстра
>cscript dijkstra.js in2post
преобразует инфиксную нотацию в постфиксную

>cscript dijkstra.js post2in
преобразует постфиксную нотацию в инфиксную

Float
>cscript float.js conv
В каждой строке файла in.txt написаны числа в десятичной системе счисления. В out.txt положить float-представления указанных чисел. Необходима поддержка как нормализованных, так и денормализованных чисел.

>cscript float.js sum
В in.txt лежат два числа в десятичной системе счисления и операция (+ или -). Перевести оба числа в float, посчитать сумму или разность, вывести результат в float, а так же посчитать, чему в десятичной системе счисления равен результат. Достаточно поддержки операций с нормализованными числами.

~RLE
За реализацию одного алгоритма максимум - 5 баллов.

Примеры запуска:
>cscript rle.js escape encode in.txt out.txt
>cscript rle.js escape decode out.txt out1.txt
>fc in.txt out1.txt

~Энтропия
Подсчитать энтропию для входной строки

С - ввод строки в консоли
A - ввод строки в качестве аргумента программы
D - основание логарифма в формуле равно 2
N - основание логарифма в формуле равно количеству символов алфавита

Амиров - Важенников: CD
Ведерников - Ефимов: CN
Загнойко - Свалова: AD
Смирнов - Шеломов: AN

~Хаффман

Кол-м

Hash
Входные данные: файл_с_текстом файл_с_подстрокой [число_вхождений]
Результат для каждого алгоритма: число_вхождений, число_коллизий, время_работы, индексы (все, либо равное [число_вхождений])

ДКА
>cscript auto.js pattern txtfile [n]
Поиск в файле txtfile вхождений pattern при помощи детерминированного конечного автомата.

Вывести на экран построенный автомат, время работы программы и первые n найденных индексов. Если n не задано, то выводить все вхождения.

Б-М
Реализовать алгоритм Бойера-Мура с эвристикой стоп-символа (4 балла), либо с эвристикой совпавшего суффикса (7 баллов)

>cscript bm.js pattern txtfile [n]
Поиск в файле txtfile вхождений pattern при помощи алгоритма Бойера-Мура

Вывести на экран время работы программы и первые n найденных индексов. Если n не задано, то выводить все вхождения.

Жизнь
1) Реализовать логику игры "Life".
2) Добавить кнопку "Next Step", позволяющую генерировать следующее поколение.
3) Добавить поле, позволяющее задавать интервал автоматической генерации следующего поколения

Шаблон: tinyurl.com/scrpts

Хэмминг
Реализовать кодирование Хэмминга

Цезарь

К/р + 5ки

КБ-101

vm (1)
Машина фон Неймана.

float (2)
Реализовать свой тип, аналогичный float.

rle (3)
Реализовать на выбор либо escape-кодирование, либо jump-кодирование.

entropy (4)
Энтропия Шеннона.

huffman (5)
Реализовать кодирование Хаффмана.

hamming (6)
Реализовать в браузере кодирование Хемминга.

плюшки

hash (7)

automat (8)

Boyer–Moore (9)

Edsger W. Dijkstra (10)

Gaius Julius Caesar (11)