
- •Глава 1 Понятие, сущность и история развития понятия «текстовой документ» 4
- •Глава 2. Процесс подготовки текстового документа 14
- •Билет 63 Основные компоненты языка программирования Turbo Pascal: алфавит, словарь, набор операций, выражения, операторы, система синтаксических правил.
- •62. Билет
- •61.Билет Понятие системы программирования
- •60. Билет*! Эволюция технологий программирования. Стадии преобразования программных модулей.
- •59.Билет Классификация языков программирования.
- •58.Билет Стандартные алгоритмы. Язык программирования как средство представления алгоритма.
- •57.Билет*! Основные алгоритмические конструкции: следование, цикл, переход, ветвление.
- •56.Билет*! Способы представления алгоритмов. Блок-схемы.
- •55.Билет Общее понятие алгоритма. Свойства компьютерных алгоритмов.
60. Билет*! Эволюция технологий программирования. Стадии преобразования программных модулей.
Первый этап — «стихийное» программирование.
Первые программы имели простейшую структуру. Они состояли из собственно программы на машинном языке и обрабатываемых ею данных. Создание языков программирования высокого уровня, таких как FORTRAN и ALGOL, существенно упростило программирование вычислений, снизив уровень детализации операций. Это, в свою очередь, позволило увеличить сложность программ. Революционным было появление в языках средств, позволяющих оперировать подпрограммами. Подпрограммы можно было сохранять и использовать в других программах. В результате были созданы огромные библиотеки расчетных и служебных подпрограмм, которые по мере надобности вызывались из разрабатываемой программы. Типичная программа того времени состояла из основной программы, области глобальных данных и набора подпрограмм, выполняющих обработку всех данных или их части. Слабым местом такой архитектуры было то, что при увеличении количества подпрограмм возрастала вероятность искажения части глобальных данных какой-либо подпрограммой. Чтобы сократить количество ошибок в подпрограммах, было предложено размещать локальные данные.
Второй этап — структурный подход к программированию (60—70-е годы XX в.). В основе структурного подхода лежит декомпозиция (разбиение на части) сложных систем с целью последующей реализации в виде отдельных небольших (до 40—50 операторов) подпрограмм. С появлением других принципов декомпозиции (объектного, логического и т. д.) данный способ получил название процедурной декомпозиции. Поддержка принципов структурного программирования была заложена в основу так называемых процедурных языков программирования. Среди наиболее известных языков этой группы - PL/1, ALGOL-68, Pascal, С. Модульное программирование предполагает выделение групп подпрограмм, использующих одни и те же глобальные данные в отдельно компилируемые модули (библиотеки подпрограмм), например модуль графических ресурсов, модуль подпрограмм вывода на принтер. Связи между модулями при использовании данной технологии осуществляются через специальный интерфейс, в то время как доступ к реализации модуля (телам подпрограмм и некоторым «внутренним» переменным) запрещен. Использование модульного программирования существенно упростило разработку программного обеспечения несколькими программистами.
Третий этап — объектный подход к программированию (с середины 80-х до конца 90-х годов XX в.). Объектно-ориентированное программирование определяется как технология создания сложного программного обеспечения, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного типа (класса), а классы образуют иерархию с наследованием свойств. Взаимодействие программных объектов в такой системе осуществляется путем передачи сообщений. Основными достоинствами ООП по сравнению с модульным программированием является «более естественная» декомпозиция ПО, более полная локализация данных и интеграция их с подпрограммами обработки, что позволяет вести практически независимую разработку отдельных частей (объектов), новые способы организации программ, основанные на механизмах наследования, полиморфизма, композиции, наполнения.
Четвертый этап — компонентный подход и CASE-технологии (с середины 90-х годов XX в. до нашего времени). Компонентный подход предполагает построение ПО из отдельных компонентов физически отдельно существующих частей ПО, которые взаимодействуют между собой через стандартизованные двоичные интерфейсы. Компонентная объектная модель (СОМ - Component Object Model) — фундамент компонентно-ориентированных средств для всего семейства операционных систем Windows. СОМ определяет стандартный механизм, с помощью которого одна часть программного обеспечения предоставляет свои услуги другой части. Общая архитектура предоставления услуг в библиотеках, приложениях, системном и сетевом программном обеспечении позволяет СОМ изменить подход к созданию программ. СОМ устанавливает понятия и правила, необходимые для определения объектов и интерфейсов; кроме того, в ее состав входят программы, реализующие ключевые функции. В СОМ любая часть ПО реализует свои услуги с помощью объектов СОМ. Каждый объект СОМ поддерживает несколько интерфейсов. Клиенты могут получить доступ к услугам объекта СОМ только через вызовы операций его интерфейсов — у них нет непосредственного доступа к данным объекта. Отличительной особенностью современного этапа развития технологии программирования является создание и внедрение автоматизированных технологий разработки и сопровождения программного обеспечения, которые были названы CASE-технологиями (Computer-Aided Software/ System Engineering — разработка программного обеспечения программных систем с использованием компьютерной поддержки). При использовании методологий структурного анализа появился ряд ограничений (сложность понимания, большая трудоемкость и стоимость использования, неудобство внесения изменений в проектные спецификации и т.д.) С самого начала CASE-технологии и развивались с целью преодоления этих ограничений путем автоматизации процессов анализа и интеграции поддерживающих средств.