Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 граф Мак-Кейба  [new]
olga_233
Member

Откуда:
Сообщений: 15
Здравствуйте! Уважаемые программисты, имеется код:

Картинка с другого сайта.

Прошу помочь мне, нарисовать граф Мак-Кейба на него.

Формулы на рисунке:

Картинка с другого сайта.

P.S. Сама с программированием на вы :)

Большое спасибо!
23 сен 18, 17:19    [21683189]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20323
Я же вам уже нарисовал, что вас не устраивает? Зачем еще один топик на ту же тему?
23 сен 18, 17:26    [21683193]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
olga_233
Member

Откуда:
Сообщений: 15
Shocker.Pro, мне нужно оформить в виде графа. Как на рисунке (сверху вниз)
Помогите мне пожалуйста, оформить правильно. Мне требуется граф Мак-Кейба в виде рисунка.

Спасибо!
23 сен 18, 17:34    [21683198]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
olga_233
Member

Откуда:
Сообщений: 15
Shocker.Pro, помогите мне с этим. Буду Вам благодарна!
23 сен 18, 17:42    [21683204]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20323
Из предложенных образцов ваш код будет выглядеть так

PS. Вы на кого учитесь?

К сообщению приложен файл. Размер - 7Kb
23 сен 18, 17:49    [21683207]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
olga_233
Member

Откуда:
Сообщений: 15
Shocker.Pro, учусь самостоятельно. тестировщик ПО.

Вот, посмотрите, есть ссылки. Чтобы Вы поняли что к чему.

https://ru.wikipedia.org/wiki/Цикломатическая_сложность
https://dic.academic.ru/dic.nsf/ruwiki/1673483
https://ru.stackoverflow.com/questions/460577
https://studopedia.su/17_117812_metriki-slozhnosti.html
https://lektsii.org/12-78696.html
23 сен 18, 18:02    [21683210]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
LR
Member

Откуда: 8P8C
Сообщений: 2369
Shocker.Pro
Из предложенных образцов ваш код будет выглядеть так

Хм... .Equals() - это ж тоже "if", значит, должно быть еще одно ветвление...

olga_233
Формулы на рисунке:

Еще не видел профессиональных программистов, которые бы рисовали кружечки-чашечки (кроме Shocker.Pro, конечно)
И рисунок Do-While не совсем адекватный, я бы нарисовал выход на нижнюю чашечку со средней (а не верхней), ну то такое...

olga_233
Прошу помочь мне, нарисовать граф Мак-Кейба на него.

А что именно не получается? Вы рисуете карандашом, ручкой или в Paint-e? Надеюсь, знаете хорошую поговорку, что "помогать можно только тем, кто не бездельничает"? (грешно помогать бездельникам)
23 сен 18, 18:03    [21683212]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
olga_233
Member

Откуда:
Сообщений: 15
LR, не бездельничаю, рисовала. но, не верно.
https://image.ibb.co/dwfwZ9/image.jpg

Хм... .Equals() - это ж тоже "if", значит, должно быть еще одно ветвление...

P.S. по этому и прошу помочь мне нарисовать правильный граф на код...
23 сен 18, 18:18    [21683216]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
olga_233
Member

Откуда:
Сообщений: 15
там должно быть два выхода?
помогите мне нарисовать ;)
23 сен 18, 18:18    [21683218]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
ViPRos
Member

Откуда:
Сообщений: 9536
откуда маккейби эти берутся хоть?
23 сен 18, 18:25    [21683223]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
olga_233
Member

Откуда:
Сообщений: 15
ViPRos, Вот ссылки:

https://ru.wikipedia.org/wiki/Цикломатическая_сложность
https://habr.com/post/40841/
https://dic.academic.ru/dic.nsf/ruwiki/1673483
https://studopedia.su/17_117812_metriki-slozhnosti.html
https://lektsii.org/12-78696.html
23 сен 18, 18:31    [21683229]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
olga_233
Member

Откуда:
Сообщений: 15
LR, помогите дорисовать это ветвление...
23 сен 18, 18:32    [21683230]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20323
LR
Хм... .Equals() - это ж тоже "if", значит, должно быть еще одно ветвление...
Не согласен категорически. Это функция, которая вычисляет значение. Таким образом, у нас есть два выхода, оба с булевым результатом, один задан явно, другой вычислен функцией.
23 сен 18, 18:44    [21683237]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20323
olga_233
Shocker.Pro, учусь самостоятельно. тестировщик ПО.
Тогда попробуйте объяснить, за каким хреном вам нужно нарисовать этот граф, причем нарисовать чужими руками, а не дойти собственным размышлением? И кто будет выступать арбитром в оценки правильности рисования этого графа?
23 сен 18, 18:46    [21683238]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
LR
Member

Откуда: 8P8C
Сообщений: 2369
olga_233,

вот, получилось не очень, ну примерно как у Остапа "Сеятель"))
23 сен 18, 18:48    [21683240]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20323
LR
И рисунок Do-While не совсем адекватный, я бы нарисовал выход на нижнюю чашечку со средней (а не верхней), ну то такое...
Это еще с какого перепугу. В Do-While условие проверяется ДО начала тела цикла (как раз в противоположность Repeat-Until), то есть может ни разу не выполниться, в отличие от последнего. Так что граф как раз-таки нарисован адекватно.


olga_233
Вот, посмотрите, есть ссылки.
Я умею пользоваться википедией. Вы лучше бы ссылку дали на тот источник, из которого фотографию выдрали
23 сен 18, 18:49    [21683241]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20323
LR
вот, получилось не очень, ну примерно как у Остапа "Сеятель"))
А если Equals заменить на функцию, которая возвращает, скажем, Nullable<bool>. Твой граф разделится на три стрелочки что ли? Хрень.
23 сен 18, 18:51    [21683243]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
LR
Member

Откуда: 8P8C
Сообщений: 2369
Shocker.Pro
Не согласен категорически. Это функция, которая вычисляет значение. Таким образом, у нас есть два выхода, оба с булевым результатом, один задан явно, другой вычислен функцией.

Ну так у функции же два возможных исхода, верно? Моя "картина маслом", что запостил выше, наверное тоже неправильная, т.к. нужно нарисовать граф/стрелочки от входа в рассматриваемую процедуру и до _двух_ возможных результатов true/false (т.е. два false на моем рисунке нужно свести в одну точку/кружечек наверное)
23 сен 18, 18:53    [21683245]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20323
Shocker.Pro
LR
вот, получилось не очень, ну примерно как у Остапа "Сеятель"))
А если Equals заменить на функцию, которая возвращает, скажем, Nullable<bool>. Твой граф разделится на три стрелочки что ли? Хрень.
Я понял, ты пытаешься дорисовать к графу гипотетический Caller, которого нет в приведенном коде, который будет анализировать ответ. Но тогда ты опять не прав, потому что у тебя повисла другая ветка возврата значения, а она тоже должна возвращаться в Caller
23 сен 18, 18:55    [21683247]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20323
LR
Ну так у функции же два возможных исхода, верно? Моя "картина маслом", что запостил выше, наверное тоже неправильная, т.к. нужно нарисовать граф/стрелочки от входа в рассматриваемую процедуру и до _двух_ возможных результатов true/false (т.е. два false на моем рисунке нужно свести в одну точку/кружечек наверное)
Да нет же. От того, что ты меняешь функцию, у тебя не должен меняться граф. У тебя не возникает ветвления алгоритма в результате использования функции, это может быть только позже - в if
23 сен 18, 18:56    [21683250]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20323
LR
(т.е. два false на моем рисунке нужно свести в одну точку/кружечек наверное)
Что я и сделал тут https://www.sql.ru/forum/1302892/programmisty-obyasnite-mne-kak-rabotaet-dannyy-kod-c
23 сен 18, 18:58    [21683252]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 1712
Shocker.Pro
LR
вот, получилось не очень, ну примерно как у Остапа "Сеятель"))
А если Equals заменить на функцию, которая возвращает, скажем, Nullable<bool>. Твой граф разделится на три стрелочки что ли? Хрень.

А если вместо return Equals написать if (samplePassword == checkingPassword) return true; else return false;?

Так сложно понять, о чём LR, прежде чем писать "Хрень"?
23 сен 18, 18:58    [21683253]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20323
Дмитрий Мух
Так сложно понять, о чём LR, прежде чем писать "Хрень"?
Вот когда напишешь if, тогда и будет другой граф. А пока нет if-a, нет и ветвления графа
23 сен 18, 18:59    [21683254]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 1712
Shocker.Pro
Дмитрий Мух
Так сложно понять, о чём LR, прежде чем писать "Хрень"?
Вот когда напишешь if, тогда и будет другой граф. А пока нет if-a, нет и ветвления графа

Да это понятно в контексте определения цикломатической сложности.

Я о том, что зачем грубить? Лучше понять и объяснить
23 сен 18, 19:01    [21683255]     Ответить | Цитировать Сообщить модератору
 Re: граф Мак-Кейба  [new]
LR
Member

Откуда: 8P8C
Сообщений: 2369
Shocker.Pro
Это еще с какого перепугу. В Do-While условие проверяется ДО начала тела цикла (как раз в противоположность Repeat-Until), то есть может ни разу не выполниться, в отличие от последнего. Так что граф как раз-таки нарисован адекватно

        var val = -1;
        do
        {
            Console.WriteLine(val);
        } while (val > 0);

Shocker.Pro
Я понял, ты пытаешься дорисовать к графу гипотетический Caller

Именно, какой смысл без него рассматривать функцию?
23 сен 18, 19:02    [21683256]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / WinForms, .Net Framework Ответить