Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2012, 21:46   #1
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию Блок-схемы. Вы их чертите/составляете?

Привет.

Когда мы на первом курсе института изучали предмет "Алгоритмизация и программирование", у нас немало внимания уделялось блок-схемам. Для того чтобы навыки построения блок-схем у нас чётко отложились в памяти, лабораторные по программирование были организованы таким образом, что, при сдаче по ней отчёта блок-схема проверялась прежде всего, и, если блок-схемы не было, отчёт не принимался.

На втором курсе института тот же преподаватель вёл у нас "Вычислительную математику", где приём лабораторных работ был организован точно так же. Ещё тогда я заметил, что мои одногруппники перестали нуждаться в блок-схемах, и писали код решения сразу, а для того чтобы у них приняли работу, уже по коду составляли блок-схему, мечтая о программах, которые ко коду могли бы нарисовать блок-схему за них. Я же продолжал сначала рисовать блок-схемы, а потом на основании их писать код (впрочем, написать код по грамотно составленной БС - плёвое дело). Но я себя не хвалю, а их не ругаю, наоборот, они учились лучше меня.

Начиная с некоторого момента времени я начал замечать, что БС мне тоже уже становятся ненужными (впрочем, тогда ещё попадались задачи, где без БС было не обойтись, например, по моделированию систем).

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

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

А как у вас отношения с Блок-схемами?
Вадим Мошев вне форума Ответить с цитированием
Старый 09.03.2012, 22:00   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...раньше - да, потом - нет ...чаще блок-схема заменяется отладкой в симуляторе, гораздо эффективнее, но это скорее специфика работы такая.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 09.03.2012, 22:09   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Алгоритмы составлять какие-то будут в конечном итоге единицы программистов и не так часто и блок-схемы в виде вузовских большинству не пригодится.
Когда же программа вырисовывается достаточно сложной, чтобы нужно было её проектировать и когда все аспекты в голову не влазят, тогда и начинаются схемы.
Есть смысл анализировать и проектировать задачу посредством разных UML-диаграмм (или каких-то аналогов, вплоть до самодельных, но при условии единоличной работы и отсутствия команды, ибо UML - есть стандарт), а вот рисовать схемы для алгоритмов уровня описанных в словесной записи - это глупость и лишняя трата времени.
На начальном этапе блок-схемы больше помогают авторам/учителям давать пояснения к алгоритму и нагляднее плоского кода в случае ветвлений (на удобство читателя/студента тут в принципе плевать).
Когда учителя заставляют рисовать блок-схемы для программ на делфях, где всё размазано непонятно как по обработчикам кнопок и только выносит неокрепшие мозги начинающих программистов - вот это вред еще тот.
Студенческие лабораторные и курсовые в большинстве своём не требуют какого-либо особого проектирование, которое не уложится в мозг одного единственного разработчика и потому блок-схемы чаще делают после реализации, а должны быть на этапе проектирования для выявления потенциальных проблем и выстраивания общей картины.
Итог: в ВУЗах не раскрывают тему схем и их истинного назначения и потому люди ими просто не умеют пользоваться к моменту написания дипломов. Потом кого-то этому приучают на работе, кто-то доходит сам по необходимости, а кому-то они так и не нужны оказываются. Это всё конечно про UML, а не эти студенческие схемы в проекции строка кода = блок.
pu4koff вне форума Ответить с цитированием
Старый 09.03.2012, 22:14   #4
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Визуализации алгоритмов - нет.
Диаграммы классов, воркфловы и тд -да.
Levsha100 вне форума Ответить с цитированием
Старый 09.03.2012, 22:40   #5
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Иногда рисую блок схемы для сложных алгоритмов, которые в голове сложно представить.
Виталий Желтяков вне форума Ответить с цитированием
Старый 09.03.2012, 23:02   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

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

Рисую при помощи Dia.
Человек_Борща вне форума Ответить с цитированием
Старый 09.03.2012, 23:14   #7
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
А как у вас отношения с Блок-схемами?
Нормальное. В основном применяю их при составлении сложных, расчётных алгоритмов и если нужно расколоть логику чужой программы. Использую не стандартные (упрощённые) блоки.
Например: цикл for, записываю именно как for(.......)
Потом расчётный блок.
И заканчиваю блоком EndFor.
Ну и всё в том-же духе.
Получается более наглядно, чем по-госту.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 10.03.2012, 13:27   #8
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Не использую блок-схемы. Сложные алогритмы расписываю по пунктам на бумажке.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 10.03.2012, 15:30   #9
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Блок-схемы не,не слышали)не состовлял,не состовляю,в скором будующем наверно придется.
Кольша вне форума Ответить с цитированием
Старый 10.03.2012, 18:04   #10
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Когда только начинал учиться программировать на паскале(был 9м классе) первые полгода рисовали блок-схемы, потом выстраивали всю программу сначала комментариями, а потом реализовывали ее по порядку.
Типа:
Код:
//инициализация граф. библиотеки
//загрузка данных
//основной цикл
  //пункт 1
  //пункт 2
//конец основного цикла
//вывод конечных результатов и завершение программы
Только более детально. Сейчас рисую схемы только для организации базы данных или логического взаимодействия модулей/классов программы между собой.
Kostia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блок-схемы Raphael Помощь студентам 5 02.10.2010 21:00
Блок-Схемы Sos1 Помощь студентам 2 08.06.2010 23:47
Блок-схемы H_U_M_M_E_R Помощь студентам 0 17.05.2010 16:26
блок-схемы( Ankas Помощь студентам 1 10.05.2010 17:08
Блок-схемы С++ Wia Помощь студентам 10 23.12.2008 17:52