Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2012, 09:24   #1
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
Вопрос Блок-схема в Си(язык C#)

Добрый день! Передо мной стоит задача:"Разработать транслятор блок-схем в язык Си".
Начал думать как её можно реализовать и решил написать свой язык разметки(XAML-подобный), который при нажатии на одну кнопку переводится в блок-схему, а при нажатии на другую - в язык Си. Разработал так сказать "синтаксис и спецификацию" своего языка - пользователь выбирает элемент блок-схемы, кликает на объект Image(WPF) для получения координаты левого верхнего угла элемента блок-схемы, записываю этот текст в RichTextBox(координаты и имя элемента), пользователь ручками прописывает что он хочет получить от блока и ширину с высотой этого блока, затем перевожу нормально это все в блок-схему и в код на Си, однако при сдаче получил "удар по морде" примерно в следующем виде:"Нет, так не пойдет! Ты должен строить непосредственно блок-схему и её транслировать, а не два раза выполнять данную операцию - для получения изображения блок-схемы и кода.". После этого вообще ничего в голову не лезет, идей никаких нет! Начал смотреть в сети уже существующие приложения "блок-схема в Си" и "flowchart to C"(для поиска по англоязычным сайтам) - в основном попадались ссылки: "Си в блок-схему", "Flowchart from C" и т.д., а на одном из англоязычных сайтов(на-подобии StackOverflow), когда человек попросил привести ему примеры программ, которые преобразуют блок-схему в некоторый язык программирования, ему ответили(вольный перевод с англ.):"Ты чего, такого вообще не существует! Если бы такое было, то на кой черт нужны программисты - любой ламер бы рисовал блок-схему, нажимал на кнопку и вот у него готовая программа"(вопрос был еще 2003 или 2005 года). Еще на StackOverflow человек просил ему помочь с аналогичной проблемой: "Блок-схема в язык Питон"(вопрос от 2008 года), но ему вообще ничего не ответили!
Да, есть Microsoft Visio, с помощью которой можно строить блок-схемы, но код и она "не делает".
Как я уже сказал, все мои идеи на этом исчерпались. Может кто подскажет каким образом можно решить проблему, грубо говоря:"Как картинку с блок-схемой, в которой еще элементы могут быть наложены друг на друга, преобразовать в программный код?"(ладно если все элементы правильно расположены, т.е. нет наложений одного элемента на другой, тогда можно было бы значительно усовершенствовать алгоритмы распознавания текста с изображения, чтобы он мог распознать еще и рисованные элементы блок-схемы, но ведь по ошибке можно нагородить элементы блок-схемы друг на дружке и тогда никакой алгоритм распознавания не поможет)
Хотя нет, есть немного странная и алогичная идея: когда пользователь кликает по Image, рисовать элемент с данными по-умолчанию, чтобы он видел, что именно было нарисовано в текущий момент, но какой толк в этом?!
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.

Последний раз редактировалось Mixim; 25.02.2012 в 09:29.
Mixim вне форума Ответить с цитированием
Старый 25.02.2012, 11:26   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Идея как-бы проста: закидываешь блок в алгоритм и в другом окне параллельно код генерируется. Оптимизированный код при таком подходе не получишь, но вряд-ли он и требуется. Ввод формул и условий можно сделать по типу формул в Excel.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блок схема в С++ Денис999 Помощь студентам 2 11.12.2011 17:57
Блок схема lady.ulumba Помощь студентам 3 11.09.2011 16:47
Схема алгоримта (блок схема) на задачу по Паскалю LINCHAK Помощь студентам 0 22.10.2010 16:56
Блок схема dimonpwnz Помощь студентам 0 12.02.2010 19:10
Блок схема алгоритма программы и схема взаимодействия модулей. Lazio Фриланс 3 02.12.2009 23:10