Создан заказ №136817
25 февраля 2014
Написать программу на C#.
Как заказчик описал требования к работе:
Программа следующая:
Проверить правдоподобность заданной простой программы.
Простая программа содержит раздел описания переменных, оператор присваивания, составной оператор, короткий условный оператор.
Простая программа называется правдоподобной, если выполнены следующие условия:
а) каждая из перем
енных, встречающихся в последовательности операторов тела программы, описана, т.е. встречается в списке переменных программы, причем ровно один раз;
б) в программе нет больше ни одной переменной, совпадающей с названием программы;
в) Каждому использованию переменной текстуально предшествует хотя бы один оператор присваивания этой переменной или оператор ввода этой переменной.
Входные данные считываются из файла. В текстовом файле находится программа, написанная на языке Pascal. В считываемом файле может находиться абсолютно любая программа на Pascal. И ответ готовой программы на C# собственной и зависит от входной программы на Pascal.
Есть идея реализации программы, которую необходимо только написать:
Создайте коллекцию/массив с возможными ключевыми словами во входном файле.
Считайте сначала раздел объявления переменных, и имена всех переменных занесите в словарь (Dictionary), в качестве ключа будет имя переменной, а в качестве значения тип bool, инициализировалась ли она в дальнейшем коде или нет.
Таким образом и идете по коду. Нашли знак присваивания? Проверили, есть ли в словаре (поиск по ключу) эта переменная. Если есть, то выставляете соответствующее ключу значение bool в true. Нашли использование переменной? Также проверили ее наличие в словаре по ключу, а затем проверили, была ли она инициализирована (значение bool).
В принципе текст из файла можно делить Split
Код C#
1
2
string text = "l";
string[] arr = text.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
Только добавить необходимые знаки (<,> и др.). Дальше можно пробегать по массиву arr и смотреть. Если видим слово var, значит обрабатываем и записываем наши переменные. Если begin, то пора анализировать ко
подробнее
Заказчик
заплатил
заплатил
200 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик принял работу без использования гарантии
26 февраля 2014
Заказ завершен, заказчик получил финальный файл с работой
5
Написать программу на C#..docx
2017-01-27 01:05
Последний отзыв студента о бирже Автор24
Общая оценка
5
Положительно
Очень ответственный и грамотный автор. Всегда на связи, все умеет доходчиво объяснить,рада ,что нашла такого хорошего исполнителя