Технология структурного программирования.
Технология программирования – это система методов, способов и приемов обработки и выдачи информации.
Структурное программирование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков.
Цели структурного программирования:
- Повысить надежность программ
- Повысить эффективность программ
- Уменьшить время и стоимость программной разработки
- Улучшить читабельность программ
Основные принципы структурной методологии:
- Принцип абстракции – этот принцип позволяет разработчику рассматривать программу в нужный момент без лишней детализации.
- Принцип формальности. Он предполагает строгий методический подход к программированию, придает творческому процессу определенную строгость и дисциплину.
- Принцип модульности. В соответствии с этим принципом программа разделяется на отдельные законченные фрагменты, модули, которые просты по управлению и допускают независимую отладку и тестирование.
- Принцип иерархического упорядочения. Взаимосвязь между частями программы должна носить иерархический, подчиненный характер.
Реализации структурного стиля программирования:
- Структура информационного пространства. Задача разбивается на подзадачи, и таким образом выстраивается дерево вложенности подзадач. Информационное пространство структурируется в точном соответствии с деревом вложенности
- Структуры управления. Стиль структурного программирования предполагает использование строго ограниченного набора управляющих конструкций: последовательность операторов, условные и выбирающие операторы, все вычислительные ветви которых сходятся в одной точке программы, а также процедуры, вычисления которых всегда заканчиваются возвратом управления в точку вызова.
- К структурным операторам добавляются либо циклы, либо рекурсии. Концептуальное противоречие между циклами и рекурсиями намного мягче, чем между операторами структурного программирования и структурными переходами, и оно отмечается лишь в виде изредка встречающихся прагматических указаний не смешивать их произвольно.
- Потоки передачи данных. Разбивая задачу на подзадачи, программист предусматривает их взаимодействие по данным: одни подзадачи передают другим данные для переработки.
- Структуры данных. Данные объединяются в логически связанные фрагменты, соответствующие структурам задачи либо вспомогательных конструкций, вводимых для ее решения.
Структурное программирование предполагает точно обозначенные управляющие структуры, программные блоки, отсутствие инструкций безусловного перехода (GOTO), автономные подпрограммы, поддержка рекурсии и локальных переменных.
Суть такого подхода заключается в возможности разбиения программы на составляющие элементы.
Основные принципы структурного программирования:
- Программа работает и решает поставленную задачу
- Минимальное время, затрачиваемое на тестирование и отладку программы
- Уменьшение затрат на сопровождение
- Гибкость программы
- Уменьшение затрат на разработку
- Простота и эффективность
Сборочное программирование – технология программирования, при которой программа собирается посредством повторного использования уже известных фрагментов программ.
Открытая система — это система, реализующая открытые спецификации на интерфейсы, службы и форматы данных, достаточные для того, чтобы обеспечить:
- возможность переноса (мобильность) прикладных систем, разработанных должным образом, с минимальными изменениями на широкий диапазон систем;
- совместную работу (интероперабельность) с другими прикладными системами на локальных и удаленных платформах;
- взаимодействие с пользователями в стиле, облегчающем последним переход от системы к системе (мобильность пользователей).
От применения технологии открытых систем выигрывают все категории специалистов, участвующих в процессе информатизации: пользователи, разработчики, производители и стандартизаторы.
Для обеспечения пользователей и проектировщиков прикладных систем современным инструментарием, позволяющим значительно сократить сроки проектирования и создания открытых систем, повысить качество проектов служит следующий набор средств:
- рекомендации по выбору инструментальных средств проектирования приложений, переносимых между различными аппаратными платформами и операционными средами;
- экспериментальные образцы программных средств для поддержки всего жизненного цикла открытых систем, в том числе — информационной базы, экспертной системы принятия проектных решений, интеллектуального инструментария для проектирования программного обеспечения;
- методы и средства моделирования (имитации) процессов взаимодействия в открытых системах;
- объектно-ориентированные средства проектирования и программирования открытых систем;
- методы и средства конструирования предметно-ориентированных языков, трансляторов с этих языков, синтаксически управляемых редакторов и интерпретирующих сред в открытых системах;
- исследования и разработка распределенных операционных систем и параллельных языков программирования, функционирующих в среде открытых систем.
- Важным инструментом для выявления взаимосвязи различных функциональных компонент, используемых прикладной системой в открытой среде, является модель такой среды.
Модель развивается и используется уже около двадцати лет. Она описывает систему взаимодействий в процессах обмена сообщениями и данными между прикладными системами в вычислительных сетях. Модель является наиболее проработанной с функциональной точки зрения, полноты набора стандартов и определения их совместимости друг с другом. Модель основана на разбиении среды на семь уровней, взаимодействие между которыми описывается соответствующими стандартами
Эта модель представляет собой попытку объединить различные подходы к классификации компонент среды. Она строится в виде матрицы 7х4, столбцы которой соответствуют видам взаимодействия (обслуживания) в системе: взаимодействие с пользователем, системные средства, доступ к данным, коммуникационные средства.
В рамках этой модели под прикладным обеспечением понимаются собственно прикладные программы, данные, а также документация и средства обучения пользователей.
Прикладная платформа состоит из аппаратной платформы и программного обеспечения. Сюда входят: операционная система, компиляторы, СУБД, графические системы, т. е. все средства, составляющие операционную среду для прикладных систем.
К внешней среде относятся все системные элементы, которые являются внешними по отношению к прикладной платформе и прикладному обеспечению. Это утилиты и подсистемы, реализуемые на других (удаленных) платформах, а также периферийные устройства.
Взаимодействие между прикладным обеспечением и прикладной платформой осуществляется с помощью Прикладных Программных Интерфейсов (API). В области API предусматривается четыре интерфейсных элемента для взаимодействия с: системными службами; коммуникационными службами; информационными службами; службами, обеспечивающими человеко-машинный интерфейс.
Основные принципы структурного программирования
Под структурным программированием понимают методы разработки и записи программ, которые ориентированы на максимальные удобства для восприятия и понимания ее человеком.
Структурное программирование – это процесс программирования на алгоритмическом языке с использованием определенных конструкций.
- Любая программа составляется на базе основных алгоритмических структур (линейной, разветвляющейся, циклической)
- Между этими структурами производится передача управления только вперед, что соответствует линии сверху вниз в блок-схеме
- Должна четко прослеживаться логика работы программы, т.е. не должно быть «скачков» на фрагменты программы, расположенные где-то в другом месте программы, т.е. не допускается пользоваться командой безусловной передачи управления из одного места программы в другое (например: команда перехода goto) без необходимости.
Трансляторы. Компиляторы. Интерпретаторы.
Для подготовки текста программы на любом алгоритмическом языке требуется специальная программа, называемая текстовым редактором – это первый инструмент при написании программ. ПК языков высокого уровня не понимает, поэтому придумали специальные программы, называемые трансляторами (translation — перевод). Транслятор – это программа, предназначенная для перевода (трансляции) описания алгоритма с одного формального языка на другой. Этап превращения программы, написанной на языке высокого уровня, в машинный код реализуется в двух вариантах:
- Транслятор берет из файла программу на языке высокого уровня и переводит на машинный язык всю целиком, записывая в файл с расширением *.obj. Программу, записанную в такой файл, называют объектный модуль, а транслятор, который выполняет такой перевод — компилятор
- Транслятор берет из файла программу на языке высокого уровня по одной команде (предписанию), транслирует (переводит на машинный язык) и сразу выполняет ее. Такой транслятор называется интерпретатор.
Превращение объектного модуля в исполняемую программу осуществляет редактор связи. Редактор связи берет из специальной системной библиотеки все необходимые для работы блоки, с помощью которых «склеивает» исполняемую программу. Объектный модуль представляет собой схему будущей программы. В нем отсутствуют связи с конкретной операционной системой, особенностями ее обмена с клавиатурой, диском, оперативной памятью и т.д. Системы структурного программирования предназначены для создания программ и включают в состав следующие компоненты:
- Текстовые редакторы (редакторы программ)
- Трансляторы (компилятор или интерпретатор)
- Редактор связи
Турбо Паскаль. Начальный курс
- Простой синтаксис языка. Небольшое число базовых понятий. Программы на Паскале достаточно легко читаемы.
- Достаточно низкие аппаратные и системные требования как самого компилятора, так и программ, написанных на Паскале.
- Универсальность языка. Язык Паскаль применим для решения практически всех задач программирования.
- Поддержка структурного программирования, программирования «сверху-вниз», а также объектно-ориентированного программирования.