Глава 2. Программирование
«Программист обязан обладать способностью первоклассного математика к абстракции и логическому мышлению, эдисоновским талантом, уметь сооружать всё, что необходимо, из нуля и единицы. Он должен соединять в себе аккуратность банковского клерка с проницательностью разведчика, фантазию автора детективных романов с трезвой практичностью бизнесмена, кроме того, иметь вкус к коллективному труду…»
А.П. Ершов
В жизни, в профессиональной деятельности человек встречается с множеством практических задач. Для решения большинства из них можно использовать мощный и надёжный помощник – компьютер. Решение задач с использованием компьютера состоит из нескольких этапов:
1) постановка задачи;
2) анализ объекта моделирования и построение информационной модели;
3) алгоритмизация решения задачи – этовыбор компьютерного исполнителя, выбор метода проектирования алгоритма, проектирование алгоритма. В этой работе мы предлагаем в качестве компьютерного исполнителя выбирать системы: Ершол, QBasic, Turbo Pascal, Turbo Delphi, Visual Basic.Net, Visual C#. Чаще всего алгоритм решения поставленной задачи на этом этапе описывается словесно или с использованием блок-схем;
4) создание компьютерной модели – реализация алгоритма на компьютере, кодирование алгоритма для выбранного исполнителя;
5) тестирование и отладка программы;
6) анализ результатов моделирования;
7) доработка программы для решения конкретных задач, составление документации для использования компьютерной модели.
В реализации этих этапов ведущая роль отводится программисту или группе программистов – для решения большой задачи. Программист – это связующее звено между компьютером и задачей, которую машине предстоит решать. У программиста очень ответственная роль: он должен представить любую задачу в виде программы.
Ведущими программистами мира разрабатываются правила создания больших программных комплексов с целью дисциплинировать процесс их разработки, снизить их сложность и стоимость.
Современными методологиями процедурного проектирования программ являются «Структурное программирование» и «Объектно-ориентированное программирование». Лучшими программистами
70-х годов (Дейкстра[9], Вирт[10], Хоар[11] и др.) были разработаны строгие правила проектирования программ, которые получили название – структурная методология. Дейкстра в 1969 году на международной конференции впервые использовал термин «структурное программирование». Метод структурного программирования основан на предположении, что код в модуле легче пишется, читается, если он сконструирован из фиксированного набора базовых структур организации действий, управляющих структур, с ограниченным использованием оператора GOTO. Доказано, что организовать действия в любой сложной программе можно используя линейную комбинацию основных управляющих структур: следования, условных и циклических структур. Другим принципом структурной методологии является принцип «разделяй и властвуй», принцип декомпозиции. Декомпозиция используется для разбиения программы на компоненты (модули), которые затем могут быть объединены, позволяя решить основную задачу. Модуль[12] – это конструкция, объединяющая и надежно скрывающая детали реализации определенной подзадачи, выполняемой модулем. Выполняемые локальные действия модулем должны быть гарантировано независимыми от влияния других частей основной программы при любых изменениях и коррекциях. Основные концепции структурного программирования: вся программа построена из модулей; модуль – это независимый блок, код которого физически и логически отделен от кода других модулей; каждый модуль имеет единственную точку входа/выхода; идентификаторы всех переменных и модулей должны быть смысловыми; идентификаторы, относящиеся к одному типу должны начинаться с одинакового префикса, указывающего этот тип; при кодировании использовать только стандартные управляющие конструкции; при оформлении программы использовать «ступенчатую» форму записи кода: вложенные операторы и серии команд, входящих в составные команды, при записи сдвигаются на несколько позиций влево относительно записи операторов, которым они принадлежат.
Визуальное объектно-ориентированное программирование является развитием технологии алгоритмического структурного программирования. Объектно-ориентированное программирование – это методология программирования, которая основана на представлении программы в виде совокупности объектов. Процесс разработки программы в среде визуального объектно-ориентированного программирования сводится к выбору набора объектов и их свойств, заданию событий и процедур их обработки, которые в совокупности обеспечивают решение поставленной задачи.
На практике при создании крупных проектов рекомендуется применять обе методологии разработки программ: «Структурное программирование» и «Объектно-ориентированное программирование». Целесообразно сначала применять объектно-ориентированный подход для создания общей иерархии объектов, отражающих сущность программируемой задачи, а затем использовать структурную методологию для упрощения разработки программного кода.
Дата добавления: 2015-01-26; просмотров: 2864;