Опубликован: 11.02.2005 | Доступ: свободный | Студентов: 19 / 0 | Оценка: 4.19 / 3.88 | Длительность: 16:12:00
ISBN: 978-5-9556-0023-X
Лекция 18:

Методы по отношению к стилям

< Лекция 17 || Лекция 18
Ключевые слова: конкретизация

Мы рассмотрим лишь методы высшего уровня. Их конкретизации (например, метод динамического программирования как конкретизация метода потока данных), конечно же, подчиняются общим закономерностям, но могут из-за большей конкретности либо сглаживать их, либо обострять1Чаще всего в одних аспектах они сглаживают концептуальные противоречия (не устраняя их полностью), а в других обостряют.. Скажем, метод динамического программирования приводит к почти безнадежной неэффективности либо неэстетичности программ во всех стилях, кроме циклического варианта структурного стиля.

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

  1. Метод потока данных.

    Отлично сочетается со структурным программированием в его циклической форме. Даже если поток данных слишком сложен для прямого представления в качестве структуры данных в программе, он является ядром понимания и перестройки алгоритма, заставляя осознать и документировать сеть данных.

    Хорошо сочетается:

    • с программированием от событий, если данные сами по себе не слишком сложные, а их взаимосвязи в потоке динамичны;
    • с сентенциальным программированием в форме конкретизации, если данные достаточно широкие, иерархически структурированы, а их перестройки в основном глобальные.

    Плохо сочетается с сентенциальными методами унификации и возвратов, программированием от приоритетов, функциональным программированием, автоматным программированием.

  2. Метод таблиц.

    Отлично сочетается с автоматным программированием как в последовательной, так и в параллельной форме.

    Хорошо сочетается с сентенциальным программированием в обоих видах и с программированием от приоритетов.

    Удовлетворительно сочетается с функциональным программированием.

    Плохо сочетается с программированием от событий и со структурным программированием в обеих формах.

  3. Метод нисходящего проектирования.

    Отлично сочетается со структурным программированием в обеих формах, с функциональным программированием и с унификационным вариантом сентенциального.

    Удовлетворительно либо плохо сочетается со всеми остальными.

  4. Метод восходящего проектирования.

    Отлично сочетается со всеми формами событийного и автоматного программирования.

    Удовлетворительно либо плохо сочетается с остальными.

  5. Метод программирования в ширину.

    Отлично сочетается с сентенциальным программированием, с событийным и автоматным программированием.

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

  6. Метод макроподстановок.

    Отлично сочетается с функциональным и сентенциальным программированием.

    Плохо сочетается с остальными.

  7. Метод динамического порождения программ.

    Отлично сочетается с функциональным и сентенциальным программированием.

    Плохо сочетается с остальными.

  8. Метод индукции и инвариантов.

    Отлично сочетается с рекурсивным вариантом структурного программирования.

    Хорошо сочетается с циклическим вариантом рекурсивного программирования, когда поток данных простой, и с унификационным вариантом сентенциального программирования.

    Плохо сочетается со всеми остальными.

< Лекция 17 || Лекция 18
Федор Антонов
Федор Антонов

Здравствуйте!

Записался на ваш курс, но не понимаю как произвести оплату.

Надо ли писать заявление и, если да, то куда отправлять?

как я получу диплом о профессиональной переподготовке?

Илья Ардов
Илья Ардов

Добрый день!

Я записан на программу. Куда высылать договор и диплом?


( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.5791103757488watchdog( )../bootstrap.inc:0
24.5797103759928module_invoke( )../bootstrap.inc:967
34.5797103761784call_user_func_array ( )../module.inc:462
44.5797103762120devel_watchdog( )../module.inc:462
54.5799103762968decode_entities( )../devel.module:382
64.5800103764888drupal_error_handler( )../devel.module:340
74.5800103768512watchdog( )../common.inc:663
84.5801103770552module_invoke( )../bootstrap.inc:967
94.5801103772408call_user_func_array ( )../module.inc:462
104.5801103772744devel_watchdog( )../module.inc:462
114.5802103773440decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.5791103757488watchdog( )../bootstrap.inc:0
24.5797103759928module_invoke( )../bootstrap.inc:967
34.5797103761784call_user_func_array ( )../module.inc:462
44.5797103762120devel_watchdog( )../module.inc:462
54.5799103762968decode_entities( )../devel.module:382
64.5800103764888drupal_error_handler( )../devel.module:340
74.5800103768512watchdog( )../common.inc:663
84.5801103770552module_invoke( )../bootstrap.inc:967
94.5801103772408call_user_func_array ( )../module.inc:462
104.5801103772744devel_watchdog( )../module.inc:462
114.5802103773440decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.5791103757488watchdog( )../bootstrap.inc:0
24.5797103759928module_invoke( )../bootstrap.inc:967
34.5797103761784call_user_func_array ( )../module.inc:462
44.5797103762120devel_watchdog( )../module.inc:462
54.5799103762968decode_entities( )../devel.module:382
64.5815103765080drupal_error_handler( )../devel.module:340
74.5816103768768watchdog( )../common.inc:663
84.5816103770808module_invoke( )../bootstrap.inc:967
94.5816103772664call_user_func_array ( )../module.inc:462
104.5816103773000devel_watchdog( )../module.inc:462
114.5817103773776decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.5791103757488watchdog( )../bootstrap.inc:0
24.5797103759928module_invoke( )../bootstrap.inc:967
34.5797103761784call_user_func_array ( )../module.inc:462
44.5797103762120devel_watchdog( )../module.inc:462
54.5799103762968decode_entities( )../devel.module:382
64.5815103765080drupal_error_handler( )../devel.module:340
74.5816103768768watchdog( )../common.inc:663
84.5816103770808module_invoke( )../bootstrap.inc:967
94.5816103772664call_user_func_array ( )../module.inc:462
104.5816103773000devel_watchdog( )../module.inc:462
114.5817103773776decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.5831103758032watchdog( )../bootstrap.inc:0
24.5831103760072module_invoke( )../bootstrap.inc:967
34.5831103761928call_user_func_array ( )../module.inc:462
44.5831103762264devel_watchdog( )../module.inc:462
54.5832103762968decode_entities( )../devel.module:382
64.5833103764888drupal_error_handler( )../devel.module:340
74.5833103768496watchdog( )../common.inc:663
84.5833103770536module_invoke( )../bootstrap.inc:967
94.5834103772392call_user_func_array ( )../module.inc:462
104.5834103772728devel_watchdog( )../module.inc:462
114.5835103773424decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.5831103758032watchdog( )../bootstrap.inc:0
24.5831103760072module_invoke( )../bootstrap.inc:967
34.5831103761928call_user_func_array ( )../module.inc:462
44.5831103762264devel_watchdog( )../module.inc:462
54.5832103762968decode_entities( )../devel.module:382
64.5833103764888drupal_error_handler( )../devel.module:340
74.5833103768496watchdog( )../common.inc:663
84.5833103770536module_invoke( )../bootstrap.inc:967
94.5834103772392call_user_func_array ( )../module.inc:462
104.5834103772728devel_watchdog( )../module.inc:462
114.5835103773424decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.5831103758032watchdog( )../bootstrap.inc:0
24.5831103760072module_invoke( )../bootstrap.inc:967
34.5831103761928call_user_func_array ( )../module.inc:462
44.5831103762264devel_watchdog( )../module.inc:462
54.5832103762968decode_entities( )../devel.module:382
64.5845103765080drupal_error_handler( )../devel.module:340
74.5845103768768watchdog( )../common.inc:663
84.5845103770808module_invoke( )../bootstrap.inc:967
94.5846103772664call_user_func_array ( )../module.inc:462
104.5846103773000devel_watchdog( )../module.inc:462
114.5847103773776decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
14.5831103758032watchdog( )../bootstrap.inc:0
24.5831103760072module_invoke( )../bootstrap.inc:967
34.5831103761928call_user_func_array ( )../module.inc:462
44.5831103762264devel_watchdog( )../module.inc:462
54.5832103762968decode_entities( )../devel.module:382
64.5845103765080drupal_error_handler( )../devel.module:340
74.5845103768768watchdog( )../common.inc:663
84.5845103770808module_invoke( )../bootstrap.inc:967
94.5846103772664call_user_func_array ( )../module.inc:462
104.5846103773000devel_watchdog( )../module.inc:462
114.5847103773776decode_entities( )../devel.module:382