Форум программистов, компьютерный форум, киберфорум
Наши страницы
Алгоритмы
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 1309, средняя оценка - 4.77
insideone
Модератор
Автор FAQ
3657 / 937 / 112
Регистрация: 10.01.2010
Сообщений: 2,513
#1

Правила составления блок-схем для программ [C/C++;Pascal;Basic] - Алгоритмы

12.04.2010, 22:20. Просмотров 177866. Ответов 20

Если вам нужно составить блок-схему для вашей программы написанной на [C/C++;Pascal;Basic] (именно для них будут приведены примеры), то прошу изучить данное руководство.
Составление блок-схемы - процесс составления графических блоков из блоков кода. Фактически вы будете смотреть на строчку и добавлять блок. Ещё строчка, блок и вниз вниз вниз. Очень просто, если освоить "строительные блоки". Рассмотрим их:



Терминатор
Название: terminator.png
Просмотров: 66560

Размер: 1.8 Кб
Подробнее
Любая программа\подпрограмма начинается и заканчивается данным блоком. Отличие в тексте внутри него. Для начального блока так и пишем "НАЧАЛО", а для завершающего "КОНЕЦ".

Обратите внимание: в блок-схеме должно быть только одно начало, и только один конец. В случаях когда работа программы завершается в разных ветвлениях, нужно не каждую из них завершать блоком терминатора, а с помощью блока "Соединитель" переводить управление на единый конец программы.





Данные
Название: input.png
Просмотров: 66485

Размер: 1.7 Кб
Подробнее
Если какие-то данные поступают в программу извне (например с клавиатуры), то отобразить это на блок-схеме, вам поможет именно этот блок. Взглянем на код, который отражает этот блок:
C++
1
cin >> a >> b >> c >> d;
Pascal
1
read(a); read(b); read(c); read(d);
PureBasic
1
2
3
4
Input a
Input b
Input c
Input d
Обратите внимание: В ГОСТе указываются и другие блоки ввода информации, например блок "Ручной ввод" в виде трапеции. Этот же блок можно использовать для обозначения вывода информации, однако как и в случае с вводом в ГОСТе указываются отдельные блоки для вывода информации, например блок "Дисплей" (см. ниже)





Процесс
Название: process_block.png
Просмотров: 77882

Размер: 1.5 Кб
Подробнее
Предыдущий блок фактически дал нам возможность заявить что есть такие то переменные и мы можем уже с ними как то работать. Например, посчитать выражение a = (b * c) / d

В коде это может выглядеть так:
C++
1
a = (b * c) / d;
Pascal
1
a := (b * c) / d;
PureBasic
1
a = (b * c) / d
Обратите внимание: стоит избегать "языковых" особенностей. Например, инкремент (i++) в блоке лучше записать как i = i + 1, т.к. блок-схемы должны избегать зависимостей от конкретной реализации и отражать алгоритм, логику работы.





Предопределенный процесс
Название: preprocess.png
Просмотров: 78050

Размер: 1.3 Кб
Подробнее
В вашей программе могут быть функции и процедуры. Если вы их вызываете где-то (иначе тогда зачем они писались?), то данный вызов должен помещаться в данный блок. Т.е. если какая то строчка в программе вызывает функцию\процедуру, мы помещаем её в этот блок.

Вот как это может выглядеть в коде:
C++
1
SomeFunction(a, b);
Pascal
1
SomeFunction(a, b);
PureBasic
1
Call SomeFunction(a, b)
Обратите внимание: "Внутренности" вызываемой функции должны быть отображены на отдельной блок-схеме. Другими словами, если у вас программа с 10 функциями, то у вас будет 1 + 10 блок схем.





Решение
Название: solution.png
Просмотров: 61558

Размер: 2.5 Кб
Подробнее
Участки кода, которые разветвляют работу программы, по определённому условию необходимо выполнять данным блоком. При этом в блоке пишется само условие, а из блока выводят линии справа (для случая "условие не выполняется") и снизу (для случая "условие выполняется").

В коде, этот блок выглядит обычно оператором if
C++
1
if ( a > b && c < d )
Pascal
1
if (( a > b ) and ( c < d )) then
PureBasic
1
If (( a > b ) and ( c < d )) Then
Однако, если вам встретился switch, то его вам нужно изобразить тоже через этот блок.
Это выглядит так: Вложение 30531
В сам блок записывается операнд switch'а, а над линиями, исходящими из блока - то с чем он сравнивается.

Обратите внимание: линии, исходящие из блока, должны быть подписаны. Для if эта подпись "Да" и "Нет", для switch'а - соответствующие подписи case'ов





Границы цикла
Название: loop_new.png
Просмотров: 61590

Размер: 2.4 Кб

Подробнее
Это составной блок, который отображает цикличные (повторяемые действия). Первый блок показывает где начинается цикл, а второй - где заканчивается.

...

Название: loop_new.png
Просмотров: 61590

Размер: 2.4 Кб
C++
1
for (int i = 0; i < n; i++)
Pascal
1
for i:=0 to n - 1 do
PureBasic
1
For i = 0 to n
Первой строкой идет название цикла. Ну for цикл.. так и пишем. Был бы while цикл написали while. А дальше собственно какую то информацию о нем, но главное - условие его окончания. Второй блок закрывает границы цикла. Все что расположено между этими двумя блоками - будет выполняться в цикле.
Рассмотри ещё цикл do - while. Для него блок-схема будет выглядеть немного по другому, т.к. условие окончания проверяться будет в нижнем блоке, а не в верхнем.
C++
1
2
3
do {
   // тело цикла
} while (x > 10);
Pascal
1
2
3
repeat
  { тело цикла }
until (x <= 10);
PureBasic
1
2
3
Do
   ' тело цикла
Loop While (x > 10)
Условие в таком случае проверятся в конце каждой итерации а не в её начале. На блок схеме это отобразится так:
Название: loop_do_while.png
Просмотров: 61292

Размер: 2.4 Кб
Вместо блока в котором написано "тело цикла" может быть другой блок, а может много других блоков Это просто для того чтобы показать как распологаются блоки внутри цикла







Соединитель
Подробнее
О нет, блок-схема не влезает в лист (во громадина то). Что делать? Используем этот блок!
Название: linker.png
Просмотров: 78470

Размер: 1.2 Кб
Цифра в блоке будет обозначать какой кружочек с цифрой искать на другом листе. Я имею ввиду что сначало мы добавим такой блок с цифрой 1. На следующем листе снова разместим кружочек с цифрой 1. А если добавим ещё блок в другое место и он будет соединять уже другие части программы то нужно будет писать цифру 2 и т.д.





Документ
Подробнее
Через этот блок я всегда выводил переменные. В общем если алгоритм печатает переменную d на экране то можно зарисовать это так:
Название: print.png
Просмотров: 79290

Размер: 1.4 Кб
Не забуде что блок "данные" который был описан выше тоже может обозначить вывод данных.





Советы:
1. Блоки должны быть одной ширины. Это важно, к этому могут придраться. Насчет высоты не знаю Делал разную высоту и все было хорошо.
2. Если текст не влезает в блок то можно сделать его повыше (но не надо делать его шире!) и разделить по нему текст так что все влезет. А ещё можно вынести "комментарий". Да, на блок схемах они тоже бывают. Все есть в ГОСТ.
3. Все блоки соединяются обычными линиями (БЕЗ стрелок). Стрелочка на конце линии добавляется только тогда когда одна линия входит в другую (при этом стрелка рисуется для той которая "входит")
4. Не заморачивайтесь, блок схема лишь отображает алгоритм. Можно не отображать на ней очень многое - то что не влияет на алгоритм работы программы.
5. Не полагайтесь полностью на это руководство. Оно лишь для быстрого старта. Если хотите сделать очень хорошо, лучше взгляните на ГОСТ

ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения

Спасибо кот Бегемот и taras atavin за замечания и предложения
48
Изображения
   
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2010, 22:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Правила составления блок-схем для программ [C/C++;Pascal;Basic] (Алгоритмы):

Про актуальность правил составления блок-схем программ
Какие на сегодня общие правила составления блок-схем являются общепринятыми и...

Алгоритм составления блок схем на основании кода
Выбираю тему для дипломки, и одна из предложенных - Алгоритм составления блок...

Прошу объяснить условие для составления блок-схемы
Задание очень простое, о кодинге пока речь не идет. По условию нужно составить...

Посоветуйте программу для блок-схем
Посоветуйте какую-нибудь хорошую бесплатную программу для рисования блок-схем...

Составление блок-схем для двух задач
Привет! Нужна помощь! Мне необходимо составить блок-схему для такой...

Какие существуют приложения для отрисовки блок-схем?
Можно ли сделать алгоритм в c++ как делали на бумаги(фигурами)

20
insideone
Модератор
Автор FAQ
3657 / 937 / 112
Регистрация: 10.01.2010
Сообщений: 2,513
13.04.2010, 15:59  [ТС] #2
Различные примеры:

КОД
C++
1
2
3
4
5
for (int i = 0; i <= n; i++)
{
   if (h < 0) break;
   h -= i * i;
}
Pascal
1
2
3
4
for i:=1 to n do begin
   if (h < 0) then break;
   h = h - i * i;
end;
PureBasic
1
2
3
4
For i = 0 to n
   If (h < 0) Then Exit For
   h = h - i * i
Next i
&
БЛОК-СХЕМА
Правила составления блок-схем для программ [C/C++;Pascal;Basic]
- Цикл (for) с прерыванием (break) по условию (if)

Пока что открываю тему для ваших замечаний и предложений. Давайте вместе сделаем все лучше
6
taras atavin
4204 / 1763 / 212
Регистрация: 24.11.2009
Сообщений: 27,565
14.04.2010, 11:30 #3
Цикл ваще-то шестиугольный, а не ввиде начала. И откуда в языково-независимых блок-схемах чисто сёвый инкремент? Заменить математической записью того же самого в порядке:
1. Начальное значение счётчика.
2. Условие завершения цикла.
3. Как менять значение счётчика после каждого выполнения тела цикла.

Добавлено через 1 минуту
И насколько мне известно, выход из тела цикла просто сразу в левый вход заголовка.

Добавлено через 3 минуты
Хотя, по ссылке два блока и сказано, что это стандарт. Но и там блоки не скруглены!
1
insideone
Модератор
Автор FAQ
3657 / 937 / 112
Регистрация: 10.01.2010
Сообщений: 2,513
14.04.2010, 16:25  [ТС] #4
Цитата Сообщение от taras atavin Посмотреть сообщение
Цикл ваще-то шестиугольный, а не ввиде начала. И откуда в языково-независимых блок-схемах чисто сёвый инкремент? Заменить математической записью того же самого в порядке:
1. Начальное значение счётчика.
2. Условие завершения цикла.
3. Как менять значение счётчика после каждого выполнения тела цикла.
Да, действительно раньше я всегда шестиугольным и делал. Вот такой:
Название: loop_old.png
Просмотров: 75030

Размер: 1.5 Кб
Где то от кого то слышал что это устаревшее что то... но ладно, даже без этого в том ГОСТ что по ссылке есть блок "Подготовка" который выглядит именно так (разве чуть шире). Насчет языконезависимого... впринципе да, не очень хорошо. А насчет записи я согласен, вот только как это записать? Через запятую, на каждой строчке или ещё как. Стандарт молчит. И что за имя цикла понять трудно, вот было бы написано "тип" цикла.

И насколько мне известно, выход из тела цикла просто сразу в левый вход заголовка.
В шестиугольнике выход был справа (по аналогии с блоком "Решение" для оператора IF). Вроде того что условие цикла выдало FALSE. Но что уж теперь. С тем блоком цикла который в ГОСТе никакие влево-вправо не нужно.

Но и там блоки не скруглены!
Мой косяк, в Diagram Designer такого блока фактически и не было, сам рисовал. А в ГОСТе качество не очень вот как то и не заметилось. Сейчас сделаю прямоугольник со срезанными углами сверху \ снизу для блоков цикла.

Спасибо!

Добавлено через 13 минут

Исправил вид блока цикла, добавил пример цикла с пост-условием
3
ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
15.04.2010, 16:39 #5
ofstream Z4("C:\\Kod.txt"); Какой мне блок применять когда я откриваю файл?
1
insideone
Модератор
Автор FAQ
3657 / 937 / 112
Регистрация: 10.01.2010
Сообщений: 2,513
15.04.2010, 17:07  [ТС] #6
Фактически, как я понимаю, это ввод данных в программу, поэтому блок "Данные" думаю подойдет Напишите в нем Z4...
2
prosto_lynx
49 / 24 / 2
Регистрация: 09.06.2008
Сообщений: 226
19.05.2010, 22:29 #7
А какой блок используется для switch - case ?..
1
kirill29
2064 / 1227 / 169
Регистрация: 01.02.2009
Сообщений: 2,842
19.05.2010, 22:53 #8
Цитата Сообщение от prosto_lynx Посмотреть сообщение
А какой блок используется для switch - case ?..
Вроде так:
5
Миниатюры
Правила составления блок-схем для программ [C/C++;Pascal;Basic]  
cybermolex
0 / 0 / 0
Регистрация: 26.05.2010
Сообщений: 1
30.05.2010, 10:18 #9
Здравствуйте, есть такой вопрос.
Алгоритм программы следующий: По нажатию кнопки старт, происходит считывание данных с файла, затем считывания данных с порта, после этого, идет сравнение в цикле, данных с порта и данных с файла, при обнаружении соответствия происходит выход из цикла, и вывод данных на экран, после этого цикл идет заново, если совпадений нет, цикл так же прерывается и на вывод идут другие данные, но в любом случае после этого цикл начинает работать снова. То есть алгоритм циклический.

А теперь вопрос: Как на блок-схеме отобразить ручной выход из цикла? Есть кнопка стоп, по нажатию которой цикл прерывается, и программа прекращает свою деятельность.
Заранее спасибо.
0
insideone
Модератор
Автор FAQ
3657 / 937 / 112
Регистрация: 10.01.2010
Сообщений: 2,513
30.05.2010, 20:38  [ТС] #10
Посмотрите в ГОСТе блок "Ручной ввод", считывается состояние клавиши в переменную допустим а потом блоком "решения" проверить переменную и решить прервать программу или нет. Если да - блок "соединитель" и его вторая копия уже идет к терминатору "КОНЕЦ"
0
Ioann Koyper
1 / 1 / 0
Регистрация: 18.06.2010
Сообщений: 4
18.06.2010, 12:18 #11
Цитата Сообщение от insideone Посмотреть сообщение
Все блоки соединяются обычными линиями (БЕЗ стрелок). Стрелочка на конце линии добавляется только тогда когда одна линия входит в другую (при этом стрелка рисуется для той которая "входит")
В ВУЗе говорили что стрелки на соединительных линиях проставляются только по направлениям влево и/или вверх
1
insideone
Модератор
Автор FAQ
3657 / 937 / 112
Регистрация: 10.01.2010
Сообщений: 2,513
18.06.2010, 21:43  [ТС] #12
Спасибо, а то всегда ограничивался как то этими правилами... Вот лучше приведу полный список из ГОСТ 19.701-90:
4.2. Правила выполнения соединений

4.2.1. Потоки данных или потоки управления в схемах показываются линиями. Направление потока слева направо и сверху вниз считается стандартным.

В случаях, когда необходимо внести большую ясность в схему (например, при соединениях), на линиях используются стрелки. Если поток имеет направление, отличное от стандартного, стрелки должны указывать это направление.

4.2.2. В схемах следует избегать пересечения линий. Пересекающиеся линии не имеют логической связи между собой, поэтому изменения направления в точках пересечения не допускаются.

4.2.3. Две или более входящие линии могут объединяться в одну исходящую линию. Если две или более линии объединяются в одну линию, место объединения должно быть смещено.

4.2.4. Линии в схемах должны подходить к символу либо слева, либо сверху, а исходить либо справа, либо снизу. Линии должны быть направлены к центру символа.

4.2.5. При необходимости линии в схемах следует разрывать для избежания излишних пересечений или слишком длинных линий, а также, если схема состоит из нескольких страниц. Соединитель в начале разрыва называется внешним соединителем, а соединитель в конце разрыва-внутренним соединителем.

4.2.6. Ссылки к страницам могут быть приведены совместно с символом комментария для их соединителей.
0
PandoraBox2007
0 / 0 / 0
Регистрация: 11.10.2009
Сообщений: 16
03.06.2011, 10:35 #13
Пример вложенных циклов FOR

В теле цикла FOR может быть еще один цикл FOR, получаются вложенные циклы, например:

http://www.programmer.zp.ua/blsh/img/e3062.png
0
Владимир_ВМ
128 / 109 / 103
Регистрация: 16.05.2011
Сообщений: 340
13.02.2012, 14:32 #14
Цикл for нас учили через шестиугольник в которм идёт запсиь <параметр цикло>=начало,конец.
0
insideone
Модератор
Автор FAQ
3657 / 937 / 112
Регистрация: 10.01.2010
Сообщений: 2,513
13.02.2012, 18:05  [ТС] #15
Владимир_ВМ, насколько я понял верны оба варианта, т.к. ГОСТ строго не регламентирует вид цикла. Естественно лучше делать именно так как вас учили, чтобы не иметь проблем с преподавателями. Я начертил достаточно много блок схем по учёбе, и разным преподавателям сдавалось все это. Прокатывали оба варианта, но иногда преподавателю нужно "именно так и никак иначе". Тут уж лучше сделать как говорит, а не так как правильно. Это касается не только циклов
0
rrrFer
Заблокирован
16.02.2012, 20:59 #16
insideone, немного критики, надеюсь, Вы не против
1.
Не забуде что блок "данные" который был описан выше тоже может обозначить вывод данных.
Вот, именно поэтому в вашем примере с "данными" лучше писать "Ввод: a,b,c,d", т.к. у вас не понятно ввод там или вывод.

2.

У меня есть сомненья, что блок "документ" правильно использовать для вывода. Читаем с ГОСТ(пусть даже по вашей ссылке) :
Символ отображает данные, представленные на носителе в удобочитаемой форме (машинограмма, документ для оптического или магнитного считывания, микрофильм, рулон ленты с итоговыми данными, бланки ввода данных). Однако, смотрите на раздел "3.1.2.8. Дисплей" - вот такой блок правильно использовать для вывода
Если я пишу cout >> a >> b; - то данные находятся в оперативной памяти, которую трудно назвать носителем.

3.
Гост, ссылку на который вы привели вроде бы менее строгий чем более старый(который 19.003-80. ЕСПД). Если туда заглянуть - то можно обнаружить что блок "Данные" называется "ввод вывод" - что "как бы" более отражает суть.

4.
все по той же ссылке можно найти пропорции для блока "Пуск-останов"(у Вас это блок "Терминатор"). Этот блок представляет собой прямоугольник со скругленными правым и левым краями, но у вас нарисован прямоугольник со скругленными углами. Еще иногда вместо него рисуют овал(когда блок-схему в Word рисуют xD) - это тоже неверно.

напоследок
  • В ГОСТах много всего интересного Например, старый ГОСТ требовал проставлять координаты блоков, если нет разметки на листе и был более строг к габаритам и пропорциям элементов, но все же габариты стоит соблюдать, а-то ваши(это не Ваши) овалы могут не понять.
  • Очень часто в блок-схемах встречаются комментарий(в основном, по причине того, что содержимое не помещается в блоке) и межстраничный соединитель - их не помешало бы тут описать.
  • И по поводу стрелок. Цитата со старого ГОСТа: "1.8. Линии потока должны быть параллельны линиям внешней рамки схемы. 1.9. Направления линии потока сверху вниз и слева направо принимают за основные и, если линии потока не имеют изломов, стрелками можно не обозначать. В остальных случаях направление линии потока обозначать стрелкой обязательно. " Вобщем, везде где линия направлено справа налево или снизу вверх должна стоять стрелка. У Вас п. 1.9 нарушается, однако в новом ГОСТ есть примеры, нарушающие и 1.8 и 1.9, так что не страшно, но все же, согласитесь, красивей и приятней когда линии параллельны и лишние стрелки отсутствуют( студенты, использующие MS VIsio часто ставят стрелку на каждой соединительной линии - а пример в википедии, походу, выполняли именно такие студенты ).

А так, все неплохо...вроде бы.
добавил:
А еще, не помешало бы почистить тему ИМХО.
0
insideone
Модератор
Автор FAQ
3657 / 937 / 112
Регистрация: 10.01.2010
Сообщений: 2,513
18.02.2012, 17:40  [ТС] #17
rrrFer, спасибо! Материал изначально действительно не претендовал на какую-то академичность, т.к. я больше практик (в свое время пришлось много нарисовать блок-схем для студентов-сотоварищей). К сожалению и сами преподаватели часто не заворачивались и часто требовали рисовать даже не правильно (исходя из своего мировозрения).
Но критика действительно конструктивная, и пора бы немного проапдейтить мануал, займусь этим вскоре

Цитата Сообщение от rrrFer Посмотреть сообщение
Вот, именно поэтому в вашем примере с "данными" лучше писать "Ввод: a,b,c,d", т.к. у вас не понятно ввод там или вывод.
Ни когда бы не догадался так написать потому что никогда не видел такого нигде. Хотя для понятности можно было бы.

Цитата Сообщение от rrrFer Посмотреть сообщение
Если я пишу cout >> a >> b; - то данные находятся в оперативной памяти, которую трудно назвать носителем.
Ну почему же. Вообще блок скорее означает "печать" на ... (экран). Почему-то у все преподаватели которым сдавались блок схемы хотелось видеть именно такой вывод. Блок-схем с экраном ни разу не видел, но упомянуть стоит Кстати я уже упоминаю об этом в п.2, но лучше проиллюстрировать.

Цитата Сообщение от rrrFer Посмотреть сообщение
все по той же ссылке можно найти пропорции для блока "Пуск-останов"(у Вас это блок "Терминатор"). Этот блок представляет собой прямоугольник со скругленными правым и левым краями, но у вас нарисован прямоугольник со скругленными углами. Еще иногда вместо него рисуют овал(когда блок-схему в Word рисуют xD) - это тоже неверно.
У DD в котором все это рисовалось существуют некоторые трудности с рисованием круглых блоков. Хотя в принципе это только отмаза. Постараюсь перерисовать лучше

Цитата Сообщение от rrrFer Посмотреть сообщение
Очень часто в блок-схемах встречаются комментарий(в основном, по причине того, что содержимое не помещается в блоке) и межстраничный соединитель - их не помешало бы тут описать.
С комментариями очень редко сталкивался, попробую изучить и описать. А вот соединитель - почему-то даже при разделении на несколько листов использовал п.7, но раз уж есть отдельный для страниц, надо описать и его тоже.

Цитата Сообщение от rrrFer Посмотреть сообщение
У Вас п. 1.9 нарушается, однако в новом ГОСТ есть примеры, нарушающие и 1.8 и 1.9, так что не страшно, но все же, согласитесь, красивей и приятней когда линии параллельны и лишние стрелки отсутствуют( студенты, использующие MS VIsio часто ставят стрелку на каждой соединительной линии - а пример в википедии, походу, выполняли именно такие студенты ).
Что-то не понял где это оно у меня нарушается? Вроде как раз так всегда и рисовал и лишних стрелок избегал.
0
rrrFer
Заблокирован
19.02.2012, 21:40 #18
Цитата Сообщение от insideone Посмотреть сообщение
Что-то не понял где это оно у меня нарушается? Вроде как раз так всегда и рисовал и лишних стрелок избегал.
http://www.cyberforum.ru/algorithms/thread116008.html#post658559
Еще точнее тут: "& БЛОК-СХЕМА"
Ссылку в ответе PandoraBox2007 я, конечно, ввиду не имел .

и часто требовали рисовать даже не правильно (исходя из своего мировозрения).
Хм, это шикарно, но до защиты диплом сдается на нормоконтроль(похожая картина и при подачи статьи в научный сборник), в том числе, там проверяют и соответствие схем ГОСТу. Я считаю, что перерисовывать все схемы в дипломе за 1 ночь не слишком приятно...почему бы еще на 1 курсе(или в школе - щас ведь в 9 классе всех школ Союза разбирают блок схемы, и даже в ГИА 9 класса есть соответствующие вопросы) не научиться их рисовать правильно?
Там выше писалось что преподаватель часто требует не по стандарту, а выдвигает свои требования, я щитаю, надо не стесняясь тыкать его мордой в ГОСТ )

Можно заглянуть в соседнюю тему, там есть пост ув. Бурундука, че-то странно выглядит у него блок "терминатор"(походу, наоборот, проблем "с рисованием круглых блоков" нет) и очень странный "соединительный блок". При моем не угасающем уважении к Бурундуку, я бы выпилил статью полностью, ну или написал бы туда комментарий, но нет прав xD. Смотрим раздел "Алгоритм и его свойства", вижу в нем аж 4 предложения, сильно смахивающие на цитаты из энциклопедии(кавычки и ссылку кто-то забыл), но самое главное, про свойства там нет ни одного слова, а могло бы быть интересно .

и пора бы немного проапдейтить мануал, займусь этим вскоре
Пиши, если буду не занят - помогу )

Не по теме:

Пишу тут, чтобы еще 1 пост не создавать(мне лень). Соседняя тема по блок-схемам очень даже интересная. Хотя, я прочитал через строчку по диагонали, но картинки понравились ) Не хватает описания возможностей по экпорту/импорту - например, могу ли я запихнуть в эту программу блок-схему, нарисованную в Dia или Visio (или наоборот, сохранить проект в формате Dia)?

0
insideone
Модератор
Автор FAQ
3657 / 937 / 112
Регистрация: 10.01.2010
Сообщений: 2,513
22.02.2012, 00:04  [ТС] #19
Цитата Сообщение от rrrFer Посмотреть сообщение
Еще точнее тут: "& БЛОК-СХЕМА"
Ну так там как раз одна стрелка, как раз в случае "справа-налево"


Цитата Сообщение от rrrFer Посмотреть сообщение
Пишу тут, чтобы еще 1 пост не создавать(мне лень). Соседняя тема по блок-схемам очень даже интересная. Хотя, я прочитал через строчку по диагонали, но картинки понравились ) Не хватает описания возможностей по экпорту/импорту - например, могу ли я запихнуть в эту программу блок-схему, нарисованную в Dia или Visio (или наоборот, сохранить проект в формате Dia)?
Не-а, не умеет DD коннектиться с другими "старшими" братьями (т.е. не загружает "их" форматы, и не сохраняет в "их" форматах"). Dia и Visio по сравнению с DD монстры DD интересна именно простотой, её даже устанавливать не обязательно (портабельность). По скорости работы шустра, и возможности вполне достаточны для сабжа.


Холивар детектед :)
Цитата Сообщение от rrrFer Посмотреть сообщение
Хм, это шикарно, но до защиты диплом сдается на нормоконтроль
У меня все и в таком виде "прошло". Проверяющий у нас видимо не шарит в блок-схемах. Хотя согласен, наверное, не везде так. В целом мне вообще редко попадались проблемы "так не правильно", обычно если так говорили, то это скорее была "хотелка" препода, а не обоснованное замечание связанное с ГОСТами.

Цитата Сообщение от rrrFer Посмотреть сообщение
Там выше писалось что преподаватель часто требует не по стандарту, а выдвигает свои требования, я щитаю, надо не стесняясь тыкать его мордой в ГОСТ )
Тут все очень индивидуально Некоторые личности могут не терпеть критики, поэтому такой подход может обернуться в будущем большими проблемами. Конечно стоит и ГОСТ показать, но я бы не стал настаивать если бы препод начал противиться этим доводам.
1
rrrFer
Заблокирован
04.03.2012, 09:26 #20
Цитата Сообщение от insideone Посмотреть сообщение
Ну так там как раз одна стрелка, как раз в случае "справа-налево"
Должно не быть 2 стрелки? (не хватает стрелки в районе ветки "нет" условия).
0
04.03.2012, 09:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2012, 09:26
Привет! Вот еще темы с решениями:

Какие есть файлы-сырцы для построения блок схем известного формата?
Друзья! Суть: хочу написать программу, которая создавала бы дерево папок и...

Блок схемы для 2 программ
Уважаемы форумчане, помогите составить блок-схемы для двух программ. 1....

Составить блок-схемы для программ
Ребят,помогите пожалуйста сделать блок схемы для программ: ...

Построение блок-схем
не могу разобраться,как построить блок-схему. А точнее,то,что писать в теле...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru