Карта сайта

Это автоматически сохраненная страница от 18.03.2018. Оригинал был здесь: http://2ch.hk/b/res/172643961.html
Сайт 2ch-b.ru не связан с авторами и содержимым страницы
жалоба / abuse: 2ch-b.ru@mail.ru

Вск 18 Мар 2018 10:01:50
Потребны программисты на С#. Суть в чем, изучаю
Потребны программисты на С#. Суть в  чем, изучаю

Потребны программисты на С#. Суть в  чем, изучаю

Потребны программисты на С#.
Суть в чем, изучаю этот язык в шараге. Клепаю лабораторные на вин.формочках и сортирую массивы и прочее говно.
Нас всех ебут блок-схемами кода по ГОСТу.
И вот я решил написать приложение чтобы оно превращало код С# в готовые блок-схемы по ГОСТУ
Потому что ничего подобного я не нашел в инете, а задача не кажется сверхсложной.
Но проблема в том, что я не знаю даже с чего начать. Не могли бы вы посоветовать, на чем делать. В итоге хотелось бы, чтобы у нас было что-то вроде картинки 1.
Сами элементы блок-схем хорошо бы перетаскивать руками и редактировать. Но можно пропустить.
Главнее, чтобы это можно было как-то выводить на лист а4 на печать, а если схема большая слишком, то разбивать ее на несколько листов.
Есть идеи?


Вск 18 Мар 2018 10:05:22



Вск 18 Мар 2018 10:05:28
>>172643961 (OP)
Почему ты не спросил в /pr/? Здесь вряд ли кто разбирается в сисярпе, тред просто смоет и все.

Вск 18 Мар 2018 10:06:01
[email: sage]

>>172643961 (OP)
>Потому что ничего подобного я не нашел в инете
https://social.msdn.microsoft.com/Forums/vstudio/en-US/903d9c3c-f4cd-4186-8b44-d807502cd8b9/create-flowchart-from-c-code?forum=csharpgeneral

Вск 18 Мар 2018 10:06:22
>>172644117
уверен, что есть. в пр снобы.

Вск 18 Мар 2018 10:16:15
>>172644143
Это для 2008. Не знаю будет ли робить на на 2017. И еще и не ставится на русскую версию.

Вск 18 Мар 2018 10:22:51



Вск 18 Мар 2018 10:24:42
[email: sage]

>>172644571
>Программист
>Не ставится на русскую версию
Проиграл

Вск 18 Мар 2018 10:29:27
>>172644944
В том дело, что в языковом пакете у меня русский и английский, а она все-равно не ставится.

Вск 18 Мар 2018 10:42:59
>>172644158
Здесь сидят самые снобистые борщехлёбы зекача. Шёл бы ты в зекач за советом.
Первое: запарсь код в ast.

Вск 18 Мар 2018 10:44:32
>>172645729
А лучше попроси компилятор сгенерировать ast и научись его читать.

Вск 18 Мар 2018 10:49:11
>>172644944
Эта хуита только на визуал 2008.

Вск 18 Мар 2018 10:52:29
>>172643961 (OP)
Дядя Петя ты дурак?

Вск 18 Мар 2018 10:53:02
>>172646116
Чому?

Вск 18 Мар 2018 11:05:17
Web►M
>>172645788
Задачу получения AST уже давно решили в Roslyn. Бери/пользуйся. Нет я хочу что бы за меня всё сделали другие, я только взял результат.


Хуев тебе за щеку оп.


Вск 18 Мар 2018 11:17:22
>>172643961 (OP)
Тк я не научился ниче писать кроме индийского кода то предлагаю индийский код на if-else
Если объявление переменной или присваивание то рисуешь паралелограмм
Если if else то ромбики
Если forы то спец значек для циклов
операции и функции в квадрат

Объявление функций не нужно

Ты за трахаешься с таким кодом когда он превысит 500 строк

Вск 18 Мар 2018 11:19:18
>>172647226
а вот с соединением блоков парься сам

Вск 18 Мар 2018 11:34:43
>>172643961 (OP)
Мне кажется ты соснешь с уровнем детализации при переводе кода в БС. В итоге у тебя БС будет выглядеть как код в квадратиках-кругляшах.

Суть БС не в том, чтобы точно передать код, суть БС в том, чтобы передать значимые части алгоритма. Проще сделать это руками.

Вск 18 Мар 2018 11:37:31
>>172643961 (OP)

Проблема в том, что си шарп - это объектно-ориентированный язык, а не структурный. Не катят для него блок-схемы.

Вск 18 Мар 2018 11:42:25
>>172648309
И че? Ты все равно прописываешь последовательность действий, создаешь объекты потом применяешь методы

Вск 18 Мар 2018 11:47:28
>>172648611

Нихуя подобного. Ты сначала классы прописываешь. И диаграммы больше на таблицы и отношения из баз данных похожи. И алгоритмы событийно-ориентированные. Рисовать switch-case блок-схемой - это ебанатство и нигде не используется.

Блок-схемы морально устарели. Они имеют очень узкую область применения.

Вск 18 Мар 2018 12:07:29

Вск 18 Мар 2018 12:08:48
>>172647226
Это понятно. Меня интересует графическая составляющая. Как и где рисовать эти квадратики и ромбики? В вин-формс или где?

Вск 18 Мар 2018 12:09:45
>>172648125
Нет, ты не понял. Студентов ебут именно подробными блок-схемами на каждый метод или весь код, если приложение короткое.

Вск 18 Мар 2018 12:55:41
>>172650056
ну да

Вск 18 Мар 2018 13:30:37
>>172652576
И как это реализовать? Какой компонент использовать?

Вск 18 Мар 2018 13:33:01
>>172643961 (OP)
если ты не ставишь себе задачей произвольный код на си-шарпе визуализировать в форме блок-схемы, а например только циклы и условия, то задачу можно решить следующим образом:
1) продумать структуру данных, которая будет хранить АЛГОРИТМ. Вероятно это будет некое подобие графа, в узлах которого будут команды, а ребрами - переходы между командами. Команды в нашем упрощенном случае это:
- объявление переменных и присвоение им значений (одна вершина, линейно соединена со следующей по тексту программы командой);
- условные операторы (вершина, которая соединена с несколькими ветками (по количеству условий);
- циклы - вершина, которая содержит условие и прямо или через несколько транзитивно свяханных вершин имеет связь с собой.
2) теперь тебе надо проанализировать код (чтобы не писать собственный транслятор, можешь воспользоваться в качестве костыля простым конечным автоматом, или регулярками), выделить в нем отдельные команды, циклы, условия, перенести их в структуру данных из пункта 1.
3) отобразить полученный граф в виде блок-схемы. Тут придется изобретать какой-то алгоритм, вычисляющий/меняющий размеры линий, соединяющей блоки блок-схемы, в зависимости от глубины вложенности циклов и условий друг в друга.

Вск 18 Мар 2018 13:37:12
>>172643961 (OP)
котан, открой эту ide в консоли и прогай, профит сам увидишь. нотпады тут не катят, слишком долго

Вск 18 Мар 2018 13:39:00
+

Вск 18 Мар 2018 13:56:05
[email: sage]

>>172643961 (OP)
Узнай для начала, что такое лексер и парсер, и работай от этого. Но 99%, что ты тупо бросишь, я писал дипломную, связанную с парсингом и трансформацией языка, и убил на это больше полугода.

Вск 18 Мар 2018 14:18:35
Bimp

Вск 18 Мар 2018 14:23:10
оп далбаеб /тред

Вск 18 Мар 2018 14:23:34
>>172656157
Какой еще парсер?
Сначала разбиваем код на строки по ";".
Дальше смотрим, ести ли в строке регулярные выражения, if, например. Если есть, то рисуем ромбик, внутри ромбика текст строки с if. Размер ромбика регулируется по длине строки, что в него кладется. И т.д.
Вот только я не знаю инструметов, как рисовать в с шарпе эти ромбы и прочее. В каком компоненте это делать?

Вск 18 Мар 2018 14:24:42
>>172657679
и ты далбаеб

Вск 18 Мар 2018 14:28:24
Фулстак девелопер в треде.
1.Берешь рослин и получаешь синтаксическое дерево кода
2.Пишешь кастомный контрол на WPF или WinForms
3.Пишешь кастомный метод рендера для каждого типа выводимого фрагмента синтаксического дерева
4.OnRender рекурсивно пробегаешься по дереву и вызываешь соответствующие методы рендера

Возможно проще вместо самописного рендера, рендерить с помощью SVG.

Вск 18 Мар 2018 14:30:07
Когда стреляешь из любого боевого оружия,как-бы ты не держал ствол,остаётся на руке(ах),остатки пороховых газов.
(мимо,бывший ОМОНовец)

Вск 18 Мар 2018 14:31:27
>>172646679
На вебм-ке твое творение? Что оно делает?

Вск 18 Мар 2018 14:33:46
>>172658020
Не туда написал,извините.


← К списку тредов