![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#11 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
А в функциональном программировании это не только последовательность, но и часто последовательность одних и тех же шагов (фактически все алгоритмы можно выразить рекурсией).
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 20.06.2008
Сообщений: 125
|
![]()
1) Техническое задание:
Определяется функционал программы, требования, интерфейсы. Изливается на бумагу. 2) Алгоритмы: Рождается идея, основные алгоритмы. Делается их приблизительная оценка по времени и по памяти. Делается оценка сложноти написания. Поиск альтернатив. 3) Первый этап проектирования: Программа приблизительно структурирутеся, разбивается на подпрограммы, выделяются объекты. Всё это изливается на бумагу. 4) Второй этап проектирования: Четко определяется основное интерфейс. Берётся подпрограмма наивысшей иерархии. Приблизительно определятеся её код, определяются места вызова подпрограмм. Четко определяются требования к каждой подпрограмме. К каждому методу объекта. Константность. И т.д. Задаются вопросы: что может пойти не так. Тоже самое теперь выполняется вглубь для всех подпрограмм. 5) Программирование: Берётся любой из объектов, стоящий в самом низу иерархии. Пишется его public интерфейс в соответствии с установленными требованиями. Проверятся константность. Пишется ptivate интерфейс, объявляются внутренние поля. Пишется метод с минимальной иерархией. Код просматривается и проверятеся на глаз. Происходит оформление и оптимизация. После написания всего объекта, опять же код проверятеся на глаз. Происходит тестирование объекта на тех тестах на которых это возможно. Все флаги компилятора ставятся на максимальный дебаг. И т.д. для остальных подпрограмм. |
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 10.09.2009
Сообщений: 352
|
![]()
В том способе, что предлагает Wiki, есть один недостаток - часто бывает сложно сразу определить вершину, основу, с которой начинается разработка. Особенно в сложных рекурсивных алгоритмах. Но это, пожалуй, лучший способ.
|
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
![]()
Полный текст статьи:
http://ru.wikipedia.org/wiki/Структу...ограммирование Помню лет 10 назад читал такой же текст в какой-то книге. Все зависит от поставленной задачи и языка программирования, например, для паскаля все данные действия разработки являются вполне правильными (все-таки "структурный" язык). Для объектно-ориентированного программирования последовательность действий из данной статьи может немного измениться и дополнена. А для некоторых языков программирования описанная последовательность действий может быть даже неправильной. Так что, все зависит от поставленной задачи.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
![]() |
![]() |
![]() |
#15 |
Форумчанин
Регистрация: 02.04.2010
Сообщений: 104
|
![]()
Проще и понятнее писать программу когда известен и отлажен алгоритм.
Поэтому я его предварительно набрасываю в Labview или GenieDAQ, а потом перевожу (если заказчик требует программу на другом языке программирования) на другой язык или делаю дистрибутив исполнительской среды. ...Легче писать громадное техописание (листов 200-300), если перед вами принципиальная схема (листа 2-3) |
![]() |
![]() |
![]() |
#16 | |
Пользователь
Регистрация: 05.12.2009
Сообщений: 52
|
![]() Цитата:
![]() ИМХО самый лучший метод - тот который описан в этой книге. |
|
![]() |
![]() |
![]() |
#17 | |
Форумчанин
Регистрация: 18.08.2009
Сообщений: 289
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программные разработки | romec1 | Помощь студентам | 12 | 19.04.2010 01:41 |
Способы и методы кроссплатформенной разработки... | SmirnoFF.Oleg | Qt и кроссплатформенное программирование С/С++ | 6 | 16.12.2009 10:44 |
среда разработки на С++ | AIst | Общие вопросы C/C++ | 2 | 20.01.2009 15:44 |
Средства визуальной разработки программ | Катюшoк | Общие вопросы Delphi | 4 | 19.01.2008 20:02 |
Загрузка программ из др. программ в АСМе | Shacal | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 7 | 05.02.2007 08:53 |