
- •Федеральное агентство по образованию
- •2. Краткие сведения из теории
- •3. Техническое задание на разработку автоматизированной задачи
- •4. Программная реализация задачи
- •4.1. Организация программирования
- •4.2. Операционная система
- •4.3. Выбор языка программирования
- •4.4. Процесс программирования
- •4.5. Отладка программ
- •5. Инструкция по эксплуатации задачи
- •6. Оформление работы
- •7. Литература
- •1. Введение
- •2. Характеристика задачи
- •3. Требования к функциональным характеристикам задачи
- •4. Описание алгоритма (математическое обеспечение)
- •A – строительный объект, для которого проводится расчет (так как расчеты по отдельным объектам между собой не связаны, то данный индекс в дальнейшем не используется);
- •Эта площадь рассчитывается по формуле
- •5. Требования к информационному обеспечению
- •Перечень показателей
- •Перечень входных документов, экранов и массивов
- •Перечень выходных показателей
- •Перечень выходных документов, экранов и массивов
- •Проект складских помещений
- •Общая площадь складских помещений ххххх.Х м2
- •Номера и наименования вершин графа
- •6. Требования к программному обеспечению
- •7. Требования к техническому обеспечению
- •8. Контрольный пример
- •9. Приложения
4.3. Выбор языка программирования
Когда создается программная система для решения какой-либо частной задачи, возникает вопрос о выборе для этой цели наиболее подходящего языка программирования. Во многих случаях такой выбор определяется такими практическими факторами, как умение составлять программы на том или ином языке и доступность того или иного транслятора. Однако, при реальной возможности выбора языков программирования следует учитывать особенности математической постановки решаемой задачи и условия ее эксплуатации.
Основные языки высокого уровня, используемые для решения задач на персональных компьютерах: Фортран, Паскаль, Бейсик, Си.
Кроме перечисленных языков программистам автоматизированных систем предлагается большой ряд других программных продуктов, в том числе и для решения прикладных задач, функционально совместимых с системами управления базами данных (СУБД).
Так как для решения задач проектирования организации строительства и разработки организационно-технологической документации строительства широко используется нормативная, технологическая и экономическая информация, необходима разработка формальных структур данных, позволяющих их использовать в разнообразных прикладных задачах и оптимизировать вычислительный процесс. Системы управления структурированными наборами данных носят наименование Систем управления базами данных (СУБД). СУБД обычно включает несколько типов языков:
4.4. Процесс программирования
Программы решения задач составляют прикладное программное обеспечение системы автоматизации. Процесс программирования начинается с анализа математического алгоритма, а также функциональной схемы решения задачи и построения на их основе блок-схемы программы, состоящей из взаимодействующих подпрограмм и программных модулей. При составлении схемы не обходимо заботиться о том, чтобы легко было проследить логическую нить программы.
Схема служит удобной исходной формой представления программы для анализа различных вариантов ее исполнения. Контрольный вариант исполнения программы представляет собой путь, начинающийся в блоке, содержащем вход в программу, проходит по другим блокам и заканчивается в блоке, содержащем выход из программы. В корректно составленной схеме программы через каждый блок должен проходить хоть один путь, связанный с некоторым вариантом исполнения программы. Рассматривая схему без учета условий решающих блоков и функциональных связей между ними, можно указать на два случая нарушения условий принадлежности вершины хотя бы одному пути. Один из случаев состоит в том, что некоторый блок вообще не достигается ни по одному из путей, идущих от входов программы. В другом случае из некоторого блока или совокупности блоков не существует ни одного пути, ведущего хотя бы к одному выходу из программы. В первом случае в программе имеется лишний блок, команды которого вообще никогда не исполняются, во втором случае - тупиковые блоки или совокупности блоков, образующие тупиковые пути или циклы, из которых нет путей к выходным программам-
При проектировании прикладной программной системы необходимо ответить на несколько принципиальных вопросов, касающихся обшей структуры программы и способа взаимодействия отдельных ее компонентов. При этом должны быть определены следующие характеристики будущего программного продукта:
А. Состав исходного текста программы
- единый текст на языке программирования,
- отдельные текстовые модули, составляемые независимо.
Б. Структура исполняемой программы
- единый модуль, полностью загружаемый в оперативную память при запуске системы,
- несколько сегментов, загружаемых в оперативную память по мере необходимости,
Различные сочетания указанных характеристик приводят к построению прикладных систем, сильно отличающихся друг от друга. Варианты А влияют на способ и качество разработки. Варианты Б оказывают воздействие на оперативные характеристики системы - объем требуемой памяти и быстродействие. Варианты В, с одной стороны, влияют на быстродействие при доступе к данным, с другой стороны - на характер использования и экономию внешней памяти.
Самый простой способ разработки программ не предполагает применения каких-либо приемов деления на модули или сегменты. Для составления такой программы обычно используется текстовый редактор общего назначения или редактор, встроенный в систему. Программа включает описания типов данных, переменных и констант. Важнейшими компонентами программы являются процедуры и функции, которые обеспечивают структуризацию программы на уровне исходных текстов. В исходном тексте можно выделить три основных компонента
- заголовок программы - название, список параметров, описания типов, глобальных переменных, констант,
- описание процедур - их заголовки с описаниями параметров и тела, состоящие из выражений,
- тело программы - последовательность выражений, среди которых встречаются обращения к определенным выше процедурам.
Таким образом, структуризация программы на уровне исходного текста обеспечивается благодаря оформлению отдельных частей алгоритмов в виде процедур и последующему вызову этих процедур в теле программы. Все необходимые связи между формальными и фактическими параметрами процедур устанавливаются транслятором языка программирования.
Обычно используется две весьма распространенные технологии программирования. Нисходящее программирование (программирование "сверху-вниз" базируется на идее декомпозиции программы на ряд программных модулей. Строится программа, в которой эти модули выступают как некоторые именованные процедуры, к которым можно организовать обращение. Те модули, которые еще не обработаны, временно заменяются программистскими "заглушками", что позволяет иметь действующий вариант программы, годный для первого шага отладки и поиска улучшенных вариантов. После этого к отдельным модулям применяется такой же прием. Восходящее программирование (программирование "снизу-вверх") основано на противоположном процессе. Сначала пишутся и отлаживаются программы самого нижнего уровня, а потом постепенно из них собираются более крупные блоки. Эта процедура заканчивается тогда, когда вся программа будет собрана и отлажена.