2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
|
|
1 | |
Составление блок-схем23.09.2009, 07:13. Показов 9570. Ответов 25
Метки нет (Все метки)
Когда учился, то нас никогда не заставляли делать блок-схемы, сейчас часто сталкиваюсь с ними, читал про них но не могу ни как понять какие элементы для чего нужны, во многих составленных примерах есть такое и вот что я не могу понять почему readln(name_f) помещен в блок как предопределенный процесс, который описан либо в модуле либо как функция, аналогично для readln, assign,close(f), я хочу разобраться с этим дабы не вводить в заблуждение не себя не других, то есть хотелось бы разобраться для чего что используется
0
|
23.09.2009, 07:13 | |
Ответы с готовыми решениями:
25
Составление блок-схем. Составление блок схем!!!! Построение блок-схем Создание блок-схем |
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
23.09.2009, 07:26 | 2 |
Это схема нарисованная редактором FCEditor, "поправленная" демо версия, поэтому перечеркнуто Начало, это баг. В принципе схема рисуется алгоритмически верно, но прорисовка блоков не соответствует ГОСТу. ГОСТ настолько старый, что мало уже кто им пользуется, поэтому часто обозначения одних и тех же блоков у разных авторов отличаются.
Вот приложил небольшую статью по этой теме, про блок-схемы не с начала.
1
|
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
|
|
23.09.2009, 07:39 [ТС] | 3 |
просто как я понял несколько блоков откинули и используют только один, а какой блок например использовать при графике для той же процедуры line, putpixel?
0
|
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
23.09.2009, 07:43 | 4 |
Условное обозначение предопределенного процесса, как любой процедуры или функции, неважно стандартная она или пользовательская, все они обозначаются как предопределенный процесс. На Вашем примере это например reset, rewrite.
1
|
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
|
|
23.09.2009, 07:50 [ТС] | 5 |
ну просто раньше использовали для цикла другой блок, теперь же используют просто блок выбора(блок условия, ну то есть ввиде ромба)
0
|
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
23.09.2009, 07:52 | 6 |
Понял. Это в принципе отход от ГОСТ и формально нарушение, хотя для практической работы намного удобнее.
0
|
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
|
|||||||||||
23.09.2009, 08:02 [ТС] | 7 | ||||||||||
то есть по ГОСТ надо использовать блок цикла?, но бывают такие циклы как repeat у него проверка происходит после прохода, как тогда разместить блок цикла, после всего и если не удовлетворяет условию то стрелку выводить на начало, да и вот еще вопрос если у нас например несколько одинаковых процессов, например
0
|
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
23.09.2009, 08:09 | 8 |
Цикл ведь по сути это проверка условия, то есть выполнять пока, только пишется разными операторами, поэтому если несколько линий рисуются при одних условиях, то и делать это надо в одном цикле. На схеме тип цикла роли не играет, например
i=1 i<=n да - делаем, i:=i+1, нет идем к следующему блоку.
1
|
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
|
||||||
23.09.2009, 08:29 [ТС] | 9 | |||||
ну то есть вот например у мен такая вот программа
0
|
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
23.09.2009, 08:44 | 10 |
Я бы так изобразил этот цикл.
1
|
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
|
|
23.09.2009, 08:49 [ТС] | 11 |
мне только в твоей схеме не нравится что проверка идет раньше чем увеличение a то есть по твоей схеме если в начале a:=10 то выведет 10 а по моей как раз выведет 11, как и должно быть так как repeat проверяет после, но я как бы не на это хотел обратить внимание а на блоки которые я использовал, то есть как я понимаю, так как writeln это процедура то надо ее в блок предварительного процесса??? и то есть получится что в программе на паскаль не будет блока ввода вывода
0
|
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
23.09.2009, 09:14 | 12 |
Поставь такое условие, какое нужно, вместо 10, 11.
слово writeln в коде равно обозначению предопределенного процесса на схеме. Если надо изобразить "нутро" этой процедуры, рисуется отдельная ее схема. Если в программе есть пользовательские подпрограммы, для каждой из них рисуется своя схема, а на общей схеме программы они изображаются одним условным обозначением, только имена разные.
1
|
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
|
|||||||||||
23.09.2009, 09:19 [ТС] | 13 | ||||||||||
и последний вопрос можно ли объединять подобный процессы в один блок
то есть
0
|
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
23.09.2009, 09:20 | 14 |
Я не очень понимаю о чем ты. Объединить можно все в виде подпрограмм.
0
|
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
|
|
23.09.2009, 09:32 [ТС] | 15 |
вот что я имел ввиду, можно так делать или нет
0
|
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
|
|
23.09.2009, 09:33 [ТС] | 16 |
то есть в один блок несколько схожих по характеру операций засовывать
0
|
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
23.09.2009, 09:43 | 17 |
Нет, это не принято. Каждая операция, описываемая в коде программы, должна показываться отдельным блоком. Вот если ты эти тройки операций в программе объединишь в процедуры, тогда в основной программе, они будут одним блоком, только называться он будет по другому, а расшифровку блока придется сделать отдельной схемой. Вообще еще зависит для чего ты делаешь схему. Если для себя, то делай так как хочешь, лишь бы тебе понятно было, если для заказчика, или в курсовую там или диплом, то нужно максимально придерживаться правил.
0
|
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
|
|
23.09.2009, 09:53 [ТС] | 18 |
Так в том то и проблема, что не понятно где какие правила
Добавлено через 1 минуту Где можно найти стандарты составления блок-схем для паскаль
0
|
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
23.09.2009, 10:00 | 19 |
Вот поэтому рисую страждущим в FCEditor и предлагаю самим перерисовать так, как у них принято, как их учат. А нормативные документы найди по ссылке в гугле по запросу
ГОСТ 19.701-90 (ИСО 5807-85) Там их много, я сам не читал.
0
|
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
|
|
23.09.2009, 13:18 | 20 |
Вот парочку моих прошлогодних работ с блок схемами, там задание, исходный текст, блок схема.Может будет интересно.
1
|
23.09.2009, 13:18 | |
23.09.2009, 13:18 | |
Помогаю со студенческими работами здесь
20
Построение Блок-Схем Нарисование блок-схем Рисование блок-схем Построение блок-схем Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Эффективная работа со строками в Go
InfoMaster 20.01.2025
Язык программирования Go предлагает уникальный подход к работе со строками, который существенно отличается от многих других языков программирования. В Go строки представляют собой неизменяемые. . .
|
Как проверить, что отображение (map) содержит ключ в Go
InfoMaster 20.01.2025
Отображения (maps) в языке программирования Go представляют собой мощные структуры данных, которые позволяют хранить пары ключ-значение и обеспечивают быстрый доступ к данным по уникальным. . .
|
Как организовать домашнее хранилище фильмов с общим доступом для всей семьи
InfoMaster 20.01.2025
Преимущества домашнего медиасервера
В современном мире, где цифровой контент стал неотъемлемой частью нашей жизни, организация домашнего медиасервера становится все более актуальной задачей. . . .
|
Перспективы развития жестких дисков: есть ли у них будущее?
InfoMaster 20.01.2025
История и эволюция жестких дисков
История развития жестких дисков начинается в 1956 году, когда компания IBM представила первое устройство для хранения данных на магнитных пластинах - IBM 350. . .
|
Распознавание изображений (компьютерное зрение) на C++
InfoMaster 20.01.2025
Введение в компьютерное зрение и основы работы с изображениями
Компьютерное зрение представляет собой одну из наиболее динамично развивающихся областей информационных технологий, позволяющую. . .
|
Какой язык программирования лучший для разработки нейронных сетей
InfoMaster 20.01.2025
В современном мире технологий искусственные нейронные сети становятся неотъемлемой частью множества инновационных решений, от распознавания речи до автоматического управления транспортными. . .
|
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
|
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
|
В чем разница между px, in, mm, pt, dip, dp, sp
InfoMaster 20.01.2025
В мире цифрового дизайна и разработки интерфейсов правильный выбор единиц измерения играет ключевую роль в создании качественного пользовательского опыта. История развития систем измерений для. . .
|
Как изменить адрес удалённого репозитория (origin) в Git
InfoMaster 20.01.2025
В терминологии Git термин origin является стандартным именем для основного удаленного репозитория, с которым взаимодействует локальная копия проекта. Когда разработчик клонирует репозиторий с. . .
|
Как переместить последние коммиты в новую ветку (branch) в Git
InfoMaster 20.01.2025
При работе над проектом часто возникают ситуации, когда необходимо изолировать определенные изменения от основной линии разработки. Это может быть связано с экспериментальными функциями, исправлением. . .
|
Как вернуть результат из асинхронной функции в JavaScript
InfoMaster 20.01.2025
Асинхронное программирование представляет собой фундаментальную концепцию в JavaScript, которая позволяет выполнять длительные операции без блокировки основного потока выполнения программы. В. . .
|