Pascal. Задача #21

Условие задачи:
Программисты недавно столкнулись с новым вирусом. Этот вирус добавляет линии в программе, а существующие строки не меняются. Кроме того, было установлено, что:
* Вирус может вставить строки только после первой строки и перед последней;
* Вирус может вставить присвоение для переменной V в следующих случаях:
а) если оригинальная программа не содержит присвоение для переменной V, то это новое присвоение может быть вставлена в любом месте в оригинальной программе;
б) если исходная программа содержит присвоение для переменной V, то это новое присвоение может быть вставлена только после последнего присвоения для V в оригинальной программе.
Напишите программу, которая считывает зараженную программу и приводит ее к исходному состоянию. Оригинальная программа вычисляет определенные функции, используя только оператор присваивания, где правая часть состоит из операторов +, -, *, / и операндов a,b,c, …, x,y,z,0,1, … 9. Программа не содержит ненужных присвоений (присвоение является ненужным, если вычисленное значение переменной V не используется в программе) и последняя команда в программе вычисляет нужную функцию. Умные программисты всегда начинают программу с комментария Сn, где n -количество строк (не считая строку с комментарием), содержащихся в программе.
Input: Входной файл PASCAL.IN содержит зараженную программу, состоящую из вышеописанных присвоений, в каждой строчке по одному присвоению.
Output: Выходной файл PASCAL.OUT содержит исходную программу..

Решение:

Результат:
PASCAL.IN

PASCAL.OUT

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *