|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
|
Программа, создающая блок-схему по ГОСТу по исходному коду программы15.11.2018, 18:45. Показов 126058. Ответов 32
Метки нет (Все метки)
Пробовал code2flow, но преподаватель сказал, что надо по госту, а именно:
0
|
|
| 15.11.2018, 18:45 | |
|
Ответы с готовыми решениями:
32
Написать блок схему к исходному коду программы Составить блок-схему для программы по исходному коду Построить блок-схему по коду программы |
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 15.11.2018, 22:09 | |
|
3
|
|
|
475 / 427 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
|
|
| 15.11.2018, 22:22 | |
|
Да что вы никак эти блок-схемы научиться строить не можете...
Открываете visio, выбираете шаблон Простая блок-схема. Там всего 7 основных блоков. Все блоки начального размера по госту, за исключением блока овала, его надо сузить (он должен вписываться в 1/2 прямоугольника) и блока параллелограмм, его надо вписать в прямоугольник. 1 раз размеры поменять - дальше копир-вставка. Всего 1 раз разобраться, как их строить - больше проблем не будет никогда. Если увеличить блоки требуется, то растягиваешь прямоугольник, и всё подгоняешь соответственно ему. Теперь поясняю: Прямоугольник - это в основном все присвоения переменным значений. Параллелограмм - это ввод/вывод Прямоугольник с вертикальными полосками по бокам - вызов подпрограмм Ромб - условие Шестиугольник - цикл Круг - перенос частей блок-схем Овал - начало/конец Этого вполне достаточно для всего
2
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 15.11.2018, 22:55 | |
|
SuperKir, он, наверное, хочет, чтобы по тексту программы всё само построилось.
0
|
|
|
475 / 427 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
|
|
| 15.11.2018, 22:59 | |
|
nmcf, да это понятно, чего он хочет
![]() Но не построят все эти программы нормальную блок-схему (я конечно могу ошибаться, возможно и есть такие...). 1 раз разобраться, никогда в их построении проблем не будет
0
|
|
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
|
| 17.11.2018, 16:48 [ТС] | |
|
nmcf, эта программа строит код по блок схеме, я не нашел функции обратного действия.
SuperKir, это-то можно, но это намного дольше, чем вставить код, нажать на кнопку и получить на выходе
0
|
|
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
|
| 17.11.2018, 17:33 | |
|
Титан_1, я тут это уже миллион раз писал, но напишу еще. А то с завидным постоянством такие темы появляются.
Блок-схема не предназначена для описания кода. Это первое и самое важное! Блок схема описывает алгоритм! Это по ней вы должны писать код, используя ее как графическое отражение порядка действий. Т.е. если какая-то программа делает код из блок-схемы, или делает блок-схему из кода, то этот код может быть только кодом на алгоритмическом псевдоязыке (наподобие того, что используется в подобных статьях). Вопрос того, что удобнее использовать псевдокод или графические схемы, оставим за скобками, как оффтоп в данном вопросе. Реальный же код на С++ содержит слишком много синтаксического шума и ненужных в задаче алгоритмизации подробностей. Для того, чтобы какая-либо программа смогла избавиться от этого шума, ей необходимо будет "осознать" смысл этого кода, формализовать алгоритм, а затем записать его в виде блок-схемы. Т.е. в общем случае на настоящий момент это задача только для человека. Естественно, существуют всякие программы, которые просто лепят по операции на каждую соответствующую строчку в коде на С++ и т.п. Но все должны понимать, что это решение некорректное. Такое использование блок-схем лишено смысла и ничем помогает в решении задач. Блок-схема получается огромная, и люди недоумевают как ими после такого можно пользоваться. Я не знаю как и чему сейчас учат преподаватели, но если они принимают подобные решения от студентов, то они либо сами не знают как и для чего используется этот инструмент, либо им настолько пофиг, что проще принять абы как сделанное задание. Если нормальный преподаватель просит сделать блок-схему по коду, то он в любом случае имеет в виду только одно: формализация алгоритма, описанного в коде, и запись его в графической форме. Т.е. он требует именно работы вашей головы по анализу кода и выделению алгоритма. Он не имеет в виду тупой перенос всех строчек из кода в прямоугольнички на бумаге. А если это не так, то это профанация.
2
|
|
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
|
| 17.11.2018, 17:50 [ТС] | |
|
DrOffset, да, мы должны писать сначала блок-схему, а потом программу. Но писать по блок-схеме, обложенной границами ГОСТов очень неудобно (да и вообще, удобнее писать код с комментариями, чем блок-схему). Пока у нас были мелкие программы, построение блок-схемы сводилось к преобразованию начала и конца в овалы, if в ромб, ввода-вывода (cout/cin/print/scanf и тд.) в прямоугольники, помещения внутренности в скобках ifа/функций ввода-вывода в ромб и тд. Разве блок-схемы по большому коду строятся как-то иначе?
0
|
|
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
||
| 17.11.2018, 18:20 | ||
|
В алгоритме должна быть та степень детализации операций, которая удовлетворяет его цели и обеспечивает его понимание. Если, например, мы описываем алгоритм сортировки, в котором есть операция обмена местами элементов (swap), то в нем нет никакого смысла ее расписывать, (tmp = a, a = b, b = tmp). Это лишняя информация, в коде она будет, а в алгоритме - нет. Поэтому даже у большого кода может не быть "большого" алгоритма, именно с точки зрения фундаментальных действий, из которых он состоит. Например, алгоритм обработки сообщений, в каком-нибудь фреймворке Qt уместится всего лишь на одной странице А4 в виде блок-схемы, в то время как кода там очень много.
1
|
||
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
|
| 18.11.2018, 12:23 [ТС] | |
|
DrOffset, попробую создать блок схему через visio. Как изменить размер фигур и длину стрелок по умолчанию?
0
|
|
|
475 / 427 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
|
|
| 18.11.2018, 23:50 | |
|
Титан_1, зачем их менять? Они и так нужного размера.
Стрелки рисуются либо линия потом выбирается стрелка в компонентах, либо сразу стрелка (но так неудобно, лично мне).
0
|
|
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
|
| 19.11.2018, 19:19 [ТС] | |
|
SuperKir, что делать, если текст вывода не вмещается в параллелограм?
0
|
|
|
475 / 427 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
|
|
| 19.11.2018, 20:46 | |
|
Титан_1, Основную мысль передавать либо использовать комментарий
0
|
|
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
||||||
| 23.03.2019, 09:19 [ТС] | ||||||
|
Всё же я не понимаю, где можно сократить блок-схемы. Например, какова в этом коде "та степень детализации операций, которая удовлетворяет его цели и обеспечивает его понимание". Можете написать по ней блок-схему?
0
|
||||||
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
||||||||||||||||
| 23.03.2019, 16:59 | ||||||||||||||||
|
Титан_1,
Во-первых у вас здесь нужно три блок-схемы, потому что у вас реализовано три алгоритма. Первый алгоритм - это произведение элементов массива. Второй - это произведение элементов главной диагонали Третий - это произведение элементов побочной диагонали. Т.е. по-нормальному у вас тут должно быть три функции, каждая из которых реализует один из этих трех алгоритмов. В этом суть процедурного программирования, которое вы изучаете. Далее, в блок-схеме не должно быть: * поэлементного вввода данных в массив, вместо этого ввод обозначается одним блоком, как ввод значения одного объекта * всячеких указателей, и т.п. переменных, кроме тех, что непосредственно влияют на алгоритм * setlocale, и т.п. * system("pause") Т.е. еще проще говоря, кроме ввода и вывода, в первом алгоритме вам надо описать блок-схемой вот этот код:
Правильность вашего кода оставляю на вашей совести.
1
|
||||||||||||||||
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
|
| 23.03.2019, 17:30 [ТС] | |
|
DrOffset, то есть, простым языком, блок схема – это код с вырезанными частями и блок-схему по коду может построить программа, зная, как выглядит то, чего не должно быть в блок-схеме?
0
|
|
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
|||
| 23.03.2019, 17:53 | |||
|
Все-таки будет правильно, если воспринимать блок-схему, именно как описание алгоритма. В этом описании не может быть ничего от конкретного языка программирования. И именно поэтому на этом форуме так много людей, которые говорят, что они не нужны. Они просто смотрят на них как на инструмент описания кода.
0
|
|||
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
|||
| 23.03.2019, 18:04 [ТС] | |||
|
Добавлено через 4 минуты
0
|
|||
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
||||||
| 23.03.2019, 18:32 | ||||||
![]() С таким же успехом можно спросить зачем вы вообще учитесь. Вы поймите, что дело тут не в блок-схемах в общем-то, а в развитии алгоритмического мышления. В идеале именно эту цель преследует дисциплина "Алгоритмизация". Если вам ее дают как-то не так, и преподаватель сам не знает зачем что-то в ней нужно, ну, мне остается только посочувствовать. Но важно-то тут не это. Как угодно может преподаватель себя вести, вам-то вообще нужны знания или нет? Если нужны, то в ваших силах это исправить, даже если ваш конкретный препод не справляется с этим. Например можно пойти сюда (и далее по порядку) и поизучать материал самостоятельно. А потом, когда вы, возможно, будете работать, вам принесут уже готовую проектную документацию от алгоритмистов вашей организации и вы должны будете суметь ее прочитать и запрограммировать. Очень вероятно, что там могут быть блок-схемы, хотя если будет применена другая нотация - это не изменяет сути, ведь вы, же уже умеете читать и составлять алгоритмы. А, возможно, вы и сами будете работать не программистом, а математиком-алгоритмистом, и пусть не блок-схемы конкретно, но привитое алгоритмическое мышление вам помогут развиваться в профессии. Добавлено через 5 минут Во-вторых, лишнее и точки зрения реализации у вас тоже есть. Например зачем вот это самоприсваивание нужно? pa указыает на mass здесьЯ уж не говорю о том, что в этом цикле вы выходите за диапазон массива из-за условия i <= cn.
1
|
||||||
|
"C with Classes"
|
||
| 23.03.2019, 18:46 | ||
|
мне почему то показалось что тут речь шла об алгоритмическом мышлении
0
|
||
| 23.03.2019, 18:46 | |
|
Помогаю со студенческими работами здесь
20
Составить блок схему по коду программы Построить блок-схему к коду программы составить блок-схему по коду программы Построить блок схему по коду программы Построить блок-схему по коду программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|