Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Разное > Флейм
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.09.2013, 15:08
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 536
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию Delphi Code в Блок схему

Преподы рехнулись окончательно.
Беру учеников на репетиторство из своего же ВУЗа. Там со старта дают Delphi, чтоб дети не пугались синих окон, и оставалась классическая идея паскаля как языка для обучения.

В начале сентября попался ученик с задачей: "написать код, составить блок схему". Благо прога была простая (сортировка многомерных (n>3) массивов).
Ну около пяти прог мы с учеником перенесли в "ромбики и кружочки", адский труд.

Сейчас же их просят составлять программы с GUI, обрабатывающие входящие текстовые файлы, анализирующие данные, строящие графики и ещё куча математики по этим данным. (ориентирование на физические задачи) и в отчёт требуют кровь из носа блок схемы.

Кто-нибудь сталкивался с ПО для переноса готового кода в блок схему именно на языке OPascal?
Ответить с цитированием
  #2  
Старый 29.09.2013, 17:00
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

[joke]IDA Pro умеет строить нечто вроде блок-схем.[/joke]
На своем опыте могу сказать, что преподы в таких случаях как правило переваривают блок-схему вида начало->ввод->(цикл пошагового рассчета графика и его вывод)->конец. То есть я всегда сдавал весьма обобщенно, иногда вплоть до линейности. Схемы к GUI или подробную разрисовку алгоритмов никто не просил у меня, когда я сдавал.
А ПО, насколько я понимаю, не существует и существовать не может - ту же событийную модель делфы перевести в блок-схему автоматически весьма затруднительно. Не говоря уже о том, чтобы для каждого блока вписать его смысл, а не строки кода.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.

Последний раз редактировалось Bargest, 29.09.2013 в 17:03.
Ответить с цитированием
  #3  
Старый 29.09.2013, 17:07
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 536
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Я видел программу, которая и события и свойства и процедуры с функциями переводила в БС и печатала она это дело на большом таком А2.
Реализовать это весьма не сложно, нужен качественный парсер своими руками (RegExp мне в помощь). Не хочу изобретать велосипед, ибо точно есть такой софт.
Ответить с цитированием
  #4  
Старый 29.09.2013, 17:24
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Эм. Ну такой-то софт есть (та же avtoshema), но это очень далеко от блок-схемы. Такой результат с огромной вероятностью не примут преподы - схема будет размазана на много листов, совершенно непонятная, и вместо описания сути блоков будет их построчное расписывание. И насчет "реализовать несложно" - зря: после разбивания функции на блоки по 2-3 строки (что и правда совсем нетрудно, я это делал), нужен семантический анализатор для понимания сути каждого блока, нескольких смежных и целых функций, чтобы сворачивать это во что-нибудь, что хотя бы можно прочитать. А эта задача уже невыполнима современными средствами.
Преподы же пытаются приучить к блок-схемам, которые реально могут помочь - например, схема большущего проекта из 10-15 блоков и их связей. А проверка каждого введенного символа и все защиты от дурака, расписанные на том же делфи, только в прямоугольниках, никого не интересуют.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.

Последний раз редактировалось Bargest, 29.09.2013 в 17:30.
Ответить с цитированием
Этот пользователь сказал Спасибо Bargest за это полезное сообщение:
Uniq! (29.09.2013)
  #5  
Старый 29.09.2013, 17:33
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 536
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

О семантике - правильные мысли, согласен.
А вот о слове "приучить", я бы, наверное, поспорил. но не буду

В целом вопрос прояснился. Просто снизим уровень архитипов. И не будем так детализировать наш код на бумаге.
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:49.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2018

ВКонтакте   Facebook   Twitter