IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Зачем нужны блок-схемы?
Зачем нужны блок-схемы?
Всего голосов: 0
Гости не могут голосовать 
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


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

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

Какое ваше мнение?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Одними программистами мир не ограничен. Представь, человек учится НЕ на программиста. Его ЗАСТАВЛЯЮТ изучать язык программирования. Он пишет простейший код, из нескольких циклов и операторов условия. Приходит его сдавать, и ... Преподаватель дает ему по шее, потому что нет блок-схемы. Зачем экономисту умение чертить блок-схемы? Зачем ему вообще умение программировать, ты не хочешь спросить? Ты спрашиваешь что такое блок-схема, ага. Для кого? Для программиста - рабочий инструмент, для НЕпрограммиста - лишняя головная боль.

Такой вот головной болью для меня в свое время были "История КПСС" + "Философия" + "Религия и Атеизм". Не расскажешь мне, зачем программист должен получать экзамен по атеизму? Я не поступал в семинарию, я поступал на факультет АСУ, кафедра ВМКСС. У меня в дипломе есть оценка такая. Как я ее получал - это вообще отдельная песня, но этот предмет отнимал мое время и мешал сконцентрироваться на профильных предметах.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Цитата
Представь, человек учится НЕ на программиста

О майн гад!!!!!!!!А такие Бывают?!?!?!Все для меня настал апокалипсис....

А если по существу.Третий вариант,это абсолютная глупость.Зачем преподавателю сидеть и копаться в чужих каракулях,если он может допустим взять запустить программу и протестировать ее,даже если преподаватель будет вникать в код,то он найдет ошибку,если таковая есть,а тут еще придется схему проверять,а это дополнительная нагрузка.(в расчет не берутся варианты когда сама блок схема составлена неправильно,ибо это уже свидетельствует о том, что человек самого алгоритма не понимает).
ДЛя начала надо понять,что вообще такое блок-схема.По сути это набор простейших,базовых действий,присущих любому языку программирования,выполнение которых приведет к необходимому результату.Поэтому можно выделить в блок схеме 3 основных сегмента:условие,цикл,действие(я не помню как называется,но обозначается вроде прямоугольником).Я опустил такие моменты как ввод и вывод данных,они не особо интересуют.В итоге блок-схема-это некоторая интерпретация твоего алгоритма,записанная в виде действий, приведенных мною выше.Огромнейший плюс блок схемы на мой взгляд это то,что она универсальна.Если перейти непосредственно к програмированию,то наличие блок схемы позволяет при знании синтаксиса и семантики записать на любом языке программу и она будет работать(если не допустить ошибок в самом написании).Так же зачастую серьезные проекты не делаются в одиночку,и в связи с этим наличие блок схемы позволяет передать суть без глубокого осмысления кода,а вникнуть в чужой код иногда задача более трудная,чем написать самому,да и не всегда можно подобрать слова,чтобы усно обьяснить человеку свой алгоритм,так же, если задача параллельно распряделяется между несколькими людьми,то с блок схемой намного проще разграничить "сферы влияния" каждого их участвующий программистов.
Это все сугубо для программистов и тех,кто на них учиться.

Если рассмотреть для гуманитариев или экономистов,то для них зачастую написание блок схемы эквивалентно написанию самой программы..Тобиш преподаватель может не требовать рабочей программы,а посмотреть блок схему ,задать пару вопросов и уже выяснить понимает ли человек то,что от него требуется, способен ли он выстроить логическую цепочку,приводящую к нужному результату.
Это я наверно дополняю Volvo.Когда блок схема начерчена на бумаге,то это твой алгоритм,если в нем ошибка,то кроме как признать ее и исправить ничего сделать не получится,а если алгоритм в голове,,то можно начать крутить вертеть,дескать ,а я это думал,но забыл,мне показалось это неверным и тд.А заставляют чертить эти схемы непрограммистов,для того чтобы научить логически думать,а для гуманитариев этот вопрос стоит довольно остро,на то и идет разделение на гуманитарные и технические науки.

P.S.Инвини конешно,но ты часто видел заказчиков,которым интересно как ты реализовывал поставленную задачу,Лично мне кажется,что заказчика интересует сугубо работоспособность и производительность,ну и еще функционал твоей программы-проекта,потому что зачастую проект ты представляеш челвоеку,у которого не обязательно есть техническое образование......

Сообщение отредактировано: Krjuger -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
Инвини конешно,но ты часто видел заказчиков,которым интересно как ты реализовывал поставленную задачу
Постоянно вижу, дальше что? Кроме того, они не только интересуются, как и какими средствами я решал задачу, на каком языке, и т.д., так еще интересуется, какие тесты программа проходила, какому уровню безопасности соответствует. Может, дело в том, что не у всех на уме общие тенденции "заработало и ладно, впарим так, еще нам и за исправления платить будут" с одной стороны, и "да ладно, пока работает - пусть работает. Хоть и корявенько, зато быстро и недорого" с другой?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Возможно вы меня не совсем правильно поняли,ну или я не совсем правильно выразил свою мысль.Но я не подразумевал впаривание некачественного продукта по принципу "работает ну и ладно".
Цитата
какие тесты программа проходила, какому уровню безопасности соответствует

Тут я совершено согласен,про это я забыл просто упомянуть.

А имелось в виду,что ты не будет стоять перед заказчиком и приводить доказательство того,что выбранный тобой алгоритм имеет наименьшее время выполнения,наименьшее число итераций или наименьшую глубину рекурсии и тд(имеются в виду чисто математические выкладки).Я больше чем уверен,что людей будет интересовать производительность.Под производительностью я подразумеваю время выполнения задачи и ресурсы ,необходимые для выполнения этой программы.Про использование языка...ну тут я подразумевал,что используется постоянно один язык.И как бы нету выбора на чем писать.

Просто уровень безопастости,какие тесты проходила...На все это грубо говоря можно ответить,есть планка ниже которой программа признается некачественным продуктом,а дальше действует принцип "больше-лучше",ну а для пораментов производительности(время и ресурсы) наоборот "меньше-лучше" и так же существует планка,которую заказчик предварительно выставил для своего желаемого продукта.Но все это может судить и человек которых не явзяется программистом или математиком.Благо считать и различять цифорки всех в школе учили.А вот если представить схему,начать обьяснять причины того,почему была выбранна эта схема,доказать,что это наиболее оптимальный вариант и тд и тп.То понять это может челвоек у которого есть образование программиста или математика,ну или другой технической специальности с глубокой математической базой.Я не спорю,что есть фирмы,в которых создаются и выполняются проекты,которые требуют полнейшего и досканального отчета,но таких фирм к сожалению в нашей стране дай бог по пальцам пересчитать,если таковые имеются.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Знаток
****

Группа: Пользователи
Сообщений: 303
Пол: Мужской
Реальное имя: Роман

Репутация: -  2  +


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

Примером можно привести визуальный язык для описания алгоритмов: Язык ДРАКОН. Российская разработка, между прочим.


--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Есть куча программ, делающих блок-схему по исходному коду программ. Например diamFC или FCEditor.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Цитата
Например diamFC

Это вот эта что-ли? Ну-ну...

Еще раз: не блок-схему надо генерировать по коду программы, а наоборот, программу писать, имея на руках блок-схему. Когда же вы встанете уже с головы на ноги?
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.04.2024 8:06
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name