Технология программирования - файл n1.doc

приобрести
Технология программирования
скачать (1234.5 kb.)
Доступные файлы (1):
n1.doc1235kb.07.07.2012 00:56скачать

n1.doc

  1   2   3   4   5   6   7   8   9   ...   15


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

Начальный курс посвящен изложению основ создания программ. Изложение ведется с использованием языка программирования Турбо Паскаль. Рассматриваются некоторые классические алгоритмы. Приводятся примеры решения типовых задач.

СОДЕРЖАНИЕ

1.Технология программирования. Основные понятия и подходы. 5

1.1. Технология программирования и основные этапы ее развития. 5

1.2. Жизненный цикл и этапы разработки программного обеспечения. 5

2. Постановка и алгоритмизация задач. 8

2.1. Понятие алгоритма. 8

2.2. Способы описания алгоритмов. 9

2.3. Структурные схемы алгоритмов. 11

3. Основы языка. 15

3.1.Алфавит языка. 15

3.2.Структура программы. 16

3.3.Основные функции среды ТУРБО ПАСКАЛЬ. 16

3.3.1.Функциональные клавиши. 17

3.3.2.Текстовый редактор среды. 17

3.3.3.Счет и отладка программы. 18

3.3.4.Справочная система. 18

4.Типы данных. 18

4.1.Целые типы. 19

4.2.Вещественные типы. 19

4.3.Логический тип. 20

4.4.Символьный тип. 21

4.5.Выражения. 21

4.6.Константы. 24

4.7.Совместимость типов данных. 26

5.Линейные алгоритмы. 26

5.1.Пустой и составной операторы. 27

5.2.Операторы присваивания. 27

5.3.Простейший ввод и вывод. 28

6.Разветвляющиеся алгоритмы. 29

6.1.Оператор перехода. 29

6.2.Условный оператор. 30

6.3.Оператор выбора. 31

7.Циклические алгоритмы. 32

7.1.Циклы с параметром. 32

7.2.Циклы с условием. 34

8.Пользовательские типы данных. 37

8.1.Перечисляемый тип. 37

8.2.Тип-диапазон. 38

8.3.Массивы. 39

8.4.Записи. 40

8.5.Множества. 43

9.Работа со строками. 46

10.Процедуры и функции. 48

10.1.Параметры-значения. 50

10.2.Параметры-переменные. 51

10.3.Параметры-константы. 51

10.4.Открытые параметры-массивы. 52

10.5.Бестиповые параметры. 53

10.6.Процедурные типы. 54

10.7.Рекурсия. 54

11.Типизированные константы. 56

12.Модули. 57

13.Алгоритмы поиска. 60

13.1.Линейный поиск. 60

13.2.Поиск с барьером. 61

13.3.Двоичный (бинарный) поиск. 62

14.Алгоритмы сортировки. 65

14.1.Сортировка выбором. 66

14.2.Сортировка обменом (методом «пузырька»). 67

14.3.Сортировка включением. 70

15.Файлы. 72

15.1.Текстовые файлы. 75

15.2.Компонентные файлы. 77

15.3.Бестиповые файлы. 79

15.4.Последовательный и прямой доступ. 80

16.Модуль CRT (основные возможности). 82

ВВЕДЕНИЕ
Первая версия языка Паскаль была разработана швейцарским ученым Никлаусом Виртом в 1968 году. Первоначально язык предназначался для целей обучения, поскольку он является достаточно детерминированным, т.е. все подчиняется определенным правилам, исключений из которых не так много. Основные характеристики: относительно небольшое количество базовых понятий, простой синтаксис, быстрый компилятор для перевода исходных текстов в машинный код.

В 1992 г. фирма Borland International выпустила два пакета, основанных на языке Паскаль: Borland Pascal 7.0 и Turbo Pascal 7.0. Первый может работать в трех режимах - обычном и защищенном режимах MS DOS и в системе Windows. Для него необходимо порядка 30 Мбайт на жестком диске и около 2 Мбайт оперативной памяти. Турбо Паскаль 7.0 работает только в обычном режиме MS DOS и менее требователен к характеристикам компьютера. Поскольку основные компоненты, которые мы будем рассматривать в нашем курсе, совпадают в обоих продуктах, в дальнейшем будет использоваться название Турбо Паскаль.

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


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

1.1. Технология программирования и основные этапы ее развития.


Технологией программирования называют совокупность методов и средств, используемых в процессе разработки программного обеспечения. Как любая другая технология, технология программирования представляет собой набор технологических инструкций, включающих:

• указание последовательности выполнения технологических операций;

• перечисление условий, при которых выполняется та или иная операция;

• описания самих операций, где для каждой операции определены исходные данные, результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки и т. п. (рис.1.1).

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

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

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



Рис. 1.1. Структура описания технологической операции

1.2. Жизненный цикл и этапы разработки программного обеспечения.


Жизненным циклом программного обеспечения называют период от момента появления идеи создания некоторого программного обеспечения до момента завершения его поддержки фирмой-разработчиком или фирмой, выполнявшей сопровождение.

Состав процессов жизненного цикла регламентируется международным стандартом ISO/1EC 12207: 1995 «Information Technologe - Software Life Cycle Processes» («Информационные технологии - Процессы жизненного цикла программного обеспечения»). ISO - International

Organization for Standardization - Международная организация по стандартизации. ГЕС -International Electrotechnical Commission - Международная комиссия по электротехнике.

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


Рис.1.2. Структура процессов жизненного цикла программного

обеспечения.
По стандарту процесс разработки включает следующие действия:

• подготовительную работу - выбор модели жизненного цикла (см. далее), стандартов,методов и средств разработки, а также составление плана работ;

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

• проектирование архитектуры системы - определение состава необходимого оборудования, программного обеспечения и операций, выполняемых обслуживающим персоналом;

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

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

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

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

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

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

• интеграцию системы - сборку всех компонентов системы, включая программное обеспечение и оборудование;

• квалификационное тестирование системы - тестирование системы на соответствие требованиям к ней и проверка оформления и полноты документации;

• установку программного обеспечения - установку программного обеспечения на оборудовании заказчика и проверку его работоспособности;

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

Указанные действия можно сгруппировать, условно выделив следующие основные этапы разработки программного обеспечения [10] (в скобках указаны соответствующие стадии разработки по ГОСТ 19.102-77 «Стадии разработки»):

• постановка задачи (стадия «Техническое задание»);

• анализ требований и разработка спецификаций (стадия «Эскизный проект»);

• проектирование (стадия «Технический проект»);

• реализация (стадия «Рабочий проект»).

Постановка задачи. В процессе постановки задачи четко формулируют назначение программного обеспечения и определяют основные требования к нему. Каждое требование представляет собой описание необходимого или желаемого свойства программного обеспечения.

Различают функциональные требования, определяющие функции, которые должно выполнять разрабатываемое программное обеспечение, и эксплуатационные требования, определяющие особенности его функционирования.

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

Анализ требований и определение спецификаций. Спецификациями называют точное формализованное описание функций и ограничений разрабатываемого программного обеспечения. Соответственно различают функциональные и эксплуатационные спецификации.

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

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

Проектирование. Основной задачей этого этапа является определение подробных спецификаций разрабатываемого программного обеспечения. Процесс проектирования сложного программного обеспечения обычно включает:

• проектирование общей структуры - определение основных компонентов и их взаимосвязей;

• декомпозицию компонентов и построение структурных иерархий в соответствии с рекомендациями блочно-иерархического подхода;

• проектирование компонентов.

Результатом проектирования является детальная модель разрабатываемого программного обеспечения вместе со спецификациями его компонентов всех уровней. Тип модели зависит от выбранного подхода структурный, объектный или компонентный) и конкретной технологии

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

• логическое проектирование, которое включает те проектные операции, которые непосредственно не зависят от имеющихся технических и программных средств, составляющих среду функционирования будущего программного продукта;

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

Реализация. Реализация представляет собой процесс поэтапного написания кодов программы на выбранном языке программирования (кодирование), их тестирование и отладку.

  1   2   3   4   5   6   7   8   9   ...   15


часть одноименного лекционного курса, который читается студентам специальности «
Учебный материал
© nashaucheba.ru
При копировании укажите ссылку.
обратиться к администрации