Завершено
4
29.04.2023, 10:14
18.01.2024, 14:13
Разработать программу, которая будет редактировать файл по заданному «рецепту» и сохранять результат в другой файл.
I. «Рецепт» — файл с командами редактирования, по одной на строку:
delete from MM to NN — удалить строки с номерами MM..NN. Секции from MM и to NN могут опускаться, в этом случае подразумевается, что удалять нужно с начала или до конца файла.change from MM to NN with "TEXT". Заменить строки с MM до NN на текст TEXT. Текст может быть многострочным. Перевод строки записывается как \n, символ обратного слеша — как \\, кавычка — \". Секции from MM и to NN опциональны (см. описание команды delete).insert after MM "TEXT". Вставить TEXT после строки MM.replace from MM to NN "TEXT" with "TEXT2". Заменить в строках от MM до NN текст TEXT на TEXT2. Секции from MM и to NN опциональны (см. описание команды delete).undo. Отменить действие предыдущей команды. II. Входной файл, к которому будет применяться рецепт.
Применить команды к входному файлу.
Отредактированный входной файл.
Разработать набор тестов, проверяющий корректность исполнения различных команд. Уделить внимание командам с некорректными параметрами (например, где номер строки превышает количество строк в файле). Команды должны выполняться, но в границах реально поданного на вход файла. Например, delete from 1 to 1000 должна удалить все строки в файле из двух строк, не приводя к возникновению ошибки.